authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-22 01:23:04+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-22 01:23:04+02:00
log81232f7c91ca8e0969e9d3f92cc11caeedc017d0
tree64d8e02ccc59696d0b683d31ade3d89fd7251d69
parent7bc78967b400322a0fc5651f37a1b0428c37fb9d
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

start: Add clrrdi to align the stack pointer on powerpc64.


1 files changed, 1 insertions(+), 1 deletions(-)

lib/std/start.zig+1-1
...@@ -340,10 +340,10 @@ fn _start() callconv(.Naked) noreturn {...@@ -340,10 +340,10 @@ fn _start() callconv(.Naked) noreturn {
340 ,340 ,
341 .powerpc64, .powerpc64le =>341 .powerpc64, .powerpc64le =>
342 // Setup the initial stack frame and clear the back chain pointer.342 // Setup the initial stack frame and clear the back chain pointer.
343 // TODO: Support powerpc64 (big endian) on ELFv2.
344 \\ addis 2, 12, .TOC. - _start@ha343 \\ addis 2, 12, .TOC. - _start@ha
345 \\ addi 2, 2, .TOC. - _start@l344 \\ addi 2, 2, .TOC. - _start@l
346 \\ mr 3, 1345 \\ mr 3, 1
346 \\ clrrdi 1, 1, 4
347 \\ li 0, 0347 \\ li 0, 0
348 \\ stdu 0, -32(1)348 \\ stdu 0, -32(1)
349 \\ mtlr 0349 \\ mtlr 0