From ee0b909f878ae56cd24025336ba9f6e7ef445697 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 18 May 2021 10:24:28 +0200 Subject: [PATCH] ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms. Signed-off-by: Alexandre Julliard --- 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;