authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-24 17:36:15+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-07-24 20:12:14+02:00
log58e38ff1f82b19ee529f0f5abe74a2c03c204dfe
tree4ac604e280556767258296f7d4c3d2c4ae112b20
parent5c96192c196c3a43f43de26c8256ed9a784f5140
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

start: Add a comment explaining the sparc64 stack bias.


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

lib/std/start.zig+2-1
...@@ -379,7 +379,8 @@ fn _start() callconv(.Naked) noreturn {...@@ -379,7 +379,8 @@ fn _start() callconv(.Naked) noreturn {
379 \\ jg %[posixCallMainAndExit]379 \\ jg %[posixCallMainAndExit]
380 ,380 ,
381 .sparc64 =>381 .sparc64 =>
382 // argc is stored after a register window (16 registers) plus stack bias382 // argc is stored after a register window (16 registers * 8 bytes) plus the stack bias
383 // (2047 bytes).
383 \\ mov %%g0, %%i6384 \\ mov %%g0, %%i6
384 \\ add %%o6, 2175, %%l0385 \\ add %%o6, 2175, %%l0
385 \\ mov %%l0, %%o0386 \\ mov %%l0, %%o0