This is the mail archive of the binutils@sourceware.org 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]

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


Hi,

   This patch to gold :
http://sourceware.org/ml/binutils/2012-12/msg00227.html 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.hot",
".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.

  Patch attached.

Thanks
Sri

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]