diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-64/syscall.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/s390-64/syscall.S | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S b/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S index 5a6bcfc90d..4caeaeaf50 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S +++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S @@ -25,9 +25,20 @@ ENTRY (syscall) /* Save registers and setup stack. */ stmg %r6,%r15,48(%r15) /* Save registers. */ + cfi_offset (%r15,-40) + cfi_offset (%r14,-48) + cfi_offset (%r13,-56) + cfi_offset (%r12,-64) + cfi_offset (%r11,-72) + cfi_offset (%r10,-80) + cfi_offset (%r9,-88) + cfi_offset (%r8,-96) + cfi_offset (%r7,-104) + cfi_offset (%r6,-112) lgr %r1,%r15 lg %r0,8(%r15) /* Load eos. */ aghi %r15,-160 /* Buy stack space. */ + cfi_adjust_cfa_offset (160) stg %r1,0(%r15) /* Store back chain. */ stg %r0,8(%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: lg %r15,0(%r15) /* load back chain */ + cfi_adjust_cfa_offset (-160) lmg %r6,15,48(%r15) /* Load registers. */ lghi %r0,-4095 |