This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[AArch64][0/6] More TLS local dynamic relocation support


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]