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
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 */
failure of linux32 pipeline is ``` msg.c:19191: Test succeeded inside todo block: WaitForSingleObject failed, ret:0 msg.c:19215: Test succeeded inside todo block: wrong status 00000000 ``` which is a known sporadic failure (see https://bugs.winehq.org//show_bug.cgi?id=54037)
closing (Alexandre committed a more extended version)
This merge request was closed by eric pouech.