Don't use jmp macro to make sure the stack frame is released the very

instruction before the real jump out.
This commit is contained in:
Ulrich Drepper 1997-05-31 00:45:54 +00:00
parent 91650f79e3
commit 9aa1421fe0
3 changed files with 14 additions and 9 deletions

View File

@ -73,8 +73,9 @@ $ok: stq a0, __curbrk
/* What a horrible way to die. */ /* What a horrible way to die. */
$err0: ldi v0, ENOMEM $err0: ldi v0, ENOMEM
$err1: addq sp, 8, sp $err1: lda pv, __syscall_error
jmp zero, __syscall_error addq sp, 8, sp
jmp zero, (pv), __syscall_error
END(__brk) END(__brk)

View File

@ -41,18 +41,20 @@ LEAF(__ieee_get_fp_control, 16)
ldi a0, GSI_IEEE_FP_CONTROL ldi a0, GSI_IEEE_FP_CONTROL
ldi v0, __NR_osf_getsysinfo ldi v0, __NR_osf_getsysinfo
call_pal PAL_callsys call_pal PAL_callsys
bne a3, error bne a3, $error
ldq v0, 0(sp) ldq v0, 0(sp)
lda sp, 16(sp) lda sp, 16(sp)
ret ret
error: lda sp, 16(sp) $error:
#ifndef PROF #ifndef PROF
br gp, 1f br gp, 1f
1: ldgp gp, 0(gp) 1: ldgp gp, 0(gp)
#endif #endif
jmp zero, __syscall_error lda pv, __syscall_error
lda sp, 16(sp)
jmp zero, (pv), __syscall_error
END(__ieee_get_fp_control) END(__ieee_get_fp_control)

View File

@ -41,17 +41,19 @@ LEAF(__ieee_set_fp_control, 16)
ldi v0, __NR_osf_setsysinfo ldi v0, __NR_osf_setsysinfo
call_pal PAL_callsys call_pal PAL_callsys
lda sp, 16(sp) bne a3, $error
bne a3, error lda sp, 16(sp)
ret ret
error: $error:
#ifndef PROF #ifndef PROF
br gp, 1f br gp, 1f
1: ldgp gp, 0(gp) 1: ldgp gp, 0(gp)
#endif #endif
jmp zero, __syscall_error lda pv, __syscall_error
lda sp, 16(sp)
jmp zero, (pv), __syscall_error
END(__ieee_set_fp_control) END(__ieee_set_fp_control)