about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S b/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
index 83fc2b436f..14251bc39c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
@@ -30,16 +30,18 @@
   other than the PRESERVED state.  */
 
 ENTRY(__setcontext)
-	lr	%r1,%r2
+	lr	%r0,%r2
 
 	/* rt_sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL, sigsetsize).  */
+	la	%r3,SC_MASK(%r2)
 	la      %r2,SIG_SETMASK
-	la	%r3,SC_MASK(%r1)
 	slr	%r4,%r4
 	lhi	%r5,_NSIG8
-	svc	SYS_ify(rt_sigprocmask)
+	lhi	%r1,SYS_ify(rt_sigprocmask)
+	svc	0
 
 	/* Load fpu context.  */
+	lr	%r1,%r0
 	lfpc	SC_FPC(%r1)
 	ld	%f0,SC_FPRS(%r1)
 	ld      %f1,SC_FPRS+8(%r1)