From 7e51c731b85f15dc6898e57301c51802e43a924a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Fri, 29 May 2026 08:06:41 +0200 Subject: [PATCH] std: fix xtensa windowed ABI compliance in inline assembly --- lib/std/os/linux/xtensa.zig | 4 ++-- lib/std/start.zig | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/std/os/linux/xtensa.zig b/lib/std/os/linux/xtensa.zig index 7a4c065c7328fc48fdd64e512e5471f7a3dbf7e8..a54c8f13d2040cff3d31a3426f812258df1faece 100644 --- a/lib/std/os/linux/xtensa.zig +++ b/lib/std/os/linux/xtensa.zig @@ -141,8 +141,8 @@ pub fn clone() callconv(.naked) u32 { \\ movi a7, 0 \\ movi a0, 0 \\ - \\ mov a2, a10 - \\ callx0 a9 + \\ mov a6, a10 + \\ callx4 a9 \\ movi a2, 118 // SYS_exit \\ syscall ); diff --git a/lib/std/start.zig b/lib/std/start.zig index e8478384d52c25568598deddabe8f99c712c219b..b3c192216fe1cf1b3e124c71ebcbc4dd37cf0c80 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -491,10 +491,10 @@ fn _start() callconv(.naked) noreturn { // a0 = LR, a7 = FP, a1 = SP \\ movi a0, 0 \\ movi a7, 0 - \\ mov a2, sp + \\ mov a6, sp \\ movi a8, -16 \\ and sp, sp, a8 - \\ callx0 %[posixCallMainAndExit] + \\ call4 %[posixCallMainAndExit] , else => @compileError("unsupported arch"), } -- 2.54.0