From 28f2a4ac6f40b5bf1fccc1fa320b41f82f3c5cc9 Mon Sep 17 00:00:00 2001 From: Sriraman Tallam Date: Wed, 19 Dec 2012 02:55:15 +0000 Subject: Group text sections with prefixes .text.unlikely,.text.hot and .text.startup by default. 2012-12-18 Sriraman Tallam * layout.cc (Layout::is_section_name_prefix_grouped): New function. * layout.h (Layout::is_section_name_prefix_grouped): New function. * output.cc (Output_section::add_input_section): Check if section name contains special prefix. Keep input sections to sort such sections. (Output_section::Input_section_sort_section_order_index_compare ::operator()): Group sections according to prefixes. * (Output_section::sort_attached_input_sections): Add condition to Input_section_entry constructor call. * testsuite/Makefile.am (text_section_grouping): New test. * testsuite/Makefile.in: Regenerate. * testsuite/text_section_grouping.cc: New file. * testsuite/text_section_grouping.sh: New file. --- gold/testsuite/Makefile.am | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gold/testsuite/Makefile.am') diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index c5c8a99..745e13d 100644 --- a/gold/testsuite/Makefile.am +++ b/gold/testsuite/Makefile.am @@ -250,6 +250,16 @@ final_layout: final_layout.o final_layout_sequence.txt gcctestdir/ld final_layout.stdout: final_layout $(TEST_NM) -n --synthetic final_layout > final_layout.stdout +check_SCRIPTS += text_section_grouping.sh +check_DATA += text_section_grouping.stdout +MOSTLYCLEANFILES += text_section_grouping +text_section_grouping.o: text_section_grouping.cc + $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +text_section_grouping: text_section_grouping.o gcctestdir/ld + $(CXXLINK) -Bgcctestdir/ text_section_grouping.o +text_section_grouping.stdout: text_section_grouping + $(TEST_NM) -n --synthetic text_section_grouping > text_section_grouping.stdout + check_PROGRAMS += icf_virtual_function_folding_test MOSTLYCLEANFILES += icf_virtual_function_folding_test icf_virtual_function_folding_test.o: icf_virtual_function_folding_test.cc -- cgit v1.1