start: Explicitly clear the link register on mips and mips64 just in case.

The kernel does this as required, but we cannot trust dynamic linkers to do it.
This commit is contained in:
Alex Rønne Petersen 2024-07-24 17:41:18 +02:00
parent 1b13d7477d
commit 47c0464e86
No known key found for this signature in database

View File

@ -329,8 +329,8 @@ fn _start() callconv(.Naked) noreturn {
\\ jsr (%%pc, %%a0)
,
.mips, .mipsel =>
// The lr is already zeroed on entry, as specified by the ABI.
\\ addiu $fp, $zero, 0
\\ move $fp, $0
\\ move $ra, $0
\\ move $a0, $sp
\\ .set push
\\ .set noat
@ -340,8 +340,8 @@ fn _start() callconv(.Naked) noreturn {
\\ j %[posixCallMainAndExit]
,
.mips64, .mips64el =>
// The lr is already zeroed on entry, as specified by the ABI.
\\ addiu $fp, $zero, 0
\\ move $fp, $0
\\ move $ra, $0
\\ move $a0, $sp
\\ .set push
\\ .set noat