This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Patch to do reorder text and data sections according to a user specified sequence.
- From: Sriraman Tallam <tmsriram at google dot com>
- To: Taras Glek <tglek at mozilla dot com>
- Cc: Ian Lance Taylor <iant at google dot com>, binutils <binutils at sourceware dot org>, Cary Coutant <ccoutant at google dot com>, Xinliang David Li <davidxl at google dot com>
- Date: Sat, 6 Mar 2010 13:53:42 -0800
- Subject: Re: Patch to do reorder text and data sections according to a user specified sequence.
- References: <863b0cbf1002101820r104951e6ve2d6f4468263a839@mail.gmail.com> <mcrmxzf6mzl.fsf@dhcp-172-17-9-151.mtv.corp.google.com> <863b0cbf1003021843m1f9413e9wfc2c47e89124f064@mail.gmail.com> <4B918F8C.8060903@mozilla.com>
Hi Taras,
On Fri, Mar 5, 2010 at 3:11 PM, Taras Glek <tglek@mozilla.com> wrote:
> On 03/02/2010 06:43 PM, Sriraman Tallam wrote:
>>
>> Hi Ian,
>>
>> ? ? I finally got around to making the changes you specified. Please
>> take a look when you get a chance.
>
> Hi Sriraman,
> Ian pointed me at your patch when he realized I was trying to do the same
> thing with linker scripts. This is a big improvement over hacking linker
> scripts in terms of usability.
>
> I had two issues with the patch:
> a) It would be nice to specify the sections by symbol names alone. So
> instead of bss.globalvar one could say "globalvar". Ian pointed out that I
> solve this with a *.globalvar regexp since you use fnmatch(). Which lead me
> to my next problem.
> b) This patch appears to have N^2 behavior since you are doing fnmatch()
> through the entire input_section_order list.
>
> My link time for a large mozilla binary went from under 3s to over 10minutes
> when I specified the order(24K entries).
This was the thing that bothered me a lot when I was writing this
patch. I just did not think somebody would face it this soon. I was
thinking about how I could incorporate some kind of binary search.
>
> I think adding a second argument to -section-ordering-file could help. The
> second argument could be -section-ordering-match=<symbol|section|regexp>
> where symbol/section could use a more efficient search.
Maybe for symbol and section, I could provide a binary search option
if you could pass the symbol and section names in sorted order. That
would bring it down to NlogN. Did you have anything else in mind ?
Thanks,
-Sriraman.
>
> Taras
>