From: Ulrich Drepper Date: Sat, 31 May 1997 00:45:54 +0000 (+0000) Subject: Don't use jmp macro to make sure the stack frame is released the very X-Git-Tag: glibc-2.16-ports-before-merge~3587 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9aa1421fe000276c53fb5826f27f417b5e141b5d;p=thirdparty%2Fglibc.git Don't use jmp macro to make sure the stack frame is released the very instruction before the real jump out. --- diff --git a/sysdeps/unix/sysv/linux/alpha/brk.S b/sysdeps/unix/sysv/linux/alpha/brk.S index 74fef64f644..be0539b475d 100644 --- a/sysdeps/unix/sysv/linux/alpha/brk.S +++ b/sysdeps/unix/sysv/linux/alpha/brk.S @@ -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) diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S index dbc25bcbf3b..e118ff19f5b 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S @@ -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) diff --git a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S index d2d2add56c3..b38d67efac9 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S @@ -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)