* sysdeps/mips/bsd-_setjmp.S (_setjmp): Reorder instructions to

avoid problems on MIPS I.
	* sysdeps/mips/bsd-setjmp.S (setjmp): Likewise.

	* sysdeps/mips/dl-machine.h (RTLD_START): Remove duplicate ".set
	noreorder".
This commit is contained in:
Andreas Jaeger 2001-02-22 08:27:50 +00:00
parent 191b842dfe
commit e33c3af9cb
3 changed files with 9 additions and 6 deletions

View File

@ -27,14 +27,16 @@
.option pic2 .option pic2
#endif #endif
ENTRY (_setjmp) ENTRY (_setjmp)
.set noreorder
#ifdef __PIC__ #ifdef __PIC__
.set noreorder
.cpload t9 .cpload t9
.set reorder
la t9, C_SYMBOL_NAME (__sigsetjmp) la t9, C_SYMBOL_NAME (__sigsetjmp)
#endif
move a1,zero /* Pass a second argument of zero. */
#ifdef __PIC__
jr t9 jr t9
#else #else
j C_SYMBOL_NAME (__sigsetjmp) j C_SYMBOL_NAME (__sigsetjmp)
#endif #endif
move a1,zero /* Pass a second argument of zero. */
.set reorder
.end _setjmp .end _setjmp

View File

@ -30,11 +30,13 @@ ENTRY (setjmp)
.set noreorder .set noreorder
#ifdef __PIC__ #ifdef __PIC__
.cpload t9 .cpload t9
.set reorder
la t9, C_SYMBOL_NAME (__sigsetjmp) la t9, C_SYMBOL_NAME (__sigsetjmp)
#endif
li a1, 1 /* Pass a second argument of one. */
#ifdef __PIC__
jr t9 jr t9
#else #else
j C_SYMBOL_NAME (__sigsetjmp) j C_SYMBOL_NAME (__sigsetjmp)
#endif #endif
li a1, 1 /* Pass a second argument of one. */
.set reorder
.end setjmp .end setjmp

View File

@ -412,7 +412,6 @@ _dl_runtime_resolve:\n \
".text\n"\ ".text\n"\
_RTLD_PROLOGUE(ENTRY_POINT)\ _RTLD_PROLOGUE(ENTRY_POINT)\
".set noreorder\n\ ".set noreorder\n\
.set noreorder\n\
bltzal $0, 0f\n\ bltzal $0, 0f\n\
nop\n\ nop\n\
0: .cpload $31\n\ 0: .cpload $31\n\