From 78e581b86f11bfc8da277cbad7b7a30941e55e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Tue, 30 Jul 2024 04:02:32 +0200 Subject: [PATCH] start: Copy the mips64 comment about gp to the mips32 code. Also, don't incorrectly claim that it's only needed for dynamic linking/PIC. --- lib/std/start.zig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/std/start.zig b/lib/std/start.zig index 2a61be46e4..bca0922fb3 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -293,6 +293,7 @@ fn _start() callconv(.Naked) noreturn { \\ .gpword . \\ .gpword %[posixCallMainAndExit] \\ 1: + // The `gp` register on MIPS serves a similar purpose to `r2` (ToC pointer) on PPC64. \\ lw $gp, 0($ra) \\ subu $gp, $ra, $gp \\ lw $25, 4($ra) @@ -314,8 +315,6 @@ fn _start() callconv(.Naked) noreturn { \\ .gpdword %[posixCallMainAndExit] \\ 1: // The `gp` register on MIPS serves a similar purpose to `r2` (ToC pointer) on PPC64. - // We need to set it up in order for dynamically-linked / position-independent code to - // work. \\ ld $gp, 0($ra) \\ dsubu $gp, $ra, $gp \\ ld $25, 8($ra)