2012-07-16 Sriraman Tallam <tmsriram@google.com>
authorSriraman Tallam <tmsriram@google.com>
Mon, 16 Jul 2012 19:00:18 +0000 (19:00 +0000)
committerSriraman Tallam <tmsriram@google.com>
Mon, 16 Jul 2012 19:00:18 +0000 (19:00 +0000)
* gold.cc (queue_middle_tasks): Update function order only after
deferred objects due to plugins are processed.

gold/ChangeLog
gold/gold.cc

index 5f80c78..1e50690 100644 (file)
@@ -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.
index 013702f..dddf5ad 100644 (file)
@@ -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())
     {