Martin Storsjö : ntdll: Save context->Lr in the arm version of RtlRaiseException.

Alexandre Julliard julliard at winehq.org
Tue Nov 9 15:55:08 CST 2021


Module: wine
Branch: master
Commit: 611911ca05e5f29f7f2bf45f8144bcd89e77136f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=611911ca05e5f29f7f2bf45f8144bcd89e77136f

Author: Martin Storsjö <martin at martin.st>
Date:   Tue Nov  9 16:05:49 2021 +0200

ntdll: Save context->Lr in the arm version of RtlRaiseException.

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>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 */




More information about the wine-cvs mailing list