binutils-gdb/ld/testsuite/ld-plugin
H.J. Lu eb7892c401 LTO: Properly check wrapper symbol
Add wrapper_symbol to bfd_link_hash_entry and set it to true for wrapper
symbol. Set wrap_status to wrapper if wrapper_symbol is true in LTO.

Note: Calling unwrap_hash_lookup to check for the wrapper symbol works
only when there is a definition for the wrapped symbol since references
to the wrapped symbol have been redirected to the wrapper symbol.

bfd/

	PR ld/31956
	* linker.c (bfd_wrapped_link_hash_lookup): Set wrapper_symbol
	for wrapper symbol.

include/

	PR ld/31956
	* bfdlink.h (bfd_link_hash_entry): Add wrapper_symbol.

ld/

	PR ld/31956
	* plugin.c (get_symbols): Set wrap_status to wrapper if
	wrapper_symbol is set.
	* testsuite/ld-plugin/lto.exp: Run PR ld/31956 tests.
	* testsuite/ld-plugin/pr31956a.c: New file.
	* testsuite/ld-plugin/pr31956b.c: Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-07-09 01:37:35 -07:00
..
dummy.c
dummy.s
func1p.c
func2i.c
func3h.c
func.c
libdep-a.c Revert: 35fd2ddeb1 2024-06-26 13:17:25 +01:00
libdep-b.c Revert: 35fd2ddeb1 2024-06-26 13:17:25 +01:00
libdep-main.c Revert: 35fd2ddeb1 2024-06-26 13:17:25 +01:00
libdep.exp Fix new libdep test so that if the plugin cannot be located the test fails gracefully. 2024-06-27 11:52:33 +01: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-18.out
lto-18a.c
lto-18b.c
lto-18c.c
lto-18d.c
lto-19.h
lto-19a.c
lto-19b.c
lto-19c.c
lto.exp LTO: Properly check wrapper symbol 2024-07-09 01:37:35 -07:00
main.c
pass1.out elf: Always honor the first definition in shared object and archive 2024-04-05 05:02:38 -07:00
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
pr15146.d
pr15146a.c
pr15146b.c
pr15146c.c
pr15146d.c
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
pr23935a.c Don't claim a fat IR object if no IR object should be claimed 2024-03-26 07:17:17 -07:00
pr23935b.c Don't claim a fat IR object if no IR object should be claimed 2024-03-26 07:17:17 -07:00
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
pr26806.c
pr26806.d
pr27311.d
pr27311.ver
pr27311a.c
pr27311b.c
pr27311c.c
pr27311d.c
pr27441a.c
pr27441b.c
pr27441c.c
pr27441c.d
pr28138-1.c
pr28138-2.c
pr28138-3.c
pr28138-4.c
pr28138-5.c
pr28138-6.c
pr28138-7.c
pr28138.c
pr28264-1.d
pr28264-2.d
pr28264-3.d
pr28264-4.d
pr28264.c
pr28264.ver
pr28849.d
pr28849a.c
pr28849b.c
pr28879a.cc
pr28879b.cc
pr29086.c
pr30281.c
pr30281.t
pr31482a.c elf: Always honor the first definition in shared object and archive 2024-04-05 05:02:38 -07:00
pr31482b.c elf: Always honor the first definition in shared object and archive 2024-04-05 05:02:38 -07:00
pr31482c.c elf: Always honor the first definition in shared object and archive 2024-04-05 05:02:38 -07:00
pr31615.ver ld: Add PR ld/31615 tests 2024-04-08 05:18:24 -07:00
pr31615a.c ld: Add PR ld/31615 tests 2024-04-08 05:18:24 -07:00
pr31615b.c ld: Add PR ld/31615 tests 2024-04-08 05:18:24 -07:00
pr31615c.c ld: Add PR ld/31615 tests 2024-04-08 05:18:24 -07:00
pr31615d.c ld: Add PR ld/31615 tests 2024-04-08 05:18:24 -07:00
pr31644a.c elf: Skip the archive if the symbol isn't referenced 2024-04-16 17:45:23 -07:00
pr31644b.c elf: Skip the archive if the symbol isn't referenced 2024-04-16 17:45:23 -07:00
pr31644c.c elf: Skip the archive if the symbol isn't referenced 2024-04-16 17:45:23 -07:00
pr31956a.c LTO: Properly check wrapper symbol 2024-07-09 01:37:35 -07:00
pr31956b.c LTO: Properly check wrapper symbol 2024-07-09 01:37:35 -07:00
run-ie.c
run-ie.out
text.c