summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-07-12 01:29:23 +0000
committerUlrich Drepper <drepper@redhat.com>2003-07-12 01:29:23 +0000
commit4a17085f1589c5451d031995534e00e763364fb0 (patch)
tree7c4d50a5c79d4d8a6adbe7f4729929bd20daaff6 /sysdeps/unix/sysv/linux/sh
parent6080ecdf3cfc34b45bdfc7669f03359adc77d959 (diff)
Update.
2003-07-12 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/socket.S: Save and restore the PR register across CENABLE and CDISABLE.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh')
-rw-r--r--sysdeps/unix/sysv/linux/sh/socket.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/socket.S b/sysdeps/unix/sysv/linux/sh/socket.S
index 11a2b853eb..ac732a2f44 100644
--- a/sysdeps/unix/sysv/linux/sh/socket.S
+++ b/sysdeps/unix/sysv/linux/sh/socket.S
@@ -94,7 +94,9 @@ ENTRY (__socket)
#if defined NEED_CANCELLATION && defined CENABLE
.Lsocket_cancel:
/* Enable asynchronous cancellation. */
+ sts.l pr,@-r15
CENABLE
+ lds.l @r15+,pr
/* Do the system call trap. */
mov #+P(SOCKOP_,socket), r4
@@ -102,9 +104,11 @@ ENTRY (__socket)
mov.l .L1,r3
trapa #0x12
+ sts.l pr,@-r15
mov.l r0,@-r15
CDISABLE
mov.l @r15+,r0
+ lds.l @r15+,pr
/* Pop args off the stack */
P(POPARGS_,NARGS)