[PATCH 0/1] MR2157: ntdll/unix: Init the trap handler.
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(a)gmail.com> -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2157
From: Eric Pouech <eric.pouech(a)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(a)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 */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2157
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) -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2157#note_23890
closing (Alexandre committed a more extended version) -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2157#note_26858
This merge request was closed by eric pouech. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2157
participants (2)
-
Eric Pouech -
eric pouech (@epo)