aboutsummaryrefslogtreecommitdiff
path: root/gold/gold.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/gold.cc')
-rw-r--r--gold/gold.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/gold/gold.cc b/gold/gold.cc
index 693ff79..2700bdb 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -539,6 +539,20 @@ queue_middle_tasks(const General_options& options,
}
}
+ /* If plugins have specified a section order, re-arrange input sections
+ according to a specified section order. If --section-ordering-file is
+ also specified, do not do anything here. */
+ if (parameters->options().has_plugins()
+ && layout->is_section_ordering_specified()
+ && !parameters->options().section_ordering_file ())
+ {
+ for (Layout::Section_list::const_iterator p
+ = layout->section_list().begin();
+ p != layout->section_list().end();
+ ++p)
+ (*p)->update_section_layout(layout->get_section_order_map());
+ }
+
// Layout deferred objects due to plugins.
if (parameters->options().has_plugins())
{