diff options
author | Ben Gamari <ben@smart-cactus.org> | 2018-11-26 17:21:12 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-03-05 22:22:40 -0500 |
commit | 37f257afcd6a52cf4d76c60d766b1aeb520b9f05 (patch) | |
tree | ac800e46fbf94c16ce39170f4a720637b07dde06 /mk/config.mk.in | |
parent | 646b6dfbe125aa756a935e840979ba11b4a882c0 (diff) | |
download | haskell-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.in | 32 |
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. # |