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