When using linker scripts, place linker-generated sections by the output section name.

2016-12-12  Igor Kudrin  <ikudrin@accesssoftek.com>
	    Cary Coutant  <ccoutant@gmail.com>

gold/
	PR gold/14676
	* script-sections.cc (Output_section_definition::output_section_name):
	For linker-generated sections, compare with output section name.
	* testsuite/Makefile.am (script_test_13): New test.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/script_test_13.c: New source file.
	* testsuite/script_test_13.sh: New script.
	* testsuite/script_test_13.t: New linker script.
This commit is contained in:
Cary Coutant
2016-12-12 18:51:29 -08:00
parent d81222d386
commit bfbf34de2f
7 changed files with 101 additions and 5 deletions

View File

@@ -2291,6 +2291,17 @@ Output_section_definition::output_section_name(
Script_sections::Section_type* psection_type,
bool* keep)
{
// If the input section is linker-created, just look for a match
// on the output section name.
if (file_name == NULL && this->name_ != "/DISCARD/")
{
if (this->name_ != section_name)
return NULL;
*slot = &this->output_section_;
*psection_type = this->section_type();
return this->name_.c_str();
}
// Ask each element whether it matches NAME.
for (Output_section_elements::const_iterator p = this->elements_.begin();
p != this->elements_.end();