commit 375bb5f4a1ebfc1d002e252d97077da7e1db7e4d (tree)
parent 67ee68fc9eb02b78d7a2c26c617a16f60f91012d
Author: Koakuma <koachan@protonmail.com>
Date: Sun, 17 Sep 2023 19:18:59 +0700
lib: Fix asm code in _start for SPARC
SPARCs have delayed branches, that is, it will unconditionally
run the next instruction following a branch.
Slightly reorder the _start code sequence to prevent it from
accidentally executing stray instructions, which may result in odd
program behavior.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/std/start.zig b/lib/std/start.zig
@@ -327,8 +327,8 @@ fn _start() callconv(.Naked) noreturn {
// argc is stored after a register window (16 registers) plus stack bias
\\ mov %%g0, %%i6
\\ add %%o6, 2175, %%l0
- \\ stx %%l0, %[argc_argv_ptr]
\\ ba %[posixCallMainAndExit]
+ \\ stx %%l0, %[argc_argv_ptr]
,
else => @compileError("unsupported arch"),
}