commit ae3a0ff2d1afae25ef667201d31ff59cc0b5c67d (tree)
parent b409accc9657ec1afcb6f38bbbcdc0e218244f13
Author: Benjamin Feng <benjamin.feng@glassdoor.com>
Date: Fri, 9 Apr 2021 19:17:03 -0500
_start assembly for ppc
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/lib/std/start.zig b/lib/std/start.zig
@@ -197,6 +197,16 @@ fn _start() callconv(.Naked) noreturn {
: [argc] "={sp}" (-> [*]usize)
);
},
+ .powerpc => {
+ argc_argv_ptr = asm volatile (
+ \\ mr 3, 1
+ \\ li 0, 0
+ \\ mtlr 0
+ : [argc] "={r3}" (-> [*]usize)
+ :
+ : "r0", "r3"
+ );
+ },
.powerpc64le => {
// Setup the initial stack frame and clear the back chain pointer.
// TODO: Support powerpc64 (big endian) on ELFv2.