summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Fogelstrom <pefo@cvs.openbsd.org>1997-09-27 16:05:25 +0000
committerPer Fogelstrom <pefo@cvs.openbsd.org>1997-09-27 16:05:25 +0000
commit2645c8d2806bf3131a33a8561c0fb4c80c64b463 (patch)
tree13f092465c0d96cb17ae6d407d5ea7bd10970aae
parent5ed0d6624cc3b28b51c6810092e51ff3adc88345 (diff)
Amazing how much confusion and how much tracing a simple 4 instead of a 3
can cause!! Returned sigmask value was taken from wrong register... So no more zombies!!!
-rw-r--r--lib/libc/arch/powerpc/sys/sigprocmask.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libc/arch/powerpc/sys/sigprocmask.S b/lib/libc/arch/powerpc/sys/sigprocmask.S
index e8b250ed4ad..dd343ddb8f9 100644
--- a/lib/libc/arch/powerpc/sys/sigprocmask.S
+++ b/lib/libc/arch/powerpc/sys/sigprocmask.S
@@ -4,6 +4,8 @@
.text
PREFIX(sigprocmask)
+ stwu 1, -16(1)
+ stw 5, 12(1)
/* check set (new mask value) for null, in which case
fiddle arguments */
@@ -23,8 +25,10 @@ do_call:
b cerror
sigprocmask_ok:
+ lwz 5, 12(1)
cmpwi 5, 0
beq+ sigprocmask_done
- stw 4, 0(5)
+ stw 3, 0(5)
sigprocmask_done:
+ addi 1, 1, 16
blr