summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/alpha/sigsuspend.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/sigsuspend.S')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigsuspend.S12
1 files changed, 11 insertions, 1 deletions
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)