New option -z,keep-text-section prefix.
authorSriraman Tallam <tmsriram@google.com>
Wed, 7 Mar 2018 20:15:49 +0000 (12:15 -0800)
committerSriraman Tallam <tmsriram@google.com>
Wed, 7 Mar 2018 20:15:49 +0000 (12:15 -0800)
commit779bdadbea9a62e5a2203651703e15edd321b9d6
treefc4c05a051c3234c9b62bb571edb766ffb27207a
parentea005f31ca7a823680c70a75ae073bee52487859
New option -z,keep-text-section prefix.

This option does not merge certain text sections with prefixes
.text.hot, .text.unlikely, .text.startup and .text.exit.

* layout.cc (Layout::default_section_order): Check for text section
prefixes.
(Layout::text_section_name_mapping): New static member.
(Layout::text_section_name_mapping_count): New static member.
(Layout::match_section_name): New static function.
(Layout::output_section_name): Check for text section prefixes.
* layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value.
(Output_section_order::ORDER_TEXT_STARTUP): New enum value.
(Output_section_order::ORDER_TEXT_EXIT): New enum value.
(Output_section_order::ORDER_TEXT_UNLIKELY): New enum value.
(Layout::text_section_name_mapping): New static member.
(Layout::text_section_name_mapping_count): New static member.
(Layout::match_section_name): New static function.
* options.h (keep_text_section_prefix): New -z option.
* testsuite/Makefile.am (keep_text_section_prefix): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/keep_text_section_prefix.cc: New test source.
* testsuite/keep_text_section_prefix.sh: New test script.
gold/ChangeLog
gold/layout.cc
gold/layout.h
gold/options.h
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/keep_text_section_prefix.cc [new file with mode: 0644]
gold/testsuite/keep_text_section_prefix.sh [new file with mode: 0755]