mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-18 12:16:13 +08:00
[AArch64] Fix cfi_adjust_cfa_offset usage in dl-tlsdesc.S
Some of the cfi annotations used incorrect sign. * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return_lazy): Fix cfi_adjust_cfa_offset argument. (_dl_tlsdesc_undefweak, _dl_tlsdesc_dynamic): Likewise. (_dl_tlsdesc_resolve_rela, _dl_tlsdesc_resolve_hold): Likewise.
This commit is contained in:
parent
08325735c2
commit
c71c89e5c7
@ -1,5 +1,10 @@
|
||||
2015-06-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
|
||||
* sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return_lazy): Fix
|
||||
cfi_adjust_cfa_offset argument.
|
||||
(_dl_tlsdesc_undefweak, _dl_tlsdesc_dynamic): Likewise.
|
||||
(_dl_tlsdesc_resolve_rela, _dl_tlsdesc_resolve_hold): Likewise.
|
||||
|
||||
[BZ #18034]
|
||||
* sysdeps/aarch64/dl-tlsdesc.h (_dl_tlsdesc_return_lazy): Declare.
|
||||
* sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return_lazy): Define.
|
||||
|
@ -118,7 +118,7 @@ _dl_tlsdesc_return_lazy:
|
||||
.align 2
|
||||
_dl_tlsdesc_undefweak:
|
||||
str x1, [sp, #-16]!
|
||||
cfi_adjust_cfa_offset(16)
|
||||
cfi_adjust_cfa_offset (16)
|
||||
/* The ldar here happens after the load from [x0] at the call site
|
||||
(that is generated by the compiler as part of the TLS access ABI),
|
||||
so it reads the same value (this function is the final value of
|
||||
@ -130,7 +130,7 @@ _dl_tlsdesc_undefweak:
|
||||
mrs x1, tpidr_el0
|
||||
sub x0, x0, x1
|
||||
ldr x1, [sp], #16
|
||||
cfi_adjust_cfa_offset(16)
|
||||
cfi_adjust_cfa_offset (-16)
|
||||
RET
|
||||
cfi_endproc
|
||||
.size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak
|
||||
@ -208,7 +208,7 @@ _dl_tlsdesc_dynamic:
|
||||
ldp x3, x4, [sp, #32+16*1]
|
||||
|
||||
ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS)
|
||||
cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS)
|
||||
cfi_adjust_cfa_offset (-32-16*NSAVEXREGPAIRS)
|
||||
# undef NSAVEXREGPAIRS
|
||||
RET
|
||||
2:
|
||||
@ -297,7 +297,7 @@ _dl_tlsdesc_resolve_rela:
|
||||
ldp x15, x16, [sp, #32+16*6]
|
||||
ldp x17, x18, [sp, #32+16*7]
|
||||
ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS)
|
||||
cfi_adjust_cfa_offset (-32+16*NSAVEXREGPAIRS)
|
||||
cfi_adjust_cfa_offset (-32-16*NSAVEXREGPAIRS)
|
||||
ldp x2, x3, [sp], #16
|
||||
cfi_adjust_cfa_offset (-16)
|
||||
RET
|
||||
@ -359,7 +359,7 @@ _dl_tlsdesc_resolve_hold:
|
||||
ldp x15, x16, [sp, #32+16*7]
|
||||
ldp x17, x18, [sp, #32+16*8]
|
||||
ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS)
|
||||
cfi_adjust_cfa_offset (-32+16*NSAVEXREGPAIRS)
|
||||
cfi_adjust_cfa_offset (-32-16*NSAVEXREGPAIRS)
|
||||
RET
|
||||
cfi_endproc
|
||||
.size _dl_tlsdesc_resolve_hold, .-_dl_tlsdesc_resolve_hold
|
||||
|
Loading…
Reference in New Issue
Block a user