Delaying fills generation while ordering sections in gold.

Sriraman Tallam tmsriram@google.com
Sat Feb 12 01:54:00 GMT 2011


Hi,

   I have attached a simple patch to delay fills generation for output
sections when input sections could be reordered using
--section-ordering-file flag.


	* output.cc (Output_section::add_input_section): Delay fill
	generation for section ordering.



Thanks,
-Sri.
-------------- next part --------------
Index: output.cc
===================================================================
RCS file: /cvs/src/src/gold/output.cc,v
retrieving revision 1.139
diff -u -u -p -r1.139 output.cc
--- output.cc	16 Nov 2010 19:18:31 -0000	1.139
+++ output.cc	12 Feb 2011 01:48:50 -0000
@@ -2111,12 +2111,14 @@ Output_section::add_input_section(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;
cvs diff: Diffing po
cvs diff: Diffing testsuite


More information about the Binutils mailing list