[PR ld/22269] aarch64: Handle local undefined weak symbols
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Wed, 15 Nov 2017 15:56:30 +0000 (15:56 +0000)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Mon, 27 Nov 2017 11:49:53 +0000 (11:49 +0000)
commita377ae2ad683d3c16ae74dba440ee441120a7d8a
tree3f231ad7b2614996231a895bcc1a1df3612fdd14
parent64973b0ac4c34e80821a56561ae1af15f7d6e809
[PR ld/22269] aarch64: Handle local undefined weak symbols

With static pie linking undefined weak symbols are forced to resolve locally
to 0, so no GOT setup is needed in elfNN_aarch64_finish_dynamic_symbol,
which previously failed for these symbols.

The failure caused the unhelpful error message:
"ld: final link failed: Nonrepresentable section on output"

bfd/
PR ld/22269
* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Use
UNDEFWEAK_NO_DYNAMIC_RELOC to avoid dynamic GOT relocs.
(elfNN_aarch64_allocate_dynrelocs): Likewise.
bfd/ChangeLog
bfd/elfnn-aarch64.c