Martin Storsjö : ntdll: Don't blindly increment Sp by 8 in leaf functions on arm64.

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


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

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

ntdll: Don't blindly increment Sp by 8 in leaf functions on arm64.

This doesn't fix (or break) any case known to me, but the code seems
wrong.

Leaf functions on arm (either 32 or 64) don't generally have any
default/implicit stack allocation.

Signed-off-by: Martin Storsjö <martin at martin.st>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/unix/signal_arm64.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
index 50939125846..a52e9bccc49 100644
--- a/dlls/ntdll/unix/signal_arm64.c
+++ b/dlls/ntdll/unix/signal_arm64.c
@@ -224,7 +224,6 @@ NTSTATUS CDECL unwind_builtin_dll( ULONG type, DISPATCHER_CONTEXT *dispatch, CON
         dispatch->LanguageHandler = NULL;
         dispatch->EstablisherFrame = context->Sp;
         context->Pc = context->u.s.Lr;
-        context->Sp = context->Sp + sizeof(ULONG64);
         context->ContextFlags |= CONTEXT_UNWOUND_TO_CALL;
         return STATUS_SUCCESS;
     }




More information about the wine-cvs mailing list