Alexandre Julliard : ntdll: Don't handle breakpoint interrupts in Wow64 mode.
Alexandre Julliard
julliard at winehq.org
Fri Aug 20 16:12:54 CDT 2021
Module: wine
Branch: master
Commit: 2736fabc585b89328ae64dafaafabd262d2f200b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=2736fabc585b89328ae64dafaafabd262d2f200b
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Aug 20 11:33:32 2021 +0200
ntdll: Don't handle breakpoint interrupts in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 2d55bd006c7..f541306d950 100644
--- a/dlls/ntdll/unix/signal_x86_64.c
+++ b/dlls/ntdll/unix/signal_x86_64.c
@@ -2436,8 +2436,10 @@ static inline BOOL handle_interrupt( ucontext_t *sigcontext, EXCEPTION_RECORD *r
rec->ExceptionCode = STATUS_ASSERTION_FAILURE;
break;
case 0x2d:
- switch (context->Rax)
+ if (CS_sig(sigcontext) == cs64_sel)
{
+ switch (context->Rax)
+ {
case 1: /* BREAKPOINT_PRINT */
case 3: /* BREAKPOINT_LOAD_SYMBOLS */
case 4: /* BREAKPOINT_UNLOAD_SYMBOLS */
@@ -2445,6 +2447,7 @@ static inline BOOL handle_interrupt( ucontext_t *sigcontext, EXCEPTION_RECORD *r
RIP_sig(sigcontext) += 3;
leave_handler( sigcontext );
return TRUE;
+ }
}
context->Rip += 3;
rec->ExceptionCode = EXCEPTION_BREAKPOINT;
More information about the wine-cvs
mailing list