about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-32/syscall.S')
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/syscall.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S b/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S
index 5455ec832d..d1ce925ac3 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S
@@ -25,9 +25,20 @@
 ENTRY (syscall)
 	/* Save registers and setup stack.  */
 	stm     %r6,%r15,24(%r15)  /* save registers */
+	cfi_offset (%r15, -36)
+	cfi_offset (%r14, -40)
+	cfi_offset (%r13, -44)
+	cfi_offset (%r12, -48)
+	cfi_offset (%r11, -52)
+	cfi_offset (%r10, -56)
+	cfi_offset (%r9, -60)
+	cfi_offset (%r8, -64)
+	cfi_offset (%r7, -68)
+	cfi_offset (%r6, -72)
 	lr      %r1,%r15
 	l       %r0,4(0,%r15)      /* load eos */
 	ahi     %r15,-96           /* buy stack space */
+	cfi_adjust_cfa_offset (96)
 	st      %r1,0(0,%r15)      /* store back chain */
 	st      %r0,4(0,%r15)      /* store eos */
 
@@ -45,6 +56,7 @@ ENTRY (syscall)
 	j      3f
 2:	ex     %r1,1b-0b(%r7)      /* lsb of R1 is subsituted as SVC number */
 3:	l      %r15,0(%r15)        /* load back chain */
+	cfi_adjust_cfa_offset (-96)
 	lm     %r6,15,24(%r15)     /* load registers */
 
 	lhi    %r0,-4095