aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-07-24 17:36:15 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2024-07-24 20:12:14 +0200
commit58e38ff1f82b19ee529f0f5abe74a2c03c204dfe (patch)
tree4ac604e280556767258296f7d4c3d2c4ae112b20 /lib
parent5c96192c196c3a43f43de26c8256ed9a784f5140 (diff)
downloadzig-58e38ff1f82b19ee529f0f5abe74a2c03c204dfe.tar.gz
zig-58e38ff1f82b19ee529f0f5abe74a2c03c204dfe.zip
start: Add a comment explaining the sparc64 stack bias.
Diffstat (limited to 'lib')
-rw-r--r--lib/std/start.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig
index 21baacc764..336526b7b4 100644
--- a/lib/std/start.zig
+++ b/lib/std/start.zig
@@ -379,7 +379,8 @@ fn _start() callconv(.Naked) noreturn {
\\ jg %[posixCallMainAndExit]
,
.sparc64 =>
- // argc is stored after a register window (16 registers) plus stack bias
+ // argc is stored after a register window (16 registers * 8 bytes) plus the stack bias
+ // (2047 bytes).
\\ mov %%g0, %%i6
\\ add %%o6, 2175, %%l0
\\ mov %%l0, %%o0