Author: tkreuzer Date: Sat Aug 20 19:04:55 2011 New Revision: 53343
URL: http://svn.reactos.org/svn/reactos?rev=53343&view=rev Log: [NTDLL] - Add exports for RtlInstallFunctionTableCallback and RtlRestoreContext (amd64 only) [KERNEL32] - Forward RtlCompareMemory, RtlCopyMemory, RtlDeleteFunctionTable and RtlInstallFunctionTableCallback to ntdll - Fix build with MSVC amd64
Modified: trunk/reactos/dll/ntdll/def/ntdll.spec trunk/reactos/dll/win32/kernel32/client/amd64/fiber.S trunk/reactos/dll/win32/kernel32/client/amd64/thread.S trunk/reactos/dll/win32/kernel32/kernel32.spec trunk/reactos/lib/rtl/amd64/stubs.c
Modified: trunk/reactos/dll/ntdll/def/ntdll.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/def/ntdll.spec?re... ============================================================================== --- trunk/reactos/dll/ntdll/def/ntdll.spec [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/def/ntdll.spec [iso-8859-1] Sat Aug 20 19:04:55 2011 @@ -721,6 +721,7 @@ ;@ stdcall RtlInitializeStackTraceDataBase ; 5.1 SP2 and SP3, and 5.2 only @ stdcall RtlInsertElementGenericTable(ptr ptr long ptr) @ stdcall RtlInsertElementGenericTableAvl(ptr ptr long ptr) +@ stdcall -arch=x86_64 RtlInstallFunctionTableCallback(double double long ptr ptr ptr) @ stdcall RtlInt64ToUnicodeString(double long ptr) @ stdcall RtlIntegerToChar(long long long ptr) @ stdcall RtlIntegerToUnicodeString(long long ptr) @@ -855,6 +856,7 @@ @ stdcall RtlRemoveVectoredContinueHandler(ptr) @ stdcall RtlRemoveVectoredExceptionHandler(ptr) @ stdcall RtlResetRtlTranslations(ptr) +@ stdcall -arch=x86_64 RtlRestoreContext(ptr ptr) @ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error ;@ stdcall RtlRevertMemoryStream @ stdcall RtlRunDecodeUnicodeString(long ptr)
Modified: trunk/reactos/dll/win32/kernel32/client/amd64/fiber.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/a... ============================================================================== --- trunk/reactos/dll/win32/kernel32/client/amd64/fiber.S [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/amd64/fiber.S [iso-8859-1] Sat Aug 20 19:04:55 2011 @@ -8,20 +8,25 @@
#include <asm.inc>
+.code64 + PUBLIC BaseFiberStartup -.PROC BaseFiberStartup +FUNC BaseFiberStartup + .ENDPROLOG UNIMPLEMENTED BaseFiberStartup /* FIXME: TODO */ ret
-.ENDP BaseFiberStartup +ENDFUNC BaseFiberStartup
PUBLIC SwitchToFiber
-SwitchToFiber: +FUNC SwitchToFiber + .ENDPROLOG UNIMPLEMENTED BaseFiberStartup /* FIXME: TODO */ ret +ENDFUNC SwitchToFiber
END
Modified: trunk/reactos/dll/win32/kernel32/client/amd64/thread.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/a... ============================================================================== --- trunk/reactos/dll/win32/kernel32/client/amd64/thread.S [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/amd64/thread.S [iso-8859-1] Sat Aug 20 19:04:55 2011 @@ -7,16 +7,19 @@ */
#include <asm.inc> +.code64
+EXTERN BaseThreadStartup:PROC +EXTERN BaseProcessStartup:PROC
PUBLIC BaseThreadStartupThunk PUBLIC BaseProcessStartThunk
BaseThreadStartupThunk: - + /* Start out fresh */ xor rbp, rbp - + push rbx /* lpParameter */ push rax /* lpStartAddress */ push 0 /* Return RIP */ @@ -26,7 +29,7 @@
/* Start out fresh */ xor rbp, rbp - + push rax /* lpStartAddress */ push 0 /* Return RIP */ jmp BaseProcessStartup
Modified: trunk/reactos/dll/win32/kernel32/kernel32.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel32... ============================================================================== --- trunk/reactos/dll/win32/kernel32/kernel32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/kernel32.spec [iso-8859-1] Sat Aug 20 19:04:55 2011 @@ -974,11 +974,11 @@ @ stdcall lstrlenA(str) @ stdcall lstrlenW(wstr)
-@ cdecl -arch=x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable -@ stdcall -arch=x86_64 RtlCompareMemory(ptr ptr ptr) -@ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr ptr) -@ stdcall -arch=x86_64 RtlDeleteFunctionTable(ptr) -@ stdcall -arch=x86_64 RtlInstallFunctionTableCallback(double double long ptr ptr ptr) +@ stdcall -arch=x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable +@ stdcall -arch=x86_64 RtlCompareMemory(ptr ptr ptr) ntdll.RtlCompareMemory +@ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr ptr) ntdll.memcpy +@ stdcall -arch=x86_64 RtlDeleteFunctionTable(ptr) ntdll.RtlDeleteFunctionTable +@ stdcall -arch=x86_64 RtlInstallFunctionTableCallback(double double long ptr ptr ptr) ntdll.RtlInstallFunctionTableCallback @ stdcall -arch=x86_64 RtlLookupFunctionEntry(ptr ptr ptr) ntdll.RtlLookupFunctionEntry @ stdcall -arch=x86_64 RtlPcToFileHeader(ptr ptr) ntdll.RtlPcToFileHeader @ stdcall -arch=x86_64 RtlRaiseException(ptr) ntdll.RtlRaiseException
Modified: trunk/reactos/lib/rtl/amd64/stubs.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/amd64/stubs.c?rev=5... ============================================================================== --- trunk/reactos/lib/rtl/amd64/stubs.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/amd64/stubs.c [iso-8859-1] Sat Aug 20 19:04:55 2011 @@ -51,3 +51,27 @@ UNIMPLEMENTED; return FALSE; } + +NTSYSAPI +VOID +RtlRestoreContext( + PCONTEXT ContextRecord, + PEXCEPTION_RECORD ExceptionRecord) +{ + UNIMPLEMENTED; +} + +NTSYSAPI +BOOLEAN +RtlInstallFunctionTableCallback( + DWORD64 TableIdentifier, + DWORD64 BaseAddress, + DWORD Length, + PGET_RUNTIME_FUNCTION_CALLBACK Callback, + PVOID Context, + PCWSTR OutOfProcessCallbackDll) +{ + UNIMPLREMENTED; + return FALSE; +} +