kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

commit 669ab15f39b2b7a16c9dd7f77b0acfa4fc3ec1a0
parent 237cb382308ff6b9e1df5c0fe50c11f67469ad83
Author: Ryan Sepassi <rsepassi@gmail.com>
Date:   Thu, 28 May 2026 19:16:48 -0700

Fix AArch64 O1 va_start save area offsets

Diffstat:
Msrc/arch/aa64/native.c | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/arch/aa64/native.c b/src/arch/aa64/native.c @@ -3843,11 +3843,13 @@ static void aa_va_start_core(AANativeTarget* a, NativeAddr ap) { aa_emit_mem(a, 0, ptr, aa_reg_addr(ptr.type, base, (i32)vai.stack_offset), ptr_mem); aa_emit_add_imm(a, AA_TMP0, AA_FP, - -(i32)gr->off + (i32)(vai.gp_reg_count * vai.gp_slot_size)); + aa_fp_off_slot(a, gr->off) + + (i32)(vai.gp_reg_count * vai.gp_slot_size)); aa_emit_mem(a, 0, ptr, aa_reg_addr(ptr.type, base, (i32)vai.gr_top_offset), ptr_mem); aa_emit_add_imm(a, AA_TMP0, AA_FP, - -(i32)vr->off + (i32)(vai.fp_reg_count * vai.fp_slot_size)); + aa_fp_off_slot(a, vr->off) + + (i32)(vai.fp_reg_count * vai.fp_slot_size)); aa_emit_mem(a, 0, ptr, aa_reg_addr(ptr.type, base, (i32)vai.vr_top_offset), ptr_mem); aa_emit_load_imm(t->mc, 0, AA_TMP1,