[AArch64] Improve copy relocation support on four absolute relocation types
authorJiong Wang <jiong.wang@arm.com>
Tue, 26 Aug 2014 14:48:47 +0000 (15:48 +0100)
committerJiong Wang <jiong.wang@arm.com>
Tue, 26 Aug 2014 14:48:47 +0000 (15:48 +0100)
commit614b09cefb3bafa840fe5ed06c58024b0ff9c1cb
tree8f81648e5f08f7309aeb9a379e38e78a3b14ae56
parent2836a869c4607fd1200b928986092ffed20c1d32
[AArch64] Improve copy relocation support on four absolute relocation types

2014-08-26  Jiong Wang  <jiong.wang@arm.com>

  bfd/
* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
properly for MOVW_G0/1/2_NC and MOVW_G3.  Reject them when linking
shared library.
(elfNN_aarch64_gc_sweep_hook): Add check on these relocs.

  ld/testsuite/
* ld-aarch64/copy-relocs-so.s: New test file.
* ld-aarch64/copy-relocs-exe.s: Likewise.
* ld-aarch64/copy-relocs.d: New expectation file.
* ld-aarch64/emit-relocs-264-bad.d: New test file.
* ld-aarch64/emit-relocs-266-bad.d: Likewise.
* ld-aarch64/emit-relocs-268-bad.d: Likewise.
* ld-aarch64/emit-relocs-269-bad.d: Likewise.
* ld-aarch64/aarch64-elf.exp: Run new added test.
bfd/ChangeLog
bfd/elfnn-aarch64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-aarch64/aarch64-elf.exp
ld/testsuite/ld-aarch64/copy-reloc-exe.s [new file with mode: 0644]
ld/testsuite/ld-aarch64/copy-reloc-so.s [new file with mode: 0644]
ld/testsuite/ld-aarch64/copy-reloc.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/emit-relocs-264-bad.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/emit-relocs-266-bad.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/emit-relocs-268-bad.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/emit-relocs-269-bad.d [new file with mode: 0644]