[AArch64][5/6] GAS support TLSLD load/store relocation types
authorJiong Wang <jiong.wang@arm.com>
Wed, 19 Aug 2015 10:22:22 +0000 (11:22 +0100)
committerJiong Wang <jiong.wang@arm.com>
Wed, 19 Aug 2015 15:54:39 +0000 (16:54 +0100)
commit4c5625238cccb048261d7ce0eb748ee5e0d67cf0
treeb35ec44daf7400e8d53762a70cca034c823e5bff
parent6ffe9a1ba36f3a896ae323e35a207b6451e8f7f9
[AArch64][5/6] GAS support TLSLD load/store relocation types

2015-08-19  Jiong Wang  <jiong.wang@arm.com>

bfd/
  * reloc.c: New entries, including
  BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
  BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
  BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
  BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
  * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
  * bfd-in2.h: Regenerate.
  * libbfd.h: Regenerate.

gas/
  * config/tc-aarch64.c (reloc_table): New relocation types support for
  dtprel_lo12.
  (ldst_lo12_determine_real_reloc_type): Support
  BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
  BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
  BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
  BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
  BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
  (parse_operands): Likewise.
  (md_apply_fix): Likewise
  (aarch64_force_relocation): Likewise.
  (process_movw_reloc_info): Likewise.

gas/testsuite/
  * gas/aarch64/reloc-dtprel_lo12-ldst8.s: New testcase.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldstc.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12-ldst16.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst16.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12-ldst32.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst32.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12-ldst64.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst64.s: Likewise.
  * gas/aarch64/reloc-dtprel_lo12-ldst8.d: New expectation file.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d: Likewise.
  * gas/aarch64/reloc-dtprel_lo12-ldst16.d: Likewise.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d: Likewise.
  * gas/aarch64/reloc-dtprel_lo12-ldst32.d: Likewise.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d: Likewise.
  * gas/aarch64/reloc-dtprel-lo12-ldst64.d: Likewise.
  * gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d: Likewise.
24 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/elfnn-aarch64.c
bfd/libbfd.h
bfd/reloc.c
gas/ChangeLog
gas/config/tc-aarch64.c
gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.s [new file with mode: 0644]