summaryrefslogtreecommitdiff
path: root/hadrian/src/Rules/Library.hs
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-11-26 17:21:12 -0500
committerBen Gamari <ben@smart-cactus.org>2018-11-27 14:25:03 -0500
commit730ac880c5dc23e0f32a2f08d89d4e5d2a583512 (patch)
treeaa85ded8d0edd3d465963c8b3870b8270628ae30 /hadrian/src/Rules/Library.hs
parentdf570d920fa66db631f936fa377e598fe92bd2a1 (diff)
downloadhaskell-wip/kill-obj-splitter.tar.gz
Rip out object splittingwip/kill-obj-splitter
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 'hadrian/src/Rules/Library.hs')
-rw-r--r--hadrian/src/Rules/Library.hs9
1 files changed, 1 insertions, 8 deletions
diff --git a/hadrian/src/Rules/Library.hs b/hadrian/src/Rules/Library.hs
index b53bcc8a8c..d1e8840b11 100644
--- a/hadrian/src/Rules/Library.hs
+++ b/hadrian/src/Rules/Library.hs
@@ -117,14 +117,7 @@ libraryObjects context@Context{..} = do
-- This will create split objects if required (we don't track them
-- explicitly as this would needlessly bloat the Shake database).
need $ noHsObjs ++ hsObjs
-
- split <- interpretInContext context =<< splitObjects <$> flavour
- let getSplitObjs = concatForM hsObjs $ \obj -> do
- let dir = dropExtension obj ++ "_" ++ osuf way ++ "_split"
- contents <- liftIO $ IO.getDirectoryContents dir
- return . map (dir -/-) $ filter (not . all (== '.')) contents
-
- (noHsObjs ++) <$> if split then getSplitObjs else return hsObjs
+ return (noHsObjs ++ hsObjs)
-- * Library paths types and parsers