diff options
Diffstat (limited to 'lib/std/start.zig')
| -rw-r--r-- | lib/std/start.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig index c975c888af..2a072832bb 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -406,6 +406,13 @@ fn _start() callconv(.Naked) noreturn { \\ stg %%r0, 0(%%r15) \\ jg %[posixCallMainAndExit] , + .sparc => + // argc is stored after a register window (16 registers * 4 bytes). + \\ mov %%g0, %%fp + \\ add %%sp, 64, %%o0 + \\ and %%sp, -8, %%sp + \\ ba,a %[posixCallMainAndExit] + , .sparc64 => // argc is stored after a register window (16 registers * 8 bytes) plus the stack bias // (2047 bytes). |
