mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-12 12:10:16 +00:00
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:
parent
91650f79e3
commit
9aa1421fe0
@ -73,8 +73,9 @@ $ok: stq a0, __curbrk
|
||||
|
||||
/* What a horrible way to die. */
|
||||
$err0: ldi v0, ENOMEM
|
||||
$err1: addq sp, 8, sp
|
||||
jmp zero, __syscall_error
|
||||
$err1: lda pv, __syscall_error
|
||||
addq sp, 8, sp
|
||||
jmp zero, (pv), __syscall_error
|
||||
|
||||
END(__brk)
|
||||
|
||||
|
@ -41,18 +41,20 @@ LEAF(__ieee_get_fp_control, 16)
|
||||
ldi a0, GSI_IEEE_FP_CONTROL
|
||||
ldi v0, __NR_osf_getsysinfo
|
||||
call_pal PAL_callsys
|
||||
bne a3, error
|
||||
bne a3, $error
|
||||
|
||||
ldq v0, 0(sp)
|
||||
lda sp, 16(sp)
|
||||
ret
|
||||
|
||||
error: lda sp, 16(sp)
|
||||
$error:
|
||||
#ifndef PROF
|
||||
br gp, 1f
|
||||
1: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
lda pv, __syscall_error
|
||||
lda sp, 16(sp)
|
||||
jmp zero, (pv), __syscall_error
|
||||
|
||||
END(__ieee_get_fp_control)
|
||||
|
||||
|
@ -41,17 +41,19 @@ LEAF(__ieee_set_fp_control, 16)
|
||||
ldi v0, __NR_osf_setsysinfo
|
||||
call_pal PAL_callsys
|
||||
|
||||
lda sp, 16(sp)
|
||||
bne a3, $error
|
||||
|
||||
bne a3, error
|
||||
lda sp, 16(sp)
|
||||
ret
|
||||
|
||||
error:
|
||||
$error:
|
||||
#ifndef PROF
|
||||
br gp, 1f
|
||||
1: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
lda pv, __syscall_error
|
||||
lda sp, 16(sp)
|
||||
jmp zero, (pv), __syscall_error
|
||||
|
||||
END(__ieee_set_fp_control)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user