summaryrefslogtreecommitdiff
path: root/sysdeps/mips/bsd-_setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mips/bsd-_setjmp.S')
-rw-r--r--sysdeps/mips/bsd-_setjmp.S13
1 files changed, 9 insertions, 4 deletions
diff --git a/sysdeps/mips/bsd-_setjmp.S b/sysdeps/mips/bsd-_setjmp.S
index f519f19359..819a7018c4 100644
--- a/sysdeps/mips/bsd-_setjmp.S
+++ b/sysdeps/mips/bsd-_setjmp.S
@@ -23,14 +23,19 @@
#include <sysdep.h>
+/* XXX Must this be __PIC__ ? --drepper */
#ifdef PIC
.option pic2
#endif
ENTRY (_setjmp)
+ .set noreorder
#ifdef PIC
.cpload t9
+ la t9, C_SYMBOL_NAME (__sigsetjmp)
+ jr t9
+#else
+ j C_SYMBOL_NAME (__sigsetjmp)
#endif
- la t9, C_SYMBOL_NAME (__sigsetjmp)
- nop
- jr t9
- li a1, 0 /* Pass a second argument of zero. */
+ move a1,zero /* Pass a second argument of zero. */
+ .set reorder
+ .end _setjmp