Skip to content

Commit

Permalink
[AArch64] Fix cfi_adjust_cfa_offset usage in dl-tlsdesc.S
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Szabolcs Nagy committed Jun 17, 2015
1 parent 0832573 commit c71c89e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
10 changes: 5 additions & 5 deletions sysdeps/aarch64/dl-tlsdesc.S
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit c71c89e

Please sign in to comment.