Commit b5cd47f5 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.

parent d6bd2644
......@@ -1550,7 +1550,11 @@ __ASM_GLOBAL_FUNC( RtlRaiseException,
"stp x4, x5, [x1, #0xf0]\n\t" /* context->Fp, Lr */
"str x5, [x1, #0x108]\n\t" /* context->Pc */
"str x5, [x0, #0x10]\n\t" /* rec->ExceptionAddress */
"mov x2, #1\n\t"
"ldr x3, [x18, #0x60]\n\t" /* peb */
"ldrb w2, [x3, #2]\n\t" /* peb->BeingDebugged */
"cbnz w2, 1f\n\t"
"bl " __ASM_NAME("dispatch_exception") "\n"
"1:\tmov x2, #1\n\t"
"bl " __ASM_NAME("NtRaiseException") "\n\t"
"bl " __ASM_NAME("RtlRaiseStatus") /* does not return */ );
......
......@@ -8646,7 +8646,6 @@ static void test_KiUserExceptionDispatcher(void)
pRtlRaiseException(&record);
ok(got_exception, "Handler was not called.\n");
todo_wine
ok(!hook_called, "Hook was called.\n");
memcpy( pKiUserExceptionDispatcher, patched_code, sizeof(patched_code) );
......
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