From ee6bfa357a056d26096ddc9064a85a45e84ce5d1 Mon Sep 17 00:00:00 2001 From: Sven/Sarah Barth Date: Sun, 10 Nov 2024 15:12:22 +0100 Subject: [PATCH] * don't restore SP if we hadn't stored it originally --- compiler/aarch64/cgcpu.pas | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/aarch64/cgcpu.pas b/compiler/aarch64/cgcpu.pas index 207c35c8a6..ad18f5c660 100644 --- a/compiler/aarch64/cgcpu.pas +++ b/compiler/aarch64/cgcpu.pas @@ -2177,6 +2177,7 @@ implementation begin handle_reg_imm12_reg(list,A_ADD,OS_ADDR,current_procinfo.framepointer,current_procinfo.final_localsize, current_procinfo.framepointer,NR_IP0,false,true); + if not (pi_no_framepointer_needed in current_procinfo.flags) then a_load_reg_reg(list,OS_ADDR,OS_ADDR,NR_FP,NR_SP); end else if pi_no_framepointer_needed in current_procinfo.flags then