summaryrefslogtreecommitdiff
path: root/mk/config.mk.in
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-11-26 17:21:12 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-03-05 22:22:40 -0500
commit37f257afcd6a52cf4d76c60d766b1aeb520b9f05 (patch)
treeac800e46fbf94c16ce39170f4a720637b07dde06 /mk/config.mk.in
parent646b6dfbe125aa756a935e840979ba11b4a882c0 (diff)
downloadhaskell-37f257afcd6a52cf4d76c60d766b1aeb520b9f05.tar.gz
Rip out object splitting
The splitter is an evil Perl script that processes assembler code. Its job can be done better by the linker's --gc-sections flag. GHC passes this flag to the linker whenever -split-sections is passed on the command line. This is based on @DemiMarie's D2768. Fixes Trac #11315 Fixes Trac #9832 Fixes Trac #8964 Fixes Trac #8685 Fixes Trac #8629
Diffstat (limited to 'mk/config.mk.in')
-rw-r--r--mk/config.mk.in32
1 files changed, 1 insertions, 31 deletions
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 2bff8432e4..55fb808c5a 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -327,39 +327,9 @@ GhcLibHcOpts=-O2 -haddock
StripLibraries=NO
# ----------------------------------------------------------------------------
-# Object-file splitting
-#
-# Set SplitObjs=YES or NO in your build.mk
-#
-# Don't use -split-objs in in GhcLibHcOpts, because the build
-# system needs to do other special magic if you are
-# doing object-file splitting
-
-ArchSupportsSplitObjs=$(if $(filter \
- $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO)#
-
-# We used to support splitting on Darwin, but there is no point, since Darwin
-# uses subsections via symbols
-OsSupportsSplitObjs=$(if $(filter $(TargetOS_CPP),\
- mingw32 linux solaris2 freebsd dragonfly netbsd openbsd),YES,NO)
-SplitObjsBroken = @SplitObjsBroken@
-
-SupportsSplitObjs := $(if $(and $(filter YES,$(ArchSupportsSplitObjs)),\
- $(filter YES,$(OsSupportsSplitObjs)),\
- $(filter NO,$(SplitObjsBroken)),\
- $(filter YES,$(GhcWithNativeCodeGen))),YES,NO)
-
-# By default, enable SplitObjs for the libraries if this build supports it.
-# Unless SplitSections is enabled - then let that take precedence.
-SplitObjs = $(if $(and $(filter YES,$(SupportsSplitObjs)),\
- $(filter NO,$(SplitSections))),YES,NO)
-
-# ----------------------------------------------------------------------------
# Section splitting
#
-# Similar to -ffunction-sections -fdata-sections in GCC. Provides space saving
-# like SplitObjs, but doesn't require post-processing and splitting of object
-# files.
+# Similar to -ffunction-sections -fdata-sections in GCC.
#
# Set SplitSections=YES or NO in your build.mk to override the default.
#