summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSriraman Tallam <tmsriram@google.com>2011-02-12 03:19:24 +0000
committerSriraman Tallam <tmsriram@google.com>2011-02-12 03:19:24 +0000
commitac9b7b26085f0b09b2f692bdfff795ec81d4fd0c (patch)
tree2521f18250f1f25e0323af19538e2516bd59f571
parentcd1a14743ae437b3ddd99b666ef9ef9bb033e592 (diff)
downloadbinutils-redhat-ac9b7b26085f0b09b2f692bdfff795ec81d4fd0c.tar.gz
2011-02-11 Sriraman Tallam <tmsriram@google.com>
* output.cc (Output_section::add_input_section): Delay fill generation for section ordering.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/output.cc6
2 files changed, 9 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 0313619bcf..6bdc568fbc 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -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
diff --git a/gold/output.cc b/gold/output.cc
index 1158a77661..739e00eac1 100644
--- a/gold/output.cc
+++ b/gold/output.cc
@@ -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;