binutils-gdb/ld/testsuite/ld-gc/start3.d
Alan Modra 5789f845fb --gc-sections with groups and start/stop syms
The testcases added here show situations where synthesized start/stop
symbols don't cause their associated input sections to be marked.
Fixed with the elflink.c and ldlang.c changes.

bfd/
	PR 27500
	* elflink.c (_bfd_elf_gc_mark_rsec): Do special start/stop
	processing not when start/stop symbol section is unmarked but
	on first time a start/stop symbol is processed.
ld/
	* ldlang.c (insert_undefined): Don't mark symbols here.
	(lang_mark_undefineds): Do so here instead, new function.
	(lang_process): Call lang_mark_undefineds.
	* testsuite/ld-gc/start3.d,
	* testsuite/ld-gc/start3.s: New test.
	* testsuite/ld-gc/start4.d,
	* testsuite/ld-gc/start4.s: New test.
	* testsuite/ld-gc/gc.exp: Run them.
2021-03-03 17:46:36 +10:30

10 lines
194 B
Makefile

#name: --gc-sections with groups and start/stop syms
#ld: --gc-sections -e _start
#nm: -n
#notarget: [is_generic]
#xfail: bfin-*-*linux* frv-*-*linux* lm32-*-*linux*
#...
[0-9a-f]+ T +bar
#...