diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S | 18 |
1 files changed, 14 insertions, 4 deletions
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 e09fa738e2..1176a2730f 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S @@ -22,9 +22,17 @@ Cambridge, MA 02139, USA. */ .text -LEAF(__ieee_get_fp_control, 8) - lda sp, -8(sp) +LEAF(__ieee_get_fp_control, 16) +#ifdef PROF + ldgp gp, 0(pv) + lda sp, -16(sp) + lda AT, _mcount + jsr AT, (AT), _mcount .prologue 1 +#else + lda sp, -16(sp) + .prologue 0 +#endif mov sp, a1 ldi a0, GSI_IEEE_FP_CONTROL @@ -33,12 +41,14 @@ LEAF(__ieee_get_fp_control, 8) bne a3, error ldq v0, 0(sp) - lda sp, 8(sp) + lda sp, 16(sp) ret -error: lda sp, 8(sp) +error: lda sp, 16(sp) +#ifndef PROF br gp, 1f 1: ldgp gp, 0(gp) +#endif jmp zero, __syscall_error END(__ieee_get_fp_control) |