2011-02-11 Sriraman Tallam <tmsriram@google.com>
authorSriraman Tallam <tmsriram@google.com>
Sat, 12 Feb 2011 03:19:24 +0000 (03:19 +0000)
committerSriraman Tallam <tmsriram@google.com>
Sat, 12 Feb 2011 03:19:24 +0000 (03:19 +0000)
* output.cc (Output_section::add_input_section): Delay fill
generation for section ordering.

gold/ChangeLog
gold/output.cc

index 0313619..6bdc568 100644 (file)
@@ -1,3 +1,8 @@
+2011-02-11  Sriraman Tallam  <tmsriram@google.com>
+
+       * output.cc (Output_section::add_input_section): Delay fill
+       generation for section ordering.
+
 2011-02-09  Ian Lance Taylor  <iant@google.com>
 
        PR gold/12316
index 1158a77..739e00e 100644 (file)
@@ -2111,12 +2111,14 @@ Output_section::add_input_section(Layout* layout,
 
   // Determine if we want to delay code-fill generation until the output
   // section is written.  When the target is relaxing, we want to delay fill
-  // generating to avoid adjusting them during relaxation.
+  // generating to avoid adjusting them during relaxation.  Also, if we are
+  // sorting input sections we must delay fill generation.
   if (!this->generate_code_fills_at_write_
       && !have_sections_script
       && (sh_flags & elfcpp::SHF_EXECINSTR) != 0
       && parameters->target().has_code_fill()
-      && parameters->target().may_relax())
+      && (parameters->target().may_relax()
+          || parameters->options().section_ordering_file()))
     {
       gold_assert(this->fills_.empty());
       this->generate_code_fills_at_write_ = true;