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