Compilation time

Evan Laforge qdunkan at
Fri Jul 7 22:21:42 UTC 2017

On Fri, Jul 7, 2017 at 9:28 AM, Ben Gamari <ben at> wrote:
> Ryan Scott < at> writes:
>> Another things to note about 8.2 build times is that a bulk of the time is
>> probably being spent during the linking phase. This is because GHC 8.2 has
>> switched over to split-sections by default, but unfortunately, old versions
>> of the BFD linker take a long time to link code that uses split-sections
>> (see the discussion at [1]). There is ongoing work (which should hopefully
>> land before the final 8.2 release) to use gold instead of BFD as the
>> default linker when available, which will reduce linking times dramatically.
> Indeed it has already landed. See #13541.
> In short, ./configure will now choose to use or ld.lld if
> available (although this can be disabled using the --disable-ld-override
> configure flag).

Just from curiosity, does this apply to OS X?  Of course, gold is
ELF-only, so it surely doesn't apply, but there's still lld.  OS X
uses clang to compile so I thought it might already use lld, but the
'ld -v' output looks different, and implies it's a
replacement for OS X ld, so maybe not.  But it doesn't look like GNU
ld either, so maybe it's not affected by the BFD bug?

I'll try 8.2 on OS X and see if the link time changes.

More information about the ghc-devs mailing list