8sa1-binutils-gdb/ld/testsuite/ld-plugin
H.J. Lu b95a0a3177 Skip an archive element if not added by linker
During archive rescan to resolve symbol references for files added by
LTO, linker add_archive_element callback is called to check if an
archive element should added.  After all IR symbols have been claimed,
linker won't claim new IR symbols and shouldn't add the LTO archive
element.  This patch updates linker add_archive_element callback to
return FALSE when seeing an LTO archive element during rescan and
changes ELF linker to skip such archive element.

bfd/

	PR ld/20103
	* cofflink.c (coff_link_check_archive_element): Return TRUE if
	linker add_archive_element callback returns FALSE.
	* ecoff.c (ecoff_link_check_archive_element): Likewise.
	* elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
	archive element if linker add_archive_element callback returns
	FALSE.
	* elflink.c (elf_link_add_archive_symbols): Likewise.
	* pdp11.c (aout_link_check_ar_symbols): Likewise.
	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
	(xcoff_link_check_ar_symbols): Likewise.

ld/

	PR ld/20103
	* ldmain.c (add_archive_element): Don't claim new IR symbols
	after all IR symbols have been claimed.
	* plugin.c (plugin_call_claim_file): Remove no_more_claiming
	check.
	* testsuite/ld-plugin/lto.exp (pr20103): New proc.
	Run PR ld/20103 tests.
	* testsuite/ld-plugin/pr20103a.c: New file.
	* testsuite/ld-plugin/pr20103b.c: Likewise.
	* testsuite/ld-plugin/pr20103c.c: Likewise.
2016-05-25 08:41:05 -07:00
..
dummy.c
dummy.s
func1p.c
func2i.c
func3h.c
func.c Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
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 Skip an archive element if not added by linker 2016-05-25 08:41:05 -07:00
main.c
plugin-1.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-2.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-3.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-4.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-5.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-6.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-7.d Properly mark the plugin symbol undefined 2015-02-06 04:29:35 -08:00
plugin-8.d Properly mark the plugin symbol undefined 2015-02-06 04:29:35 -08:00
plugin-9.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-10.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-11.d The initial support for LDPT_GET_VIEW 2015-01-28 10:27:31 -08:00
plugin-12.d
plugin-13.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-14.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-15.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-16.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-17.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-18.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-19.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-20.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-21.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-22.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-23.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-24.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-25.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-26.d Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
plugin-27.d Output "warning:" or "error:" in plugin messages 2015-02-11 14:00:51 -08:00
plugin-28.d Output "warning:" or "error:" in plugin messages 2015-02-11 14:00:51 -08:00
plugin-29.d Output "warning:" or "error:" in plugin messages 2015-02-11 14:00:51 -08:00
plugin-vis-1.d
plugin.exp Handle symbols defined/referenced only within IR 2016-05-12 16:50:52 -07:00
pr12365a.c Mark the plugin symbol undefined 2015-02-03 09:03:23 -08:00
pr12365b.c Mark the plugin symbol undefined 2015-02-03 09:03:23 -08:00
pr12365c.c Mark the plugin symbol undefined 2015-02-03 09:03:23 -08:00
pr12696-1.cc
pr12758a.s
pr12758b.c
pr12760a.c
pr12760b.c
pr12942.out
pr12942a.cc PR ld/15227 2013-04-03 11:44:41 +00:00
pr12942a.h
pr12942b.cc
pr12942c.cc
pr12975.c
pr12975.d
pr12975.t
pr12982.c
pr12982.d PR ld/12982 2013-05-21 07:15:22 +00:00
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 Add a testcase for PR ld/14918 2015-02-03 08:24:50 -08:00
pr14918.d Add a testcase for PR ld/14918 2015-02-03 08:24:50 -08:00
pr15146.d
pr15146a.c
pr15146b.c
pr15146c.c
pr15146d.c
pr15323.out
pr15323a.c Add "ld -r" tests for PR ld/15323 2015-09-11 10:02:57 -07:00
pr15323b.c
pr16746a.c Don't issue a warning for references in LTO IR to warning symbols 2014-08-07 10:28:48 +09:30
pr16746b.c Don't issue a warning for references in LTO IR to warning symbols 2014-08-07 10:28:48 +09:30
pr16746c.c Don't issue a warning for references in LTO IR to warning symbols 2014-08-07 10:28:48 +09:30
pr16746d.c Don't issue a warning for references in LTO IR to warning symbols 2014-08-07 10:28:48 +09:30
pr16846a.c Add tests for PR ld/16846 2014-04-22 10:22:39 -07:00
pr16846b.c Add tests for PR ld/16846 2014-04-22 10:22:39 -07:00
pr16846c.c Add tests for PR ld/16846 2014-04-22 10:22:39 -07:00
pr17973.d Add a testcase for PR ld/17973 2015-02-14 06:26:20 -08:00
pr17973.s Add a testcase for PR ld/17973 2015-02-14 06:26:20 -08:00
pr19317.c ld -r doesn't need plugin for slim lto object 2015-12-10 12:35:50 -08:00
pr19317.out ld -r doesn't need plugin for slim lto object 2015-12-10 12:35:50 -08:00
pr20070.d Handle symbols defined/referenced only within IR 2016-05-12 16:50:52 -07:00
pr20070a.c Handle symbols defined/referenced only within IR 2016-05-12 16:50:52 -07:00
pr20070b.c Handle symbols defined/referenced only within IR 2016-05-12 16:50:52 -07:00
pr20103a.c Skip an archive element if not added by linker 2016-05-25 08:41:05 -07:00
pr20103b.c Skip an archive element if not added by linker 2016-05-25 08:41:05 -07:00
pr20103c.c Skip an archive element if not added by linker 2016-05-25 08:41:05 -07:00
run-ie.c
run-ie.out
text.c