binutils-gdb/ld/testsuite/ld-plugin
Alan Modra 1e3b96fd6c Allow plugin syms to mark as-needed shared libs needed
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.
2020-09-04 14:06:44 +09:30
..
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 Ajdust lto-3r and lto-5r tests for powerpc64 2019-07-26 10:02:34 +09:30
lto-5.d
lto-5.out
lto-5a.c
lto-5b.c
lto-5r.d Ajdust lto-3r and lto-5r tests for powerpc64 2019-07-26 10:02:34 +09:30
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 Allow plugin syms to mark as-needed shared libs needed 2020-09-04 14:06:44 +09:30
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 ld: Change NOSANTIZE_CFLAGS to NOSANITIZE_CFLAGS 2020-09-03 17:17:19 -07:00
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 Re: ld testsuite fixes for alpha 2020-06-19 12:59:30 +09:30
pr22983.2.d Re: ld testsuite fixes for alpha 2020-06-19 12:59:30 +09:30
pr22983.3.d ld testsuite fixes for alpha 2020-06-19 10:01:09 +09:30
pr22983.4.d Re: ld testsuite fixes for alpha 2020-06-19 12:59:30 +09:30
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 Use __asm__ rather than asm in ld testsuite 2020-06-16 22:13:20 +09:30
pr23958.t
pr24406-1.c ld-plugin/pr24406-1.c: Correct buffer size to read 2019-09-23 08:51:36 -07:00
pr24406-2a.c
pr24406-2b.c
pr24486a.c
pr24486b.c
pr24486c.c
pr25355.c Use GCC LTO wrapper to get real symbols from LTO IR objects 2020-02-10 19:01:53 -08:00
pr25355.d Adjust PR25355 testcase 2020-02-19 13:10:47 +10:30
pr25593.d ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25593a-1.c ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25593a-2.c ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25593b.c ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25593c.c ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25593d.c ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25593e.c ld: Add PR ld/25593 tests 2020-02-26 03:58:47 -08:00
pr25618.d plugin: Copy the no_export field to the IR dummy object 2020-03-01 17:10:49 -08:00
pr25618a.cc plugin: Copy the no_export field to the IR dummy object 2020-03-01 17:10:49 -08:00
pr25618a.h plugin: Copy the no_export field to the IR dummy object 2020-03-01 17:10:49 -08:00
pr25618b.cc plugin: Copy the no_export field to the IR dummy object 2020-03-01 17:10:49 -08:00
pr25618b.h plugin: Copy the no_export field to the IR dummy object 2020-03-01 17:10:49 -08:00
pr26163a.c ld: Set non_ir_ref_regular on source for assignment 2020-06-24 03:56:16 -07:00
pr26163b.c ld: Set non_ir_ref_regular on source for assignment 2020-06-24 03:56:16 -07:00
pr26262a.c ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26262b.c ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26262c.c ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26267.err ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26267a.c ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26267b.c ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26267c.c ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
pr26389.c ld: Add a PR binutils/26389 test 2020-08-16 05:45:02 -07:00
pr26389.d ld: Add a PR binutils/26389 test 2020-08-16 05:45:02 -07:00
run-ie.c
run-ie.out
text.c