binutils-gdb/ld/testsuite/ld-plugin
H.J. Lu 0e6a3f07f5 ld: Properly override the IR definition
We change the previous definition in the IR object to undefweak only
after all LTO symbols have been read.

include/

	PR ld/26262
	PR ld/26267
	* bfdlink.h (bfd_link_info): Add lto_all_symbols_read.

ld/

	PR ld/26262
	PR ld/26267
	* ldlang.c (lang_process): Set lto_all_symbols_read after all
	LTO IR symbols have been read.
	* plugin.c (plugin_notice): Override the IR definition only if
	all LTO IR symbols have been read or the new definition is
	non-weak and the the IR definition is weak
	* testsuite/ld-plugin/lto.exp: Run PR ld/26262 and ld/26267
	tests.
	* testsuite/ld-plugin/pr26262a.c: New file.
	* testsuite/ld-plugin/pr26262b.c: Likewise.
	* testsuite/ld-plugin/pr26262c.c: Likewise.
	* testsuite/ld-plugin/pr26267.err: Likewise.
	* testsuite/ld-plugin/pr26267a.c: Likewise.
	* testsuite/ld-plugin/pr26267b.c: Likewise.
	* testsuite/ld-plugin/pr26267c.c: Likewise.
2020-07-22 03:49:17 -07:00
..
dummy.c Add LTO tests 2012-12-07 19:23:50 +00:00
dummy.s Add LTO tests 2012-12-07 19:23:50 +00:00
func1p.c Add plugin visibility test 2012-12-07 19:14:41 +00:00
func2i.c Add plugin visibility test 2012-12-07 19:14:41 +00:00
func3h.c Add plugin visibility test 2012-12-07 19:14:41 +00:00
func.c Add tests for non-object IR file 2015-02-11 05:02:12 -08:00
lto-1a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-1b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-2.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-3.d Add LTO tests 2012-12-07 19:23:50 +00:00
lto-3.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-3a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-3b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-3c.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-3r.d Ajdust lto-3r and lto-5r tests for powerpc64 2019-07-26 10:02:34 +09:30
lto-5.d Add LTO tests 2012-12-07 19:23:50 +00:00
lto-5.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-5a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-5b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-5r.d Ajdust lto-3r and lto-5r tests for powerpc64 2019-07-26 10:02:34 +09:30
lto-6.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-7.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-7a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-7b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-7c.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-7d.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-8.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-8a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-8b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-9.cc Add LTO tests 2012-12-07 19:23:50 +00:00
lto-9.d Add LTO tests 2012-12-07 19:23:50 +00:00
lto-11.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-11a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-11b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-11c.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-12.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-12a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-12b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-12c.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-13.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-13a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-13b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-13c.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-14.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-14a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-14b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-14c.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-15.out Add LTO tests 2012-12-07 19:23:50 +00:00
lto-15a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-15b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-16a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-16a.d * ld-plugin/lto-16a.d: Match powerpc64 function symbol type. 2013-01-15 05:05:26 +00:00
lto-16b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-16b.d * ld-plugin/lto-16a.d: Match powerpc64 function symbol type. 2013-01-15 05:05:26 +00:00
lto-17a.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto-17a.d * ld-plugin/lto-16a.d: Match powerpc64 function symbol type. 2013-01-15 05:05:26 +00:00
lto-17b-1.d Add LTO tests 2012-12-07 19:23:50 +00:00
lto-17b-2.d * ld-plugin/lto-16a.d: Match powerpc64 function symbol type. 2013-01-15 05:05:26 +00:00
lto-17b.c Add LTO tests 2012-12-07 19:23:50 +00:00
lto.exp ld: Properly override the IR definition 2020-07-22 03:49:17 -07:00
main.c
pass.out PR ld/20276: Set non_ir_ref on common symbol 2016-06-20 11:26:13 +09:30
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 ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-7.d ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-8.d ld error/warning messages 2018-02-26 10:51:12 +10:30
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 Provide string description of definition, visibility and resolution in LTO plug-in. 2019-03-26 15:22:01 +01:00
plugin-13.d PowerPC64 dot-sym testsuite fixes 2016-12-03 20:59:43 +10:30
plugin-14.d ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-15.d ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-16.d ld error/warning messages 2018-02-26 10:51:12 +10:30
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 ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-21.d ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-22.d ld error/warning messages 2018-02-26 10:51:12 +10:30
plugin-23.d ld error/warning messages 2018-02-26 10:51:12 +10:30
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-30.d ld: Restore file offset after a plugin fails to claim a file 2016-07-19 09:58:01 +01:00
plugin-vis-1.d Properly convert LTO plugin visibility to ELF visibility. 2010-12-06 00:00:15 +00:00
plugin.exp tcl global directive outside proc body does nothing (ld) 2020-06-04 16:11:19 +09:30
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 Add LTO tests 2012-12-07 19:23:50 +00:00
pr12758a.s Add LTO tests 2012-12-07 19:23:50 +00:00
pr12758b.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr12760a.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr12760b.c PowerPC64 dot-sym testsuite fixes 2016-12-03 20:59:43 +10:30
pr12942.out Add LTO tests 2012-12-07 19:23:50 +00:00
pr12942a.cc PR ld/15227 2013-04-03 11:44:41 +00:00
pr12942a.h Add LTO tests 2012-12-07 19:23:50 +00:00
pr12942b.cc Add LTO tests 2012-12-07 19:23:50 +00:00
pr12942c.cc Add LTO tests 2012-12-07 19:23:50 +00:00
pr12975.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr12975.d Add LTO tests 2012-12-07 19:23:50 +00:00
pr12975.t Add LTO tests 2012-12-07 19:23:50 +00:00
pr12982.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr12982.d Disable the PR12982 test for HPPA targets. 2018-08-02 16:37:12 +01:00
pr13066.cc Add LTO tests 2012-12-07 19:23:50 +00:00
pr13066.out Add LTO tests 2012-12-07 19:23:50 +00:00
pr13183.d Add LTO tests 2012-12-07 19:23:50 +00:00
pr13183a.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr13183b.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr13201.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr13201.out Add LTO tests 2012-12-07 19:23:50 +00:00
pr13229.cc Add LTO tests 2012-12-07 19:23:50 +00:00
pr13229.d Add LTO tests 2012-12-07 19:23:50 +00:00
pr13244.c Add LTO tests 2012-12-07 19:23:50 +00:00
pr13244.d Add LTO tests 2012-12-07 19:23:50 +00:00
pr13287.cc Add LTO tests 2012-12-07 19:23:50 +00:00
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 Don't add DT_NEEDED for references from the dummy bfd 2013-02-16 17:54:37 +00:00
pr15146a.c Don't add DT_NEEDED for references from the dummy bfd 2013-02-16 17:54:37 +00:00
pr15146b.c Don't add DT_NEEDED for references from the dummy bfd 2013-02-16 17:54:37 +00:00
pr15146c.c missed from last commit 2013-02-18 04:44:16 +00:00
pr15146d.c Don't add DT_NEEDED for references from the dummy bfd 2013-02-16 17:54:37 +00:00
pr15323.out Set non_ir_ref if a symbol is referenced by a non-shared object 2013-03-30 00:38:39 +00:00
pr15323a.c Add "ld -r" tests for PR ld/15323 2015-09-11 10:02:57 -07:00
pr15323b.c Set non_ir_ref if a symbol is referenced by a non-shared object 2013-03-30 00:38:39 +00:00
pr16746a.c PowerPC64 dot-sym testsuite fixes 2016-12-03 20:59:43 +10:30
pr16746b.c PowerPC64 dot-sym testsuite fixes 2016-12-03 20:59:43 +10: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
pr20267a.c Use the IR symbol table for the IR input object 2016-06-20 05:10:46 -07:00
pr20267b.c Use the IR symbol table for the IR input object 2016-06-20 05:10:46 -07:00
pr20276a.c PR ld/20276: Set non_ir_ref on common symbol 2016-06-20 11:26:13 +09:30
pr20276b.c PR ld/20276: Set non_ir_ref on common symbol 2016-06-20 11:26:13 +09:30
pr20321.c Warn and return for duplicated plugin 2016-07-04 08:55:20 -07:00
pr21382a.c Handle symbol defined in IR and referenced in DSO 2017-04-20 07:48:35 -07:00
pr21382b.c Handle symbol defined in IR and referenced in DSO 2017-04-20 07:48:35 -07:00
pr22220.h PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY 2017-09-28 17:36:36 +09:30
pr22220lib.cc PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY 2017-09-28 17:36:36 +09:30
pr22220lib.ver PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY 2017-09-28 17:36:36 +09:30
pr22220main.cc PR22220, BFD linker wrongly marks symbols as PREVAILING_DEF_IRONLY 2017-09-28 17:36:36 +09:30
pr22502a.c ld: Set non_ir_ref_regular on symbols referenced in regular objects 2017-11-28 03:48:44 -08:00
pr22502b.c ld: Set non_ir_ref_regular on symbols referenced in regular objects 2017-11-28 03:48:44 -08:00
pr22721.t x86: Check the versioned __tls_get_addr symbol 2018-01-20 14:29:36 -08:00
pr22721a.s x86: Check the versioned __tls_get_addr symbol 2018-01-20 14:29:36 -08:00
pr22721b.c x86: Check the versioned __tls_get_addr symbol 2018-01-20 14:29:36 -08:00
pr22751.c Add a testcase for PR ld/22751 2018-01-27 16:04:34 -08:00
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 Adjust testsuite/ld-plugin/pr22983.d 2018-03-20 09:21:35 -07:00
pr22983.t Set non_ir_ref_dynamic if a symbol is made dynamic 2018-03-20 03:51:48 -07:00
pr22983a.c Set non_ir_ref_dynamic if a symbol is made dynamic 2018-03-20 03:51:48 -07:00
pr22983b.c Set non_ir_ref_dynamic if a symbol is made dynamic 2018-03-20 03:51:48 -07:00
pr23309.c ld: Set non_ir_ref_regular for --undefined SYMBOL 2018-07-04 06:29:13 -07:00
pr23309.d ld: Set non_ir_ref_regular for --undefined SYMBOL 2018-07-04 06:29:13 -07:00
pr23460a.c Add a testcase for PR binutils/23460 2018-08-02 05:00:59 -07:00
pr23460b.c Add a testcase for PR binutils/23460 2018-08-02 05:00:59 -07:00
pr23460c.c Add a testcase for PR binutils/23460 2018-08-02 05:00:59 -07:00
pr23460d.c Add a testcase for PR binutils/23460 2018-08-02 05:00:59 -07:00
pr23460e.c Add a testcase for PR binutils/23460 2018-08-02 05:00:59 -07:00
pr23460f.c Add a testcase for PR binutils/23460 2018-08-02 05:00:59 -07:00
pr23818.d ELF: Hide symbols defined in discarded input sections 2018-10-24 18:08:24 -07:00
pr23818.t ELF: Hide symbols defined in discarded input sections 2018-10-24 18:08:24 -07:00
pr23818a.c ELF: Hide symbols defined in discarded input sections 2018-10-24 18:08:24 -07:00
pr23818b.c ELF: Hide symbols defined in discarded input sections 2018-10-24 18:08:24 -07:00
pr23958.c Use __asm__ rather than asm in ld testsuite 2020-06-16 22:13:20 +09:30
pr23958.t Override the previous definition from IR object 2018-12-07 15:40:02 -08:00
pr24406-1.c ld-plugin/pr24406-1.c: Correct buffer size to read 2019-09-23 08:51:36 -07:00
pr24406-2a.c LTO: Properly handle wrapper symbols in IR 2019-04-25 07:54:00 -07:00
pr24406-2b.c LTO: Properly handle wrapper symbols in IR 2019-04-25 07:54:00 -07:00
pr24486a.c Don't complain undefined weak dynamic reference 2019-04-26 07:52:09 -07:00
pr24486b.c Don't complain undefined weak dynamic reference 2019-04-26 07:52:09 -07:00
pr24486c.c Don't complain undefined weak dynamic reference 2019-04-26 07:52:09 -07:00
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
run-ie.c Add LTO tests 2012-12-07 19:23:50 +00:00
run-ie.out Add LTO tests 2012-12-07 19:23:50 +00:00
text.c