diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-11-07 01:35:04 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-11-07 01:35:04 +0000 |
commit | b57910379e9a0fa1c6985840bbbe19b30595e361 (patch) | |
tree | 9bf68210227e7cc5022fdefaa8510313b651e709 /sysdeps/unix/sysv/linux/alpha | |
parent | 2c6fe0bd3b270fc644dd4c773f2d47b93f404efe (diff) | |
download | glibc-b57910379e9a0fa1c6985840bbbe19b30595e361.tar.gz glibc-b57910379e9a0fa1c6985840bbbe19b30595e361.tar.xz glibc-b57910379e9a0fa1c6985840bbbe19b30595e361.zip |
update from 961105, second try cvs/libc-961107
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/brk.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/clone.S | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S | 18 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S | 19 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/llseek.S | 12 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/sigsuspend.S | 12 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/syscall.S | 14 |
7 files changed, 72 insertions, 11 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/brk.S b/sysdeps/unix/sysv/linux/alpha/brk.S index 75be949aff..d31d9e9b4d 100644 --- a/sysdeps/unix/sysv/linux/alpha/brk.S +++ b/sysdeps/unix/sysv/linux/alpha/brk.S @@ -38,6 +38,10 @@ __curbrk: .skip 8 .text LEAF(__brk, 0) ldgp gp, 0(t12) +#ifdef PROF + lda AT, _mcount + jsr AT, (AT), _mcount +#endif .prologue 1 ldiq v0, __NR_brk diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S index 71d8053b12..9dbf3034c9 100644 --- a/sysdeps/unix/sysv/linux/alpha/clone.S +++ b/sysdeps/unix/sysv/linux/alpha/clone.S @@ -32,6 +32,10 @@ ENTRY(__clone) /* Save rest of argument registers for varargs-type work. */ stq a4,0(sp) stq a5,8(sp) +#ifdef PROF + lda AT, _mcount + jsr AT, (AT), _mcount +#endif .prologue 1 /* Sanity check arguments. */ 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) 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 d748c81142..aa761ecaca 100644 --- a/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S +++ b/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S @@ -20,9 +20,17 @@ Cambridge, MA 02139, USA. */ #define SSI_IEEE_FP_CONTROL 14 -LEAF(__ieee_set_fp_control, 8) - lda sp, -8(sp) +LEAF(__ieee_set_fp_control, 16) +#ifdef PROF + ldgp gp, 0(sp) + lda sp, -16(sp) + lda AT, _mcount + jsr AT, (AT), _mcount .prologue 1 +#else + lda sp, -16(sp) + .prologue 0 +#endif stq a0, 0(sp) mov sp, a1 @@ -30,13 +38,16 @@ LEAF(__ieee_set_fp_control, 8) ldi v0, __NR_osf_setsysinfo call_pal PAL_callsys - lda sp, 8(sp) + lda sp, 16(sp) bne a3, error ret -error: br gp, 1f +error: +#ifndef PROF + br gp, 1f 1: ldgp gp, 0(gp) +#endif jmp zero, __syscall_error END(__ieee_set_fp_control) diff --git a/sysdeps/unix/sysv/linux/alpha/llseek.S b/sysdeps/unix/sysv/linux/alpha/llseek.S index 6020f263cd..45fb349236 100644 --- a/sysdeps/unix/sysv/linux/alpha/llseek.S +++ b/sysdeps/unix/sysv/linux/alpha/llseek.S @@ -24,7 +24,14 @@ Cambridge, MA 02139, USA. */ .text ENTRY(llseek) +#ifdef PROF + ldgp gp, 0(pv) + lda AT, _mcount + jsr AT, (AT), _mcount .prologue 1 +#else + .prologue 0 +#endif sll a1, 32, a1 /* build a 64 bit ofs out of 32 bit operands */ zap a2, 0xf0, a2 @@ -40,8 +47,11 @@ ENTRY(llseek) stq v0, 0(t0) ret -error: br gp, 1f +error: +#ifndef PROF + br gp, 1f 1: ldgp gp, 0(gp) +#endif jmp zero, __syscall_error END(llseek) diff --git a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S index aaae9a308a..83d331fef0 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S +++ b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S @@ -24,7 +24,14 @@ Cambridge, MA 02139, USA. */ .text LEAF(sigsuspend, 0) +#ifdef PROF + ldgp gp, 0(pv) + lda AT, _mcount + jsr AT, (AT), _mcount .prologue 1 +#else + .prologue 0 +#endif ldq a0, 0(a0) ldi v0, __NR_sigsuspend @@ -32,8 +39,11 @@ LEAF(sigsuspend, 0) bne a3, error ret -error: br gp, 1f +error: +#ifndef PROF + br gp, 1f 1: ldgp gp, 0(gp) +#endif jmp zero, __syscall_error END(sigsuspend) diff --git a/sysdeps/unix/sysv/linux/alpha/syscall.S b/sysdeps/unix/sysv/linux/alpha/syscall.S index f1b36e9312..81043c2cdb 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscall.S +++ b/sysdeps/unix/sysv/linux/alpha/syscall.S @@ -42,6 +42,15 @@ Cambridge, MA 02139, USA. */ LEAF(__syscall, 0) +#ifdef PROF + ldgp gp, 0(pv) + lda AT, _mcount + jsr AT, (AT), _mcount + .prologue 1 +#else + .prologue 0 +#endif + mov a0, v0 /* Syscall number -> v0 */ mov a1, a0 /* arg1-arg5 -> a0-a4 */ mov a2, a1 @@ -53,8 +62,11 @@ LEAF(__syscall, 0) bne a3, error ret -error: br gp, 2f +error: +#ifndef PROF + br gp, 2f 2: ldgp gp, 0(gp) +#endif jmp zero, __syscall_error weak_alias(__syscall, syscall) |