Author: sserapion Date: Sun Dec 28 08:26:21 2008 New Revision: 38425
URL: http://svn.reactos.org/svn/reactos?rev=38425&view=rev Log: Fixed a pointer truncation for 64-bit platform.
Modified: branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cpp.c
Modified: branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cpp.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/sd... ============================================================================== --- branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cpp.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cpp.c [iso-8859-1] Sun Dec 28 08:26:21 2008 @@ -631,6 +631,21 @@ }
/* vtables */ +#ifdef _WIN64 + +#define __ASM_VTABLE(name,funcs) \ + __asm__(".data\n" \ + "\t.align 8\n" \ + "\t.quad " __ASM_NAME(#name "_rtti") "\n" \ + "\t.globl " __ASM_NAME("MSVCRT_" #name "_vtable") "\n" \ + __ASM_NAME("MSVCRT_" #name "_vtable") ":\n" \ + "\t.quad " THISCALL_NAME(MSVCRT_ ## name ## _vector_dtor) "\n" \ + funcs "\n\t.text"); + +#define __ASM_EXCEPTION_VTABLE(name) \ + __ASM_VTABLE(name, "\t.quad " THISCALL_NAME(MSVCRT_what_exception) ) + +#else
#define __ASM_VTABLE(name,funcs) \ __asm__(".data\n" \ @@ -643,6 +658,8 @@
#define __ASM_EXCEPTION_VTABLE(name) \ __ASM_VTABLE(name, "\t.long " THISCALL_NAME(MSVCRT_what_exception) ) + +#endif /* _WIN64 */
#ifndef __GNUC__ void __asm_dummy_vtables(void) {