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