Turn on SplitSections by default
This is a general tracking bug for what is blocking us from turning on
SplitSections by default, implemented in #8405 (closed). Fixing this, and mandating use of the gold linker, will help solve #11285 (closed) (split objects make linking slow), and will make ghc-split unnecessary, mooting #9832 (closed).
I encountered some misinformation while talking to people about this feature, regarding whether or not this feature only supported by Apple-style linkers (i.e. on Mac OS X)? On IRC I heard a claim made that
--split-sections was only supported by Mac OS X. However, olsner pointed out that
-split-sections on GHC was OUR reimplementation of the feature, and likely does not work on Mac OS X. https://github.com/snowleopard/shaking-up-ghc/issues/153\#issuecomment-171078800 A later comment mentioned that
So, can we turn on this feature by default? Does it subsume split-objs? Does it work on all the tier-1 platforms? It would be nice if bgamari, olsner and co could weigh in here. Thanks!
Also, there are two different ways we can do this. One is we can turn it on by default in the GHC build system, so all the base libraries and GHC are built with it (but when you invoke ghc, it does NOT have split sections); the other is to have GHC always run split sections, so user code also compiles with it.