mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-12 12:16:04 +08:00
5789f845fb
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.
10 lines
194 B
Makefile
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
|
|
#...
|