This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[AArch64][0/6] More TLS local dynamic relocation support
- From: Jiong Wang <jiong dot wang at arm dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Wed, 19 Aug 2015 13:31:59 +0100
- Subject: [AArch64][0/6] More TLS local dynamic relocation support
- Authentication-results: sourceware.org; auth=none
This patch set add more TLS local dynamic relocation support for
AArch64, for more details, please check AArch64 ELF specification.
As support of dtprel_hi12 is included, PR ld/18276 will be fixed.
Asssembler and linker testcases for these new supported relocation types
included also.
Pass assembler and linker testsuite on both aarch64-linux and aarch64-elf
cross environment.
OK for trunk?
Thanks.
Jiong Wang (6):
GAS support BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
LD support BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
GAS support TLSLD move/add relocation types
LD support TLSLD move/add relocation types
GAS support TLSLD load/store relocation types
LD support TLSLD load/store relocation types
bfd/bfd-in2.h | 57 +++
bfd/elfnn-aarch64.c | 255 ++++++++++
bfd/elfxx-aarch64.c | 30 ++
bfd/libbfd.h | 17 +
bfd/reloc.c | 75 ++-
gas/config/tc-aarch64.c | 146 +++++-
gas/testsuite/gas/aarch64/reloc-dtprel_g0-ilp32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0-ilp32.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc-ilp32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc-ilp32.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g1-ilp32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_g1-ilp32.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g1.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_g1.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_g2.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_g2.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_hi12-ilp32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_hi12-ilp32.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_hi12.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ilp32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ilp32.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.s | 5 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d | 10 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.s | 6 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.d | 9 +
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.s | 5 +
include/elf/aarch64.h | 5 +
ld/testsuite/ld-aarch64/aarch64-elf.exp | 28 +
ld/testsuite/ld-aarch64/emit-relocs-523.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-523.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-524.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-524.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-525.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-525.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-526-overflow.d | 4 +
ld/testsuite/ld-aarch64/emit-relocs-526-overflow.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-526.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-526.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-527.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-527.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-528-overflow.d | 4 +
ld/testsuite/ld-aarch64/emit-relocs-528-overflow.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-528.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-528.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-530.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-530.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-531-overflow.d | 4 +
ld/testsuite/ld-aarch64/emit-relocs-531-overflow.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-531.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-531.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-532.d | 9 +
ld/testsuite/ld-aarch64/emit-relocs-532.s | 17 +
ld/testsuite/ld-aarch64/emit-relocs-533-overflow.d | 4 +
ld/testsuite/ld-aarch64/emit-relocs-533-overflow.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-533.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-533.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-534.d | 9 +
ld/testsuite/ld-aarch64/emit-relocs-534.s | 17 +
ld/testsuite/ld-aarch64/emit-relocs-535-overflow.d | 4 +
ld/testsuite/ld-aarch64/emit-relocs-535-overflow.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-535.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-535.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-536.d | 9 +
ld/testsuite/ld-aarch64/emit-relocs-536.s | 17 +
ld/testsuite/ld-aarch64/emit-relocs-537-overflow.d | 4 +
ld/testsuite/ld-aarch64/emit-relocs-537-overflow.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-537.d | 7 +
ld/testsuite/ld-aarch64/emit-relocs-537.s | 12 +
ld/testsuite/ld-aarch64/emit-relocs-538.d | 9 +
ld/testsuite/ld-aarch64/emit-relocs-538.s | 19 +
ld/testsuite/ld-aarch64/emit-relocs-87.d | 8 +
ld/testsuite/ld-aarch64/emit-relocs-87.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-88-overflow.d | 5 +
ld/testsuite/ld-aarch64/emit-relocs-88-overflow.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-88.d | 8 +
ld/testsuite/ld-aarch64/emit-relocs-88.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-89.d | 8 +
ld/testsuite/ld-aarch64/emit-relocs-89.s | 10 +
ld/testsuite/ld-aarch64/emit-relocs-90-overflow.d | 5 +
ld/testsuite/ld-aarch64/emit-relocs-90-overflow.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-90.d | 8 +
ld/testsuite/ld-aarch64/emit-relocs-90.s | 11 +
ld/testsuite/ld-aarch64/emit-relocs-92.d | 8 +
ld/testsuite/ld-aarch64/emit-relocs-92.s | 10 +
104 files changed, 1414 insertions(+), 9 deletions(-)
--
Regards,
Jiong