[AArch64] Fix cfi_adjust_cfa_offset usage in dl-tlsdesc.S
authorSzabolcs Nagy <nsz@port70.net>
Wed, 17 Jun 2015 11:44:53 +0000 (12:44 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Wed, 17 Jun 2015 11:44:53 +0000 (12:44 +0100)
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.

ChangeLog
sysdeps/aarch64/dl-tlsdesc.S

index 1d4a376983c61106126197d8054d9f29ffcb447e..aedec5a5a51afa6744ce96209f36376a1e4e1635 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index c7adf79bafd427fc413fd460349a9319575093b4..64719eb5e179818376f2e06ec56d0d432a1091fb 100644 (file)
@@ -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