commit 8ffc41f74705246e61f3c02c253d40b1464ea2bf (tree)
parent c53673276be9de837add3a3c4e948b10cdd7e1a6
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Mon, 22 Jul 2024 13:22:42 +0200
start: Add POSIX s390x startup code.
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/lib/std/start.zig b/lib/std/start.zig
@@ -363,6 +363,15 @@ fn _start() callconv(.Naked) noreturn {
\\ mtlr 0
\\ b %[posixCallMainAndExit]
,
+ .s390x =>
+ // Set up the stack frame (register save area and cleared back-chain slot).
+ // Note: Stack pointer is guaranteed by ABI to be 8-byte aligned as required.
+ \\ lgr %r2, %r15
+ \\ aghi %r15, -160
+ \\ lghi %r0, 0
+ \\ stg %r0, 0(%r15)
+ \\ jg %[posixCallMainAndExit]
+ ,
.sparc64 =>
// argc is stored after a register window (16 registers) plus stack bias
\\ mov %%g0, %%i6