From 142209444a52c5c44b19a984f25376173027da7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Mon, 22 Jul 2024 11:55:30 +0200 Subject: [PATCH] start: Pass _start() into its own inline asm as an operand. --- lib/std/start.zig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/std/start.zig b/lib/std/start.zig index e0f99b4762..d927f74517 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -340,8 +340,8 @@ fn _start() callconv(.Naked) noreturn { , .powerpc64, .powerpc64le => // Setup the initial stack frame and clear the back chain pointer. - \\ addis 2, 12, .TOC. - _start@ha - \\ addi 2, 2, .TOC. - _start@l + \\ addis 2, 12, .TOC. - %[_start]@ha + \\ addi 2, 2, .TOC. - %[_start]@l \\ mr 3, 1 \\ clrrdi 1, 1, 4 \\ li 0, 0 @@ -359,7 +359,8 @@ fn _start() callconv(.Naked) noreturn { else => @compileError("unsupported arch"), } : - : [posixCallMainAndExit] "X" (&posixCallMainAndExit), + : [_start] "X" (_start), + [posixCallMainAndExit] "X" (&posixCallMainAndExit), ); }