b9b2ae8bbf
* script-sections.cc (Sections_element::output_section_name): Add keep return parameter. (Output_section_element::match_name): Add keep return parameter. Return the value of the keep_ member. * script-sections.h (class Output_section): Update output_section_name prototype. * layout.cc (Layout::keep_input_section): New public member function. (Layout::choose_output_section): Pass keep parameter to output_section_name. * layout.h (class Layout): Add keep_input_section. * object.cc (Sized_relobj_file::do_layout): Check for kept input sections. * testsuite/Makefile.am: Add a test. * testsuite/Makefile.in: Regenerate. * testsuite/pr14265.c: Source file for the test. * testsuite/pr14265.t: Linker script for the test. * testsuite/pr14265.sh: Shell script for the test. * ld-gc/gc.exp: Add a new test. * ld-gc/pr14265.c: Source file for the new test. * ld-gc/pr14265.t: Linker script for the new test. * ld-gc/pr14265.d: Expected symbol dump.
13 lines
316 B
Makefile
13 lines
316 B
Makefile
#name: --gc-sections with KEEP
|
|
#source: dummy.s
|
|
#ld: --gc-sections -T pr14265.t -e 0 tmpdir/pr14265.o
|
|
#nm: --format=bsd --numeric-sort
|
|
|
|
#...
|
|
[0-9a-f]+[ ]d[ ]_*foo1_start
|
|
[0-9a-f]+[ ]D[ ]_*foo1
|
|
[0-9a-f]+[ ]d[ ]_*foo1_end
|
|
[0-9a-f]+[ ]d[ ]_*foo2_start
|
|
[0-9a-f]+[ ]D[ ]_*foo2
|
|
[0-9a-f]+[ ]d[ ]_*foo2_end
|
|
#...
|