This is the mail archive of the binutils@sources.redhat.com 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]

PATCH: Slow linker with shared C++ libraries


On Thu, Feb 26, 2004 at 11:58:05AM +0100, Lars Knoll wrote:
> On Thursday 26 February 2004 07:19, H. J. Lu wrote:
> > If a shared C++ library has many weak data definitions and many
> > symbols, linking against such libraries can be very slow since
> > elf_link_add_object_symbols has to go through all symbols for
> > each referenced weak data definition to search for its aliases,
> > although in most cases there is no alias. What is the best way
> > to speed it up? Can we introduce a linker command not to check
> > aliase for a DSO?
> 
> Michael Matz and myself made a patch to speed up weak symbol handling in the 
> linker, see:
> 
> http://sources.redhat.com/ml/binutils/2003-09/msg00175.html
> 
> As far as I know the patch is still not in binutils, but it sounds very much 
> like a solution to your problem.

That is the same problem. You may want to add h->type != STT_FUNC
when you create the hash table. In my testcase, there is no visible
speed difference between sorted array and hash table. Either way
should work for me.

I am enclosing the modified hash table patch here. Could someone
please take a look at both?

Thanks.


H.J.

Attachment: bfd-elf-weak-5.patch
Description: Text document


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