From ae3a0ff2d1afae25ef667201d31ff59cc0b5c67d Mon Sep 17 00:00:00 2001 From: Benjamin Feng Date: Fri, 9 Apr 2021 19:17:03 -0500 Subject: _start assembly for ppc --- lib/std/start.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/std/start.zig') diff --git a/lib/std/start.zig b/lib/std/start.zig index 5454cc58c6..261b355c34 100644 --- 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. -- cgit v1.2.3