This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]