summaryrefslogtreecommitdiff
path: root/sysdeps/mips/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mips/setjmp.S')
-rw-r--r--sysdeps/mips/setjmp.S22
1 files changed, 16 insertions, 6 deletions
diff --git a/sysdeps/mips/setjmp.S b/sysdeps/mips/setjmp.S
index bc42dcb03b..607b5f268d 100644
--- a/sysdeps/mips/setjmp.S
+++ b/sysdeps/mips/setjmp.S
@@ -26,10 +26,20 @@
#endif
ENTRY (__sigsetjmp)
#ifdef PIC
- .cpload t9
+ .set noreorder
+ .cpload t9
+ .set reorder
#endif
- move a2, sp
- move a3, fp
- la t9, __sigsetjmp_aux
- nop
- jr t9
+ move a2, sp
+#ifdef fp
+ move a3, fp
+#else
+ move a3, $fp
+#endif
+#ifdef PIC
+ la t9, __sigsetjmp_aux
+ jr t9
+#else
+ j __sigsetjmp_aux
+#endif
+ .end __sigsetjmp