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