|
|
Message-ID: <20261110052827.3742542-1-alex@alexrp.com> Date: Tue, 10 Nov 2026 06:28:27 +0100 From: Alex Rønne Petersen <alex@...xrp.com> To: musl@...ts.openwall.com Cc: Alex Rønne Petersen <alex@...xrp.com> Subject: [PATCH] mipsn32: fix callee-saved FPRs in setjmp/longjmp It seems this code was incorrectly copied from N64. N32 considers the even FPRs in $20-$30 to be callee-saved. --- src/setjmp/mipsn32/longjmp.S | 12 +++++------- src/setjmp/mipsn32/setjmp.S | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/setjmp/mipsn32/longjmp.S b/src/setjmp/mipsn32/longjmp.S index 30c3ee0b..3b51fbb7 100644 --- a/src/setjmp/mipsn32/longjmp.S +++ b/src/setjmp/mipsn32/longjmp.S @@ -11,14 +11,12 @@ longjmp: addu $2, $2, 1 1: #ifndef __mips_soft_float - ldc1 $24, 96($4) - ldc1 $25, 104($4) - ldc1 $26, 112($4) - ldc1 $27, 120($4) + sdc1 $20, 96($4) + sdc1 $22, 104($4) + sdc1 $24, 112($4) + sdc1 $26, 120($4) ldc1 $28, 128($4) - ldc1 $29, 136($4) - ldc1 $30, 144($4) - ldc1 $31, 152($4) + sdc1 $30, 136($4) #endif ld $ra, 0($4) ld $sp, 8($4) diff --git a/src/setjmp/mipsn32/setjmp.S b/src/setjmp/mipsn32/setjmp.S index b9646c2a..86d4d9e8 100644 --- a/src/setjmp/mipsn32/setjmp.S +++ b/src/setjmp/mipsn32/setjmp.S @@ -21,14 +21,12 @@ setjmp: sd $23, 80($4) sd $30, 88($4) #ifndef __mips_soft_float - sdc1 $24, 96($4) - sdc1 $25, 104($4) - sdc1 $26, 112($4) - sdc1 $27, 120($4) + ldc1 $20, 96($4) + ldc1 $22, 104($4) + ldc1 $24, 112($4) + ldc1 $26, 120($4) sdc1 $28, 128($4) - sdc1 $29, 136($4) - sdc1 $30, 144($4) - sdc1 $31, 152($4) + ldc1 $30, 136($4) #endif jr $ra li $2, 0 -- 2.53.0
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.