This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Speed up ld by about 5 times on Windows.
- From: Nick Clifton <nickc at redhat dot com>
- To: Sonal Santan <sonal dot santan at xilinx dot com>
- Cc: binutils at sourceware dot org
- Date: Sun, 23 Jul 2006 16:32:29 +0100
- Subject: Re: [PATCH] Speed up ld by about 5 times on Windows.
- References: <449092C1.1050603@xilinx.com> <449708C4.7060309@xilinx.com> <4497204C.3B3DA34C@dessent.net> <4499BED0.1070401@xilinx.com> <449AB99E.4000305@redhat.com> <449C74FD.9030806@xilinx.com>
Hi Sonal,
Thanks for trying my patch. I have fixed the regressions seen for ELF
based toolchains. An updated patch is attached with this mail.
Thanks for submitting this revised patch. I am sorry that it took me so
long to get around to reviewing it.
The revised form of the patch is fine and I have applied to the sources.
I had to make two changes however:
1. In the output_section_callback_fast() function you were declaring
the 'node' and 'tree' variables in the body of the code rather than at
the start of the function. Although GCC does allow this other compilers
do not, and we want the binutils sources to conform to the ISO C90 C
language specification.
2. You did not supply a ChangeLog entry, so I have created one for you.
Cheers
Nick
ld/ChangeLog
2006-07-23 Sonal Santan <sonal.santan@xilinx.com>
* ldlang.c (lang_section_bst): New structure for sorting sections
by name.
(wild_sort_fast): New function: Insert a section into a binary
search tree.
(output_section_callback_fast): New function: Store a section in
BST.
(output_section_callback_tree_to_list): New function: Convert a
BST into a list.
(analyze_walk_wild_section_handler): Initialize handler_data
elements.
(wild): If the data is sorted by name use the BST method to sort
the names.