Make it easier to use the gold linker
As pointed out in #4862 (closed), the gold linker is significantly faster than BFD ld. Currently we use whatever linker gcc uses by default. This is an unfortunate situation for users as few packagers take the effort to configure their builds to use gold.
I think we should consider the following,
Introduce a configure flag (to both the source distribution, and the distributed binary distributions),
--enable-gold. When enabled,configurewill check for the functioning ofgcc -fuse-ld=gold. If found to work-fuse-ld=goldwould be added to GHC'soptlc. The flag would throw an error on non-ELF platforms (which are not supported bygold).
While there is admittedly not a whole lot of precedent for this, the status quo means we are leaving a significant bit of compiler performance on the table in a majority of cases. Given that stack uses GHC's official bindists, we should try to improve this situation.
In fact, I would even weakly suggest that we might consider enabling --enable-gold the default behavior, requiring the user to explicitly pass --disable-gold if they want the current behavior.