mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 14:30:06 +00:00
S390: Fix unwind in 32-bit _mcount
* Fix CFI offset for %r14. * Fix unwound value of %r15 being off by 128 bytes. ChangeLog: * sysdeps/s390/s390-32/s390-mcount.S (_mcount): Fix unwind.
This commit is contained in:
parent
71c01af52f
commit
8f135efcad
@ -1,3 +1,8 @@
|
|||||||
|
2018-08-10 Ilya Leoshkevich <iii@linux.ibm.com>
|
||||||
|
|
||||||
|
* sysdeps/s390/s390-32/s390-mcount.S (_mcount):
|
||||||
|
Fix unwind.
|
||||||
|
|
||||||
2018-08-10 Ilya Leoshkevich <iii@linux.ibm.com>
|
2018-08-10 Ilya Leoshkevich <iii@linux.ibm.com>
|
||||||
|
|
||||||
* sysdeps/s390/s390-64/Versions (__fentry__): Add.
|
* sysdeps/s390/s390-64/Versions (__fentry__): Add.
|
||||||
|
@ -55,9 +55,13 @@ C_LABEL(_mcount)
|
|||||||
/* Save the caller-clobbered registers. */
|
/* Save the caller-clobbered registers. */
|
||||||
ahi %r15,-128
|
ahi %r15,-128
|
||||||
cfi_adjust_cfa_offset (128)
|
cfi_adjust_cfa_offset (128)
|
||||||
|
/* binutils 2.28+: .cfi_val_offset r15, -96 */
|
||||||
|
.cfi_escape \
|
||||||
|
/* DW_CFA_val_offset */ 0x14, \
|
||||||
|
/* r15 */ 0x0f, \
|
||||||
|
/* scaled offset */ 0x18
|
||||||
stm %r14,%r5,96(%r15)
|
stm %r14,%r5,96(%r15)
|
||||||
cfi_offset (r14, 0)
|
cfi_offset (r14, -128)
|
||||||
cfi_offset (r15, 4)
|
|
||||||
l %r2,132(%r15) # callers address = first parameter
|
l %r2,132(%r15) # callers address = first parameter
|
||||||
la %r2,0(%r2) # clear bit 0
|
la %r2,0(%r2) # clear bit 0
|
||||||
la %r3,0(%r14) # callees address = second parameter
|
la %r3,0(%r14) # callees address = second parameter
|
||||||
|
Loading…
Reference in New Issue
Block a user