This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug driver/83243] -fuse-ld=lld
- From: "trippels at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 02 Dec 2017 06:15:40 +0000
- Subject: [Bug driver/83243] -fuse-ld=lld
- Auto-submitted: auto-generated
- References: <bug-83243-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83243
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |trippels at gcc dot gnu.org
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #2)
> I think this is a bad idea.
I fully agree. There are several problems with the proposal:
We already have two functioning GNU linkers. I see lld as a direct
attack on the GNU licence.
Amdahl’s law: Even if lld links some apps faster than gold, nobody
will notice, because the linker is usually not the bottleneck.
In fact in most code bases compiling a single CU takes more time than
the final link.
The lld developers don't like/understand Linux in general.
Here is an example quote (from Rui Ueyama):
»Aah, I knew Unix DSO's are not efficient in resolving symbol names, but
it's too slow. I really don't like the Unix semantics of the dynamic
linking object. Windows is much better.
I also dislike the fact that ELF/Unix/C are trying to make DSOs usable
transparently. On Windows, you have to explicitly mark imported/exported
functions as dllimported/dllexported, and that is IMO much better than
trying to hide it.«
He also recently proposed to drop TLS relaxations in general, because
the lld relaxation code is a mess and does slow down lld...
So, I see no reason at all to support -fuse-ld=lld.