diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-07-22 11:55:30 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2024-07-22 14:39:53 +0200 |
| commit | 142209444a52c5c44b19a984f25376173027da7e (patch) | |
| tree | 810915bd02e1cb3bdaccdb37712ade78a60c382e /lib/std/start.zig | |
| parent | 1fc42ed3e7ca0b74b54aaa827276d995d6c7c6cd (diff) | |
| download | zig-142209444a52c5c44b19a984f25376173027da7e.tar.gz zig-142209444a52c5c44b19a984f25376173027da7e.zip | |
start: Pass _start() into its own inline asm as an operand.
Diffstat (limited to 'lib/std/start.zig')
| -rw-r--r-- | lib/std/start.zig | 7 |
1 files 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), ); } |
