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: PR ld/3111: LD very slow linking object files containing dwarf2 symbols


On Wed, Aug 30, 2006 at 04:45:34PM +0930, Alan Modra wrote:
> On Tue, Aug 29, 2006 at 04:00:12PM -0700, H. J. Lu wrote:
> > When we are comparing symbols in a section against another section in
> > a different file, we swap in 2 symbol tables, sort them and free the
> > symbol tables for each section. It is a O^2 problem. When there are
> > many sections and symbols in a file, it can be very slow. This patch
> > caches the symbol table unless --reduce-memory-overheads is used. The
> > results for the testcase are
> 
> Remind me again exactly why we are doing symbol comparisons.  I
> understand that you compare symbols so that old-style .gnu.linkonce
> sections can be used along with the newer comdat sections, and only one
> copy kept. However, bfd_elf_match_symbols_in_sections also compares one
> comdat section with another.  Why?  If you didn't compare comdat
> sections like this, then only people mixing old and new-style link-once
> sections would pay a penalty.

It is for

http://sourceware.org/bugzilla/show_bug.cgi?id=2342

You can follow

http://sources.redhat.com/ml/binutils/2003-06/msg00499.html

to see why we did it this way.

The problem is we don't put debug section into comdat group.


H.J.


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