From 6955136728a68365bbb5e6e1327dff1654b2a0ca Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 3 Feb 2021 10:57:12 +1030 Subject: PR27311 again, ld.bfd (symbol from plugin): undefined reference bfd/ PR 27311 * elflink.c (_bfd_elf_add_default_symbol): Clear override when undecorated symbol will have a different version. ld/ * testsuite/ld-ifunc/ifunc.exp (libpr16467b.so, libpr16467bn.so): Link with --as-needed. --- bfd/elflink.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bfd/elflink.c') diff --git a/bfd/elflink.c b/bfd/elflink.c index 7ac38ca..5af32ef 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1946,12 +1946,16 @@ _bfd_elf_add_default_symbol (bfd *abfd, if (hi->verinfo.vertree != NULL && hide) { (*bed->elf_backend_hide_symbol) (info, hi, TRUE); + *override = FALSE; goto nondefault; } } if (hi->verinfo.vertree != NULL && strcmp (p + 1 + (p[1] == '@'), hi->verinfo.vertree->name) != 0) - goto nondefault; + { + *override = FALSE; + goto nondefault; + } } if (!*override) -- cgit v1.1