This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Performance bug while ordering .text sections by default in gold.

On Wed, Jan 23, 2013 at 8:29 AM, Ian Lance Taylor <> wrote:
> On Tue, Jan 22, 2013 at 11:35 AM, Sriraman Tallam <> wrote:
>>    This patch to gold :
>> introduces
>> unnecessary behaviour while ordering text sections and this is causing
>> performance regressions in some benchmarks.  The intent of this patch
>> was to group .text sections with special prefixes like "",
>> ".text.unlikely" , ".text.startup" together, which it achieves.
>> However, it does other undesired things too like sorting section names
>> of those sections without these special prefixes.  This is because it
>> uses the compare function "Input_section_sort_compare" which was used
>> to sort ".ctors" and ".dtors". Sorting by section names can cause
>> undesired ordering like splitting functions in the same module.
>>    I am fixing this by making ".text" default sorting use the sort
>> function Input_section_sort_section_order_index_compare.  I think this
>> is better as the different comparison criteria are much less and is
>> all applicable to ".text" under different contexts.
> Why reuse Input_section_sort_section_order_index_compare?
> It seems to me that you've identified a need for a new kind of
> ordering.  Use a new function for that.

Attached new patch with the changes. Also added a new option to gold
"--notextreorder" to disable the default sorting.


> Ian

Attachment: section_ordering_bug.txt
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]