summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSriraman Tallam <tmsriram@google.com>2012-07-16 19:00:18 +0000
committerSriraman Tallam <tmsriram@google.com>2012-07-16 19:00:18 +0000
commite890bc57dc4e91d5f540f540a68aad14087e134a (patch)
tree2710e23df3abe3555f27390a516c0da2ec819158
parent9d36926759c52c809e84fb0ba3ce4f76dacaf848 (diff)
downloadbinutils-redhat-e890bc57dc4e91d5f540f540a68aad14087e134a.tar.gz
2012-07-16 Sriraman Tallam <tmsriram@google.com>
* gold.cc (queue_middle_tasks): Update function order only after deferred objects due to plugins are processed.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/gold.cc16
2 files changed, 13 insertions, 8 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 5f80c788e8..1e50690a93 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-16 Sriraman Tallam <tmsriram@google.com>
+
+ * gold.cc (queue_middle_tasks): Update function order only after
+ deferred objects due to plugins are processed.
+
2012-07-11 Ian Lance Taylor <iant@google.com>
* arm.cc (Arm_relocate_functions::abs16): Remove unused typedef.
diff --git a/gold/gold.cc b/gold/gold.cc
index 013702fed8..dddf5ad674 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -545,6 +545,14 @@ queue_middle_tasks(const General_options& options,
}
}
+ // Layout deferred objects due to plugins.
+ if (parameters->options().has_plugins())
+ {
+ Plugin_manager* plugins = parameters->options().plugins();
+ gold_assert(plugins != NULL);
+ plugins->layout_deferred_objects();
+ }
+
/* 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. */
@@ -559,14 +567,6 @@ queue_middle_tasks(const General_options& options,
(*p)->update_section_layout(layout->get_section_order_map());
}
- // Layout deferred objects due to plugins.
- if (parameters->options().has_plugins())
- {
- Plugin_manager* plugins = parameters->options().plugins();
- gold_assert(plugins != NULL);
- plugins->layout_deferred_objects();
- }
-
if (parameters->options().gc_sections()
|| parameters->options().icf_enabled())
{