diff options
| author | Koakuma <koachan@protonmail.com> | 2023-09-17 19:18:59 +0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-10-12 16:13:32 -0700 |
| commit | 375bb5f4a1ebfc1d002e252d97077da7e1db7e4d (patch) | |
| tree | e216296d7a47dd4c53117a96abac506f844bba43 /lib/std | |
| parent | 67ee68fc9eb02b78d7a2c26c617a16f60f91012d (diff) | |
| download | zig-375bb5f4a1ebfc1d002e252d97077da7e1db7e4d.tar.gz zig-375bb5f4a1ebfc1d002e252d97077da7e1db7e4d.zip | |
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 (limited to 'lib/std')
| -rw-r--r-- | lib/std/start.zig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig index 36379960a4..63675c1074 100644 --- 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"), } |
