]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY
authorAlan Modra <amodra@gmail.com>
Thu, 28 Sep 2017 07:41:38 +0000 (17:11 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 28 Sep 2017 13:17:36 +0000 (22:47 +0930)
commita45d8fd5ffbf8888d9449d1e149aa396fb86513b
treeb6745d0b514dd83f642350b9cfc813303032c887
parentc54582504bde81ff7268f4d9464542e58359f94f
PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY

non_ir_ref_dynamic wasn't being set in the case where we have a
versioned dynamic symbol definition with a non-versioned matching IR
symbol.

bfd/
PR 22220
* elflink.c (_bfd_elf_merge_symbol): Set non_ir_ref_dynamic in
a case where plugin_notice isn't called.
ld/
* testsuite/ld-plugin/pr22220.h,
* testsuite/ld-plugin/pr22220lib.cc,
* testsuite/ld-plugin/pr22220lib.ver,
* testsuite/ld-plugin/pr22220main.cc: New test.
* testsuite/ld-plugin/lto.exp: Run it.

(cherry picked from commit 1a3b5c34fe371f618402f811a981839c9191ff9f)
bfd/ChangeLog
bfd/elflink.c
ld/ChangeLog
ld/testsuite/ld-plugin/lto.exp
ld/testsuite/ld-plugin/pr22220.h [new file with mode: 0644]
ld/testsuite/ld-plugin/pr22220lib.cc [new file with mode: 0644]
ld/testsuite/ld-plugin/pr22220lib.ver [new file with mode: 0644]
ld/testsuite/ld-plugin/pr22220main.cc [new file with mode: 0644]