[PATCH 12/18] ntdll: Save context->Lr in the arm version of RtlRaiseException.

Martin Storsjö martin at martin.st
Tue Nov 9 08:05:49 CST 2021


RtlCaptureContext doesn't set context->Lr, which is needed for
being able to unwind from the context.

This matches what is done in the arm64 version.

Signed-off-by: Martin Storsjö <martin at martin.st>
---
 dlls/ntdll/signal_arm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
index 27e27deabfe..3bf8e19e126 100644
--- a/dlls/ntdll/signal_arm.c
+++ b/dlls/ntdll/signal_arm.c
@@ -811,6 +811,7 @@ __ASM_STDCALL_FUNC( RtlRaiseException, 4,
                     "bl " __ASM_NAME("RtlCaptureContext") "\n\t"
                     "ldr r0, [sp, #0x1a0]\n\t" /* rec */
                     "ldr r1, [sp, #0x1a4]\n\t"
+                    "str r1, [sp, #0x3c]\n\t"  /* context->Lr */
                     "str r1, [sp, #0x40]\n\t"  /* context->Pc */
                     "mrs r2, CPSR\n\t"
                     "bfi r2, r1, #5, #1\n\t"   /* Thumb bit */
-- 
2.25.1




More information about the wine-devel mailing list