[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/22831] ld causes massive thrashing if object files are not fully

From: nickc at redhat dot com
Subject: [Bug ld/22831] ld causes massive thrashing if object files are not fully memory-resident: new algorithm needed
Date: Wed, 09 Jan 2019 17:27:34 +0000


Nick Clifton <nickc at redhat dot com> changed:

           What    |Removed                     |Added
                 CC|                            |nickc at redhat dot com

--- Comment #23 from Nick Clifton <nickc at redhat dot com> ---
(In reply to Luke Kenneth Casson Leighton from comment #22)

Hi Luke,

> $ python evil_linker_torture.py 3000 400 200 500000

Actually this ran OK on my system.  Admittedly it is a fairly big 
machine, and I am sure that you could suggest increased parameters
that would bring it to its knees.

I was a little bit confused as to why the "-g" flag appears three
times in both CFLAGS and LDFLAGS.  Is this really necessary ?

Anyway, my main question is - have you tried using the gold linker
instead of the bfd linker ?  (Ie adding "-fuse-ld=gold" to the final
command line).  The reason being that the bfd linker is very old, and
it is not wholly surprising that it does not cope well with modern,
very large, binaries.  The gold linker on the other hand is new, it
has been designed from the ground up with large ELF programs in mind,
and it does not have any of the cruft that encumbers the bfd linker.


PS.  Waving my "devil's advocate" flag for a moment.  It could be argued
that not linking these gigantic binaries might actually by a good thing,
as they are getting ridiculously large.  Such binaries are going to take
a huge amount of time (and resources) to link, and if linkers were to
refuse to link them, then the programmers might have to rethink their 
monolithic approach and maybe come up with a more modular design.  Which
might not be a bad thing at all...

You are receiving this mail because:
You are on the CC list for the bug.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]