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.
This commit is contained in:
Alan Modra 2021-02-03 10:57:12 +10:30
parent a71501e25f
commit 6955136728
4 changed files with 18 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2021-02-03 Alan Modra <amodra@gmail.com>
PR 27311
* elflink.c (_bfd_elf_add_default_symbol): Clear override when
undecorated symbol will have a different version.
2021-02-02 Alan Modra <amodra@gmail.com>
PR 27311

View File

@ -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)

View File

@ -1,3 +1,8 @@
2021-02-03 Alan Modra <amodra@gmail.com>
* testsuite/ld-ifunc/ifunc.exp (libpr16467b.so, libpr16467bn.so):
Link with --as-needed.
2021-02-02 Alan Modra <amodra@gmail.com>
* testsuite/ld-plugin/pr27311.d,

View File

@ -397,7 +397,7 @@ run_cc_link_tests [list \
] \
[list \
"Build libpr16467b.so" \
"-shared tmpdir/pr16467b.o tmpdir/libpr16467a.so \
"-shared -Wl,--as-needed tmpdir/pr16467b.o tmpdir/libpr16467a.so \
-Wl,--version-script=pr16467b.map" \
"-fPIC" \
{ dummy.c } \
@ -422,7 +422,7 @@ run_cc_link_tests [list \
] \
[list \
"Build libpr16467bn.so" \
"-shared tmpdir/pr16467b.o tmpdir/libpr16467an.so \
"-shared -Wl,--as-needed tmpdir/pr16467b.o tmpdir/libpr16467an.so \
-Wl,--version-script=pr16467b.map" \
"-fPIC" \
{ dummy.c } \