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?r…
==============================================================================
--- 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/…
==============================================================================
--- 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/…
==============================================================================
--- 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/kernel3…
==============================================================================
--- 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=…
==============================================================================
--- 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;
+}
+