[PR ld/25062] arm: sign extend the addend of R_ARM_TLS_GOTDESC
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 3 Oct 2019 18:11:50 +0000 (19:11 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 10 Oct 2019 11:10:04 +0000 (12:10 +0100)
commit772db4c6beec7c8f4f2550c1f4fe0fb35dc3c7b5
tree611d61b4de8735a5fc2d6b2a831bf9031c8387eb
parent3115c234629806cb04388fbc535b1792b39a48a0
[PR ld/25062] arm: sign extend the addend of R_ARM_TLS_GOTDESC

On 64-bit host the 32-bit addend was loaded without sign extension into
an unsigned long.

bfd/ChangeLog:

PR ld/25062
* elf32-arm.c (elf32_arm_final_link_relocate): Sign extend data.

ld/ChangeLog:

PR ld/25062
* testsuite/ld-arm/arm-elf.exp: Update.
* testsuite/ld-arm/tls-gdesc-neg.d: New test.
* testsuite/ld-arm/tls-gdesc-neg.s: New test.
bfd/ChangeLog
bfd/elf32-arm.c
ld/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/tls-gdesc-neg.d [new file with mode: 0644]
ld/testsuite/ld-arm/tls-gdesc-neg.s [new file with mode: 0644]