From: Paul Gofman pgofman@codeweavers.com
Fixes a regression introduced by cbcfaab5191838f8738989fcad7fcb2c490fbe98
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56053 --- dlls/wow64/syscall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/wow64/syscall.c b/dlls/wow64/syscall.c index 2af7bf75de2..588f977c9d2 100644 --- a/dlls/wow64/syscall.c +++ b/dlls/wow64/syscall.c @@ -759,6 +759,7 @@ static DWORD WINAPI process_init( RTL_RUN_ONCE *once, void *param, void **contex SYSTEM_BASIC_INFORMATION info; ULONG *p__wine_syscall_dispatcher, *p__wine_unix_call_dispatcher; const SYSTEM_SERVICE_TABLE *psdwhwin32; + TEB32 *teb32 = (TEB32 *)((char *)NtCurrentTeb() + NtCurrentTeb()->WowTebOffset);
RtlWow64GetProcessMachines( GetCurrentProcess(), ¤t_machine, &native_machine ); if (!current_machine) current_machine = native_machine; @@ -810,7 +811,7 @@ static DWORD WINAPI process_init( RTL_RUN_ONCE *once, void *param, void **contex GET_PTR( __wine_syscall_dispatcher ); GET_PTR( __wine_unix_call_dispatcher );
- *p__wine_syscall_dispatcher = PtrToUlong( pBTCpuGetBopCode() ); + teb32->WOW32Reserved = *p__wine_syscall_dispatcher = PtrToUlong( pBTCpuGetBopCode() ); *p__wine_unix_call_dispatcher = PtrToUlong( p__wine_get_unix_opcode() );
if (wow64info->CpuFlags & WOW64_CPUFLAGS_SOFTWARE) create_cross_process_work_list( wow64info );