diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/s390')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 7 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h index 80671df08a..1f7cff8c41 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h @@ -29,10 +29,16 @@ # define PSEUDO(name, syscall_name, args) \ .text; \ L(pseudo_cancel): \ + cfi_startproc; \ STM_##args \ stm %r12,%r15,48(%r15); \ + cfi_offset (%r15, -36); \ + cfi_offset (%r14, -40); \ + cfi_offset (%r13, -44); \ + cfi_offset (%r12, -48); \ lr %r14,%r15; \ ahi %r15,-96; \ + cfi_adjust_cfa_offset (96); \ st %r14,0(%r15); \ basr %r13,0; \ 0: l %r1,1f-0b(%r13); \ @@ -46,6 +52,7 @@ L(pseudo_cancel): \ bas %r14,0(%r1,%r13); \ lr %r2,%r12; \ lm %r12,%r15,48+96(%r15); \ + cfi_endproc; \ j L(pseudo_check); \ 1: .long CENABLE-0b; \ 2: .long CDISABLE-0b; \ diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h index f3722a0d8f..4d53311f9d 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h @@ -29,10 +29,15 @@ # define PSEUDO(name, syscall_name, args) \ .text; \ L(pseudo_cancel): \ + cfi_startproc; \ STM_##args \ stmg %r13,%r15,104(%r15); \ + cfi_offset (%r15,-40); \ + cfi_offset (%r14,-48); \ + cfi_offset (%r13,-56); \ lgr %r14,%r15; \ aghi %r15,-160; \ + cfi_adjust_cfa_offset (160); \ stg %r14,0(%r15); \ brasl %r14,CENABLE; \ lgr %r0,%r2; \ @@ -43,6 +48,7 @@ L(pseudo_cancel): \ brasl %r14,CDISABLE; \ lgr %r2,%r13; \ lmg %r13,%r15,104+160(%r15); \ + cfi_endproc; \ j L(pseudo_check); \ ENTRY(name) \ SINGLE_THREAD_P \ |