[AArch64] Only override the symbol dynamic decision on undefined weak symbol
Jiong Wang
jiong.wang@foss.arm.com
Wed Jun 28 10:42:00 GMT 2017
On 22/06/17 16:24, Jiong Wang wrote:
> On 21/06/17 18:20, Christophe Lyon wrote:
but on
>> native builds I see:
>> ld/testsuite/ld-elf/indirect.exp ...
>> FAIL: Run indirect5 3
>> FAIL: Run indirect5 4
>> FAIL: indirect5c dynsym
>> FAIL: indirect5d dynsym
>
> I will look at them, PR 21402 on AArch64.
Here is the fix, it's an adaption of the x86-64 fix to AArch64.
After the generic code deciding one symbol is not dynamic, AArch64 backend
only overrides the decision on undefined weak symbols.
This patch fixed above failures, and there is no regression on:
cross/native check-gas/ld/binutils/gcc/g++
This patch is based on top of the prerequisite patch posted at (wait approval):
https://sourceware.org/ml/binutils/2017-06/msg00315.html
OK for master?
bfd/
2017-06-28 Jiong Wang <jiong.wang@arm.com>
PR ld/21402
* elfnn-aarch64.c (elfNN_aarch64_allocate_dynrelocs): Only make
undefined weak symbols into dynamic.
(elfNN_aarch64_final_link_relocate): Generate runtime RELATIVE
relocation for non-dynamic symbols.
(elfNN_aarch64_finish_dynamic_symbol): Add sanity check.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix.patch
Type: text/x-patch
Size: 6124 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20170628/14a71bbb/attachment.bin>
More information about the Binutils
mailing list