From ce81525f3f3057e4239332b2152bf60f75c5f52a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 24 Jul 2024 17:36:34 +0200 Subject: [PATCH] start: Align the stack on s390x just in case. The kernel does this as required, but we cannot trust dynamic linkers to do it. --- lib/std/start.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/std/start.zig b/lib/std/start.zig index 015f2c077f..437498d1d8 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -373,8 +373,9 @@ fn _start() callconv(.Naked) noreturn { , .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 + \\ lghi %r0, -16 + \\ ngr %r15, %r0 \\ aghi %r15, -160 \\ lghi %r0, 0 \\ stg %r0, 0(%r15)