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.
This commit is contained in:
Alex Rønne Petersen 2024-07-30 04:02:32 +02:00
parent 38e0f049c5
commit 78e581b86f
No known key found for this signature in database

View File

@ -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)