Commit 2736fabc authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Don't handle breakpoint interrupts in Wow64 mode.

parent 8a888934
...@@ -2436,8 +2436,10 @@ static inline BOOL handle_interrupt( ucontext_t *sigcontext, EXCEPTION_RECORD *r ...@@ -2436,8 +2436,10 @@ static inline BOOL handle_interrupt( ucontext_t *sigcontext, EXCEPTION_RECORD *r
rec->ExceptionCode = STATUS_ASSERTION_FAILURE; rec->ExceptionCode = STATUS_ASSERTION_FAILURE;
break; break;
case 0x2d: case 0x2d:
switch (context->Rax) if (CS_sig(sigcontext) == cs64_sel)
{ {
switch (context->Rax)
{
case 1: /* BREAKPOINT_PRINT */ case 1: /* BREAKPOINT_PRINT */
case 3: /* BREAKPOINT_LOAD_SYMBOLS */ case 3: /* BREAKPOINT_LOAD_SYMBOLS */
case 4: /* BREAKPOINT_UNLOAD_SYMBOLS */ case 4: /* BREAKPOINT_UNLOAD_SYMBOLS */
...@@ -2445,6 +2447,7 @@ static inline BOOL handle_interrupt( ucontext_t *sigcontext, EXCEPTION_RECORD *r ...@@ -2445,6 +2447,7 @@ static inline BOOL handle_interrupt( ucontext_t *sigcontext, EXCEPTION_RECORD *r
RIP_sig(sigcontext) += 3; RIP_sig(sigcontext) += 3;
leave_handler( sigcontext ); leave_handler( sigcontext );
return TRUE; return TRUE;
}
} }
context->Rip += 3; context->Rip += 3;
rec->ExceptionCode = EXCEPTION_BREAKPOINT; rec->ExceptionCode = EXCEPTION_BREAKPOINT;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment