summaryrefslogtreecommitdiff
path: root/gold/layout.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/layout.cc')
-rw-r--r--gold/layout.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/layout.cc b/gold/layout.cc
index 33fa473c1a..65c3de673a 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -1709,6 +1709,10 @@ Layout::make_output_section(const char* name, elfcpp::Elf_Word type,
&& strcmp(name, ".text") == 0)
os->set_may_sort_attached_input_sections();
+ // GNU linker sorts section by name with --sort-section=name.
+ if (strcmp(parameters->options().sort_section(), "name") == 0)
+ os->set_must_sort_attached_input_sections();
+
// Check for .stab*str sections, as .stab* sections need to link to
// them.
if (type == elfcpp::SHT_STRTAB