authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-29 08:06:41+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-29 08:12:41+02:00
log7e51c731b85f15dc6898e57301c51802e43a924a
tree878dc9f654463c899d79cd3ec97f1a30069fab0b
parent0c6c63c116b54050ac6fbb07a4748d908f574ba9
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std: fix xtensa windowed ABI compliance in inline assembly


2 files changed, 4 insertions(+), 4 deletions(-)

lib/std/os/linux/xtensa.zig+2-2
...@@ -141,8 +141,8 @@ pub fn clone() callconv(.naked) u32 {...@@ -141,8 +141,8 @@ pub fn clone() callconv(.naked) u32 {
141 \\ movi a7, 0141 \\ movi a7, 0
142 \\ movi a0, 0142 \\ movi a0, 0
143 \\143 \\
144 \\ mov a2, a10144 \\ mov a6, a10
145 \\ callx0 a9145 \\ callx4 a9
146 \\ movi a2, 118 // SYS_exit146 \\ movi a2, 118 // SYS_exit
147 \\ syscall147 \\ syscall
148 );148 );
lib/std/start.zig+2-2
...@@ -491,10 +491,10 @@ fn _start() callconv(.naked) noreturn {...@@ -491,10 +491,10 @@ fn _start() callconv(.naked) noreturn {
491 // a0 = LR, a7 = FP, a1 = SP491 // a0 = LR, a7 = FP, a1 = SP
492 \\ movi a0, 0492 \\ movi a0, 0
493 \\ movi a7, 0493 \\ movi a7, 0
494 \\ mov a2, sp494 \\ mov a6, sp
495 \\ movi a8, -16495 \\ movi a8, -16
496 \\ and sp, sp, a8496 \\ and sp, sp, a8
497 \\ callx0 %[posixCallMainAndExit]497 \\ call4 %[posixCallMainAndExit]
498 ,498 ,
499 else => @compileError("unsupported arch"),499 else => @compileError("unsupported arch"),
500 }500 }