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

Nick Clifton nickc@redhat.com
Sun Jul 23 15:32:00 GMT 2006
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