[AArch64][3/6] GAS support TLSLD move/add relocation types
authorJiong Wang <jiong.wang@arm.com>
Wed, 19 Aug 2015 10:02:34 +0000 (11:02 +0100)
committerJiong Wang <jiong.wang@arm.com>
Wed, 19 Aug 2015 15:36:22 +0000 (16:36 +0100)
commit49df5539f9070c01128135a7d63f44b2efc4de6a
tree28a12ac577fd6545eb20e825dd66ad66bd94b2db
parent753999c1ec8fa76bd5ed5509d1e5909d010e80ee
[AArch64][3/6] GAS support TLSLD move/add relocation types

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

bfd/
  * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
  BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
  * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
  * bfd-in2.h: Regenerate.
  * libbfd.h: Regenerate.

gas/
  * config/tc-aarch64.c (reloc_table): New relocation modifiers,
  "dtprel_hi12", "dtprel_g0", "dtprel_g0_nc", "dtprel_g1",
  "dtprel_g1_nc", "dtprel_g2".
  (md_apply_fix): Support new relocation types.
  (aarch64_force_relocation): Likewise.
  (process_movw_reloc_info): Likewise.

gas/testsuite/
  * gas/aarch64/reloc-dtprel_g0.s: New testcase.
  * gas/aarch64/reloc-dtprel_g0-ilp32.s: Likewise.
  * gas/aarch64/reloc-dtprel_g0_nc.s: Likewise.
  * gas/aarch64/reloc-dtprel_g0_nc-ilp32.s: Likewise.
  * gas/aarch64/reloc-dtprel_g1.s: Likewise.
  * gas/aarch64/reloc-dtprel_g1-ilp32.s: Likewise.
  * gas/aarch64/reloc-dtprel_g1_nc.s: Likewise.
  * gas/aarch64/reloc-dtprel_g2.s: Likewise.
  * gas/aarch64/reloc-dtprel_hi12.s: Likewise.
  * gas/aarch64/reloc-dtprel_hi12-ilp32.s: Likewise.
  * gas/aarch64/reloc-dtprel_g0.d: New expectation file.
  * gas/aarch64/reloc-dtprel_g0-ilp32.d: Likewise.
  * gas/aarch64/reloc-dtprel_g0_nc.d: Likewise.
  * gas/aarch64/reloc-dtprel_g0_nc-ilp32.d: Likewise.
  * gas/aarch64/reloc-dtprel_g1.d: Likewise.
  * gas/aarch64/reloc-dtprel_g1-ilp32.d: Likewise.
  * gas/aarch64/reloc-dtprel_g1_nc.d: Likewise.
  * gas/aarch64/reloc-dtprel_g2.d: Likewise.
  * gas/aarch64/reloc-dtprel_hi12.d: Likewise.
  * gas/aarch64/reloc-dtprel_hi12-ilp32.d: Likewise.
29 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_g0-ilp32.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0-ilp32.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc-ilp32.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc-ilp32.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g1-ilp32.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g1-ilp32.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g1.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g1.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g2.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_g2.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_hi12-ilp32.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_hi12-ilp32.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reloc-dtprel_hi12.s [new file with mode: 0644]
include/elf/aarch64.h