Author: tkreuzer Date: Sat May 10 14:16:11 2014 New Revision: 63219
URL: http://svn.reactos.org/svn/reactos?rev=63219&view=rev Log: [MSVCRT] Fix export of __uncaught_exception [MSHTML] Add x64 asm wrappers
Modified: trunk/reactos/dll/win32/mshtml/msvc.S trunk/reactos/dll/win32/msvcrt/msvcrt.spec
Modified: trunk/reactos/dll/win32/mshtml/msvc.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mshtml/msvc.S?rev... ============================================================================== --- trunk/reactos/dll/win32/mshtml/msvc.S [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mshtml/msvc.S [iso-8859-1] Sat May 10 14:16:11 2014 @@ -4,13 +4,23 @@ .code
MACRO(DEFINE_WRAPPER_FUNC, n, off, x) +#ifdef _M_IX86 PUBLIC _wrapper_func_&n& _wrapper_func_&n&: -mov eax, [esp+4] -mov eax, [eax+4] -mov [esp+4], eax -mov eax, [eax] -jmp dword ptr [eax+off] + mov eax, [esp+4] + mov eax, [eax+4] + mov [esp+4], eax + mov eax, [eax] + jmp dword ptr [eax+off] +#elif defined(_M_AMD64) +PUBLIC wrapper_func_&n& +wrapper_func_&n&: + mov rcx, [rcx+4] + mov rax, [rcx] + jmp qword ptr [rax+off] +#else +#error Unimplemented +#endif ENDM
DEFINE_WRAPPER_FUNC 3, 12, 24
Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/msvcrt.spe... ============================================================================== --- trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] Sat May 10 14:16:11 2014 @@ -73,7 +73,7 @@ # @ cdecl ??_U@YAPAXIHPBDH@Z(long long str long) MSVCRT_operator_new_dbg @ cdecl -arch=win32 ??_V@YAXPAX@Z(ptr) MSVCRT_operator_delete @ cdecl -arch=win64 ??_V@YAXPEAX@Z(ptr) MSVCRT_operator_delete -@ cdecl -arch=win64 -norelay __uncaught_exception(ptr) +@ cdecl -norelay __uncaught_exception(ptr) @ cdecl -arch=win32 -norelay ?_query_new_handler@@YAP6AHI@ZXZ() MSVCRT__query_new_handler @ cdecl -arch=win64 -norelay ?_query_new_handler@@YAP6AH_K@ZXZ() MSVCRT__query_new_handler @ cdecl ?_query_new_mode@@YAHXZ() MSVCRT__query_new_mode @@ -256,7 +256,6 @@ @ cdecl __threadhandle() kernel32.GetCurrentThread @ cdecl __threadid() kernel32.GetCurrentThreadId @ cdecl __toascii(long) -@ cdecl __uncaught_exception() @ cdecl __unDName(ptr str long ptr ptr long) @ cdecl __unDNameEx(ptr str long ptr ptr ptr long) @ extern __unguarded_readlc_active