Module: wine Branch: master Commit: d09501691e92a555cf1e229dacdd0121e2b18163 URL: https://gitlab.winehq.org/wine/wine/-/commit/d09501691e92a555cf1e229dacdd012...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Mar 21 18:14:27 2024 +0100
wow64: Always use a .seh handler in cpu_simulate().
---
dlls/wow64/syscall.c | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-)
diff --git a/dlls/wow64/syscall.c b/dlls/wow64/syscall.c index 2314e2973d8..298345e77e0 100644 --- a/dlls/wow64/syscall.c +++ b/dlls/wow64/syscall.c @@ -999,8 +999,7 @@ __ASM_GLOBAL_FUNC( cpu_simulate_handler, "mov x19, x2\n\t" /* record */ "bl RtlUnwind\n\t" "brk #1" ) - -#elif defined __WINE_PE_BUILD +#else extern void DECLSPEC_NORETURN cpu_simulate( void (*func)(void) ); __ASM_GLOBAL_FUNC( cpu_simulate, "subq $0x28, %rsp\n\t" @@ -1026,28 +1025,6 @@ __ASM_GLOBAL_FUNC( cpu_simulate_handler, "movq %rsi,%r8\n\t" /* record */ "call RtlUnwind\n\t" "int3" ) -#else -static LONG CALLBACK simulate_filter( EXCEPTION_POINTERS *ptrs ) -{ - Wow64PassExceptionToGuest( ptrs ); - return EXCEPTION_EXECUTE_HANDLER; -} - -static void cpu_simulate( void (*func)(void) ) -{ - for (;;) - { - __TRY - { - func(); - } - __EXCEPT( simulate_filter ) - { - /* restart simulation loop */ - } - __ENDTRY - } -} #endif