[PATCH] Speed up ld by about 5 times on Windows.

Sonal Santan sonal.santan@xilinx.com
Mon Jul 24 17:43:00 GMT 2006


Thanks a lot! 

Sonal

-----Original Message-----
From: binutils-owner@sourceware.org
[mailto:binutils-owner@sourceware.org] On Behalf Of Nick Clifton
Sent: Sunday, July 23, 2006 8:32 AM
To: Sonal Santan
Cc: binutils@sourceware.org
Subject: Re: [PATCH] Speed up ld by about 5 times on Windows.

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.




More information about the Binutils mailing list