about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S b/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
index aa1f05211c..268f36e713 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
@@ -58,6 +58,9 @@ ENTRY(__setcontext)
 	ld      %f13,SC_FPRS+104(%r5)
 	ld      %f14,SC_FPRS+112(%r5)
 	ld      %f15,SC_FPRS+120(%r5)
+
+	/* Don't touch %a0 and %a1, used for thread purposes.  */
+	lam     %a2,%a15,SC_ACRS+8(%r5)
  
 	/* Load general purpose registers.  */
 	lmg	%r0,%r15,SC_GPRS(%r5)