From: Eric Pouech eric.pouech@gmail.com
Otherwise we get nested exceptions on linux on any breakpoint in a multi-arch wow64 (AMD64) configuration, running a 32bit debuggee.
With this patch, winetest kernel32:debugger runs to the end (it times out without), yet spitting a couple of failures (that don't exist in old wow64 configuration).
Signed-off-by: Eric Pouech eric.pouech@gmail.com --- dlls/ntdll/unix/signal_x86_64.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c index 54babc7d964..a94950df0f4 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c @@ -1923,7 +1923,10 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, EXCEPTION_RECORD *rec, */ static BOOL handle_syscall_trap( ucontext_t *sigcontext ) { - struct syscall_frame *frame = amd64_thread_data()->syscall_frame; + struct syscall_frame *frame; + + init_handler( sigcontext ); + frame = amd64_thread_data()->syscall_frame;
/* disallow single-stepping through a syscall */