aboutsummaryrefslogtreecommitdiff
path: root/lib/std/start.zig
diff options
context:
space:
mode:
authorKoakuma <koachan@protonmail.com>2020-08-22 16:30:17 +0700
committerKoakuma <koachan@protonmail.com>2020-10-24 20:01:29 +0700
commitc29da84c0e0793683904a32deb8a7eff1ba98b54 (patch)
tree1165a72bd7d963eb160df468d5ca2d6bf366acd0 /lib/std/start.zig
parent23433fb3172597b10d57d9dda49fcd0d13950fb4 (diff)
downloadzig-c29da84c0e0793683904a32deb8a7eff1ba98b54.tar.gz
zig-c29da84c0e0793683904a32deb8a7eff1ba98b54.zip
Add sp loading
Diffstat (limited to 'lib/std/start.zig')
-rw-r--r--lib/std/start.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig
index 47164a0820..dae8251d9a 100644
--- a/lib/std/start.zig
+++ b/lib/std/start.zig
@@ -147,6 +147,11 @@ fn _start() callconv(.Naked) noreturn {
: "r0"
);
},
+ .sparcv9 => {
+ starting_stack_ptr = asm (""
+ : [argc] "={o6}" (-> [*]usize)
+ );
+ },
else => @compileError("unsupported arch"),
}
// If LLVM inlines stack variables into _start, they will overwrite