Alexandre Julliard : ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms.

Alexandre Julliard julliard at winehq.org
Tue May 18 15:42:37 CDT 2021


Module: wine
Branch: master
Commit: ee0b909f878ae56cd24025336ba9f6e7ef445697
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ee0b909f878ae56cd24025336ba9f6e7ef445697

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue May 18 10:24:28 2021 +0200

ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/ntdll.spec      |  4 ++--
 dlls/ntdll/process.c       | 18 ++++++++++++++++++
 dlls/ntdll/signal_x86_64.c | 18 ------------------
 dlls/ntdll/unix/thread.c   |  4 ++--
 4 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 06ca3d3957c..f05e9c39a88 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -1073,9 +1073,9 @@
 @ stdcall -arch=win64 RtlWow64GetCpuAreaInfo(ptr long ptr)
 @ stdcall RtlWow64GetCurrentMachine()
 @ stdcall RtlWow64GetProcessMachines(long ptr ptr)
-@ stdcall -arch=x86_64 RtlWow64GetThreadContext(long ptr)
+@ stdcall -arch=win64 RtlWow64GetThreadContext(long ptr)
 @ stdcall RtlWow64IsWowGuestMachineSupported(long ptr)
-@ stdcall -arch=x86_64 RtlWow64SetThreadContext(long ptr)
+@ stdcall -arch=win64 RtlWow64SetThreadContext(long ptr)
 @ stub RtlWriteMemoryStream
 @ stdcall RtlWriteRegistryValue(long ptr ptr long ptr long)
 @ stub RtlZeroHeap
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index 82b1b69c4ea..3ed31e22100 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -142,6 +142,24 @@ NTSTATUS WINAPI RtlWow64GetCpuAreaInfo( WOW64_CPURESERVED *cpu, ULONG reserved,
     return STATUS_INVALID_PARAMETER;
 }
 
+
+/******************************************************************************
+ *              RtlWow64GetThreadContext  (NTDLL.@)
+ */
+NTSTATUS WINAPI RtlWow64GetThreadContext( HANDLE handle, WOW64_CONTEXT *context )
+{
+    return NtQueryInformationThread( handle, ThreadWow64Context, context, sizeof(*context), NULL );
+}
+
+
+/******************************************************************************
+ *              RtlWow64SetThreadContext  (NTDLL.@)
+ */
+NTSTATUS WINAPI RtlWow64SetThreadContext( HANDLE handle, const WOW64_CONTEXT *context )
+{
+    return NtSetInformationThread( handle, ThreadWow64Context, context, sizeof(*context) );
+}
+
 #endif
 
 /**********************************************************************
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 0396433cb32..55975093174 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -343,24 +343,6 @@ __ASM_GLOBAL_FUNC( RtlCaptureContext,
                    "fxsave 0x100(%rcx)\n\t"         /* context->FltSave */
                    "ret" );
 
-/******************************************************************************
- *              RtlWow64GetThreadContext  (NTDLL.@)
- */
-NTSTATUS WINAPI RtlWow64GetThreadContext( HANDLE handle, WOW64_CONTEXT *context )
-{
-    return NtQueryInformationThread( handle, ThreadWow64Context, context, sizeof(*context), NULL );
-}
-
-
-/******************************************************************************
- *              RtlWow64SetThreadContext  (NTDLL.@)
- */
-NTSTATUS WINAPI RtlWow64SetThreadContext( HANDLE handle, const WOW64_CONTEXT *context )
-{
-    return NtSetInformationThread( handle, ThreadWow64Context, context, sizeof(*context) );
-}
-
-
 static DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
                                                CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
 {
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
index 639031059c6..d8fd0767da8 100644
--- a/dlls/ntdll/unix/thread.c
+++ b/dlls/ntdll/unix/thread.c
@@ -1666,7 +1666,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
 
     case ThreadWow64Context:
     {
-#ifdef __x86_64__
+#ifdef _WIN64
         BOOL self;
         WOW64_CONTEXT *context = data;
 
@@ -1861,7 +1861,7 @@ NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class,
 
     case ThreadWow64Context:
     {
-#ifdef __x86_64__
+#ifdef _WIN64
         BOOL self;
         const WOW64_CONTEXT *context = data;
 




More information about the wine-cvs mailing list