mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
We must tell LTO about symbols in all shared libraries loaded. That means we can't load extra shared libraries after LTO recompilation, at least, not those that affect the set of symbols that LTO cares about, the IR symbols. This change will likely result in complaints about --as-needed libraries being loaded unnecessarily, but being correct is more important than being optimal. One of the PR15146 tests regresses, and while that could be hidden by disabling the missing dso message by making it conditional on h->root.non_ir_ref_regular, that would just be sweeping a problem under the rug. bfd/ PR 15146 PR 26314 PR 26530 * elflink.c (elf_link_add_object_symbols): Do set def_regular and ref_regular for IR symbols. Don't clear dynsym, allowing IR symbols to load --as-needed shared libraries, but prevent IR symbols from becoming dynamic. ld/ * testsuite/ld-plugin/lto.exp: Don't run pr15146 tests. * testsuite/ld-plugin/pr15146.d: Delete. * testsuite/ld-plugin/pr15146a.c: Delete. * testsuite/ld-plugin/pr15146b.c: Delete. * testsuite/ld-plugin/pr15146c.c: Delete. * testsuite/ld-plugin/pr15146d.c: Delete. |
||
---|---|---|
.. | ||
dummy.c | ||
dummy.s | ||
func1p.c | ||
func2i.c | ||
func3h.c | ||
func.c | ||
lto-1a.c | ||
lto-1b.c | ||
lto-2.c | ||
lto-3.d | ||
lto-3.out | ||
lto-3a.c | ||
lto-3b.c | ||
lto-3c.c | ||
lto-3r.d | ||
lto-5.d | ||
lto-5.out | ||
lto-5a.c | ||
lto-5b.c | ||
lto-5r.d | ||
lto-6.c | ||
lto-7.out | ||
lto-7a.c | ||
lto-7b.c | ||
lto-7c.c | ||
lto-7d.c | ||
lto-8.out | ||
lto-8a.c | ||
lto-8b.c | ||
lto-9.cc | ||
lto-9.d | ||
lto-11.out | ||
lto-11a.c | ||
lto-11b.c | ||
lto-11c.c | ||
lto-12.out | ||
lto-12a.c | ||
lto-12b.c | ||
lto-12c.c | ||
lto-13.out | ||
lto-13a.c | ||
lto-13b.c | ||
lto-13c.c | ||
lto-14.out | ||
lto-14a.c | ||
lto-14b.c | ||
lto-14c.c | ||
lto-15.out | ||
lto-15a.c | ||
lto-15b.c | ||
lto-16a.c | ||
lto-16a.d | ||
lto-16b.c | ||
lto-16b.d | ||
lto-17a.c | ||
lto-17a.d | ||
lto-17b-1.d | ||
lto-17b-2.d | ||
lto-17b.c | ||
lto.exp | ||
main.c | ||
pass.out | ||
plugin-1.d | ||
plugin-2.d | ||
plugin-3.d | ||
plugin-4.d | ||
plugin-5.d | ||
plugin-6.d | ||
plugin-7.d | ||
plugin-8.d | ||
plugin-9.d | ||
plugin-10.d | ||
plugin-11.d | ||
plugin-12.d | ||
plugin-13.d | ||
plugin-14.d | ||
plugin-15.d | ||
plugin-16.d | ||
plugin-17.d | ||
plugin-18.d | ||
plugin-19.d | ||
plugin-20.d | ||
plugin-21.d | ||
plugin-22.d | ||
plugin-23.d | ||
plugin-24.d | ||
plugin-25.d | ||
plugin-26.d | ||
plugin-27.d | ||
plugin-28.d | ||
plugin-29.d | ||
plugin-30.d | ||
plugin-vis-1.d | ||
plugin.exp | ||
pr12365a.c | ||
pr12365b.c | ||
pr12365c.c | ||
pr12696-1.cc | ||
pr12758a.s | ||
pr12758b.c | ||
pr12760a.c | ||
pr12760b.c | ||
pr12942.out | ||
pr12942a.cc | ||
pr12942a.h | ||
pr12942b.cc | ||
pr12942c.cc | ||
pr12975.c | ||
pr12975.d | ||
pr12975.t | ||
pr12982.c | ||
pr12982.d | ||
pr13066.cc | ||
pr13066.out | ||
pr13183.d | ||
pr13183a.c | ||
pr13183b.c | ||
pr13201.c | ||
pr13201.out | ||
pr13229.cc | ||
pr13229.d | ||
pr13244.c | ||
pr13244.d | ||
pr13287.cc | ||
pr14918.c | ||
pr14918.d | ||
pr15323.out | ||
pr15323a.c | ||
pr15323b.c | ||
pr16746a.c | ||
pr16746b.c | ||
pr16746c.c | ||
pr16746d.c | ||
pr16846a.c | ||
pr16846b.c | ||
pr16846c.c | ||
pr17973.d | ||
pr17973.s | ||
pr19317.c | ||
pr19317.out | ||
pr20070.d | ||
pr20070a.c | ||
pr20070b.c | ||
pr20103a.c | ||
pr20103b.c | ||
pr20103c.c | ||
pr20267a.c | ||
pr20267b.c | ||
pr20276a.c | ||
pr20276b.c | ||
pr20321.c | ||
pr21382a.c | ||
pr21382b.c | ||
pr22220.h | ||
pr22220lib.cc | ||
pr22220lib.ver | ||
pr22220main.cc | ||
pr22502a.c | ||
pr22502b.c | ||
pr22721.t | ||
pr22721a.s | ||
pr22721b.c | ||
pr22751.c | ||
pr22983.1.d | ||
pr22983.2.d | ||
pr22983.3.d | ||
pr22983.4.d | ||
pr22983.d | ||
pr22983.t | ||
pr22983a.c | ||
pr22983b.c | ||
pr23309.c | ||
pr23309.d | ||
pr23460a.c | ||
pr23460b.c | ||
pr23460c.c | ||
pr23460d.c | ||
pr23460e.c | ||
pr23460f.c | ||
pr23818.d | ||
pr23818.t | ||
pr23818a.c | ||
pr23818b.c | ||
pr23958.c | ||
pr23958.t | ||
pr24406-1.c | ||
pr24406-2a.c | ||
pr24406-2b.c | ||
pr24486a.c | ||
pr24486b.c | ||
pr24486c.c | ||
pr25355.c | ||
pr25355.d | ||
pr25593.d | ||
pr25593a-1.c | ||
pr25593a-2.c | ||
pr25593b.c | ||
pr25593c.c | ||
pr25593d.c | ||
pr25593e.c | ||
pr25618.d | ||
pr25618a.cc | ||
pr25618a.h | ||
pr25618b.cc | ||
pr25618b.h | ||
pr26163a.c | ||
pr26163b.c | ||
pr26262a.c | ||
pr26262b.c | ||
pr26262c.c | ||
pr26267.err | ||
pr26267a.c | ||
pr26267b.c | ||
pr26267c.c | ||
pr26389.c | ||
pr26389.d | ||
run-ie.c | ||
run-ie.out | ||
text.c |