Map ".text.hot" and ".text.unlikely" input section prefixes to separate output sections.
Tue Nov 20 17:51:00 GMT 2012
On Mon, Nov 19, 2012 at 4:52 PM, Ian Lance Taylor <email@example.com> wrote:
> On Mon, Nov 19, 2012 at 2:52 PM, Alan Modra <firstname.lastname@example.org> wrote:
>> On Fri, Nov 16, 2012 at 05:19:01PM -0800, Ian Lance Taylor wrote:
>>> On Wed, Nov 14, 2012 at 5:06 PM, Sriraman Tallam <email@example.com> wrote:
>>> >> Ideally gold should group all input sections with the same name
>> I strongly disagree. Grouping sections with the same name is a bad
>> idea, unless the name gives you some infomation from the compiler (as
>> it does with .text.hot* et al). The problem with grouping sections
>> with the same name is that with -ffunction-sections objects, you'll
>> potentially move functions away from their callers, losing cache
>> locality. The canonical example is a number of object files with
>> static "setup" functions. These will all have code in .text.setup,
>> but there is no good reason to group these sections.
> That is a good point.
> Unfortunately it leaves us adding more special cases for section
> names, which I really dislike. Is there any happy medium?
gold now has multiple ways to reorder functions. There is the
--section-ordering-file option, there is the plugin interface, and
also the reordering via linker scripts. So, instead of adding another
way to sort text sections, I was wondering instead if we could just
use the --section-ordering-file mechanism. I can initialize the data
structures to do this ordering by default. Is this a reasonable idea?
More information about the Binutils