[AArch64] Use SYMBOL_REFERENCES_LOCAL in one symbol check
authorJiong Wang <jiong.wang@arm.com>
Fri, 16 Jun 2017 13:20:38 +0000 (14:20 +0100)
committerJiong Wang <jiong.wang@arm.com>
Fri, 16 Jun 2017 13:20:38 +0000 (14:20 +0100)
commitd68f19767dfbb33c1813563d5a4af0731a1855c5
tree27afb23abad3e0ebaa2121a63a8d7cf191eeef39
parenta87dc45adc983a8e6ec3db8d18cd31c35abd2048
[AArch64] Use SYMBOL_REFERENCES_LOCAL in one symbol check

For some pc-relative relocations we want to allow them under PIC mode while
a normal global symbol defined in the same dynamic object can still bind
externally through copy relocation.  So, we should not allow pc-relative
relocation against such symbol.

SYMBOL_REFERENCES_LOCAL should be used and is more accurate than the original
individual checks.

bfd/
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
SYMBOL_REFERENCES_LOCAL.
ld/
* testsuite/ld-aarch64/aarch64-elf.exp: Update test name
* testsuite/ld-aarch64/pcrel.s: Add new testcases.
* testsuite/ld-aarch64/pcrel_pic_undefined.d: Update the expected
warnings.
* testsuite/ld-aarch64/pcrel_pic_defined_local.d: Rename ...
* testsuite/ld-aarch64/pcrel_pic_defined.d: ... to this.
Update expected warnings.
bfd/ChangeLog
bfd/elfnn-aarch64.c
ld/ChangeLog
ld/testsuite/ld-aarch64/aarch64-elf.exp
ld/testsuite/ld-aarch64/pcrel.s
ld/testsuite/ld-aarch64/pcrel_pic_defined.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d [deleted file]
ld/testsuite/ld-aarch64/pcrel_pic_undefined.d