optimizations for 3x speedup in ld

Robert O'Callahan rocallahan@novell.com
Thu Feb 17 22:27:00 GMT 2005


On Thu, 2005-02-17 at 16:18 +0000, Nick Clifton wrote:
> Hi Rob,
> 
> > So ... how do I push this upstream? 
> 
> Well we would love to have them.
> 
> But first things first - can we accept them ?  In order for us to accept 
> them the FSF needs a copyright assignment on file from whomever holds 
> the copyright on the patches you are contributing.  (Presumably either 
> yourself or the Mozilla Foundation ?)  I had a look but could not see 
> such an assignment in my records, so I guess that obtaining one is the 
> first step.  (If you do have such an assignment, please could you 
> forward a copy of the confirmation email from the FSF to me ?)  I am 
> attaching a form to fill out and send off to the FSF to get this process 
> started.

I work for Novell so Novell owns the copyright. I'll work on getting a
copyright assignment and get back to you.

> > Should I submit the patch as an
> > attachment? It's 69 lines deleted, 458 lines added in ld.h, ldlang.c,
> > ldlang.h.
> 
> Attachments are fine.  Context diffs are great.  A ChangeLog entry to 
> accompany the patch and explain what it does is wonderful.

I'm attaching the patch so people can see it/test it/comment on it,
keeping in mind this is copyright Novell for now.

Here's a ChangeLog entry:

2005-2-17  Robert O'Callahan  <rocallahan@novell.com>

       * ld.h: lean_user_section_struct, and the lean part of the fat
         struct, are unused. Remove them.
       * ldlang.h: Add optimized walk_wild_section code pointer
         and its parameters to lang_wild_statement_struct.
       * ldlang.c: (init_os) Eliminate initialization of unused
         lean_user_section_structs. 
         (lang_add_wild, analyze_walk_wild_section_handler,
         wild_spec_can_overlap, is_simple_wild) Analyze the parsed
         wildcard_list to determine if it fits any of the patterns we
         have specialized code for.
         (walk_wild_consider_section, walk_wild_section_general,
         walk_wild_section) Break up walk_wild_section into parts
         that can be specialized and parts that are the same across
         specializations.
         (section_iterator_callback, find_section, match_simple_wild)
         New support routines for the specialized code paths.
         (walk_wild_section_specs<N>_wild<M>) Add specialized code for
         a wildcard_list with N non-overlapping specs of which N-M are
         simple strings and M are simple wildcards (simple strings
         followed by a single '*').

Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: text/x-patch
Size: 28271 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20050217/48833db8/attachment.bin>


More information about the Binutils mailing list