Gold bug in ordering text sections.

Sriraman Tallam tmsriram@google.com
Thu Jan 17 00:02:00 GMT 2013


Committed this simple patch to fix a comment in testsuite/plugin_final_layout.cc

===================================================================
RCS file: /cvs/src/src/gold/testsuite/plugin_final_layout.cc,v
retrieving revision 1.2
diff -u -r1.2 plugin_final_layout.cc
--- testsuite/plugin_final_layout.cc 16 Jan 2013 22:47:14 -0000 1.2
+++ testsuite/plugin_final_layout.cc 16 Jan 2013 23:59:25 -0000
@@ -21,7 +21,7 @@
 // MA 02110-1301, USA.

 // The goal of this program is to verify if section ordering
-// via plugins happens correctly.  Also, test is plugin based ordering
+// via plugins happens correctly.  Also, test if plugin based ordering
 // overrides default text section ordering where ".text.hot" sections
 // are grouped.  The plugin does not want foo and baz next to each other.
 // Plugin section order is foo() followed by bar() and then baz().



Thanks
Sri

On Wed, Jan 16, 2013 at 2:47 PM, Sriraman Tallam <tmsriram@google.com> wrote:
> On Wed, Jan 16, 2013 at 2:33 PM, Ian Lance Taylor <iant@google.com> wrote:
>> On Wed, Jan 16, 2013 at 2:27 PM, Sriraman Tallam <tmsriram@google.com> wrote:
>>>
>>>     This patch to gold : http://sourceware.org/ml/binutils/2012-12/msg00227.html
>>> broke option --section-ordering-file and plugin based reordering. This
>>> patch treats text sections as reorderable when special prefixes like
>>> ".text.hot" are seen. However, when --section-ordering-file (or
>>> plugins) is also used then it cannot override the default sorting as
>>> the code in output.cc to do sorting checks for
>>> "must_sort_attached_input_sections()" first and this is always true
>>> for .text sections with those prefixes.
>>>
>>>    I have created the following patch to fix this. I have basically
>>> disabled default sorting of .text sections in the presence of
>>> --section-ordering-file or plugins. I think this makes sense because
>>> this is also disabled in the presence of linker scripts.
>>>
>>>   One other alternative is to unset
>>> "must_sort_attached_input_sections" for ".text" if
>>> section-ordering-file or plugins do reorder ".text".  This can sort
>>> .text sections by default if --section-ordering-file does not touch
>>> any .text sections. I think this is overkill though.
>>>
>>>    This went unnoticed because none of the test cases generated the
>>> special prefix for input text sections. I have modified the plugin
>>> based test case to catch this problem. This test case will fail if the
>>> patch to layout.cc is not present.
>>
>>
>> This patch is OK.
>>
>> Thanks.
>
> Thanks, this patch is now committed.
>
> Sri
>
>>
>> Ian



More information about the Binutils mailing list