diff options
author | Ben Gamari <ben@smart-cactus.org> | 2018-11-26 17:21:12 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-11-27 14:25:03 -0500 |
commit | 730ac880c5dc23e0f32a2f08d89d4e5d2a583512 (patch) | |
tree | aa85ded8d0edd3d465963c8b3870b8270628ae30 /hadrian/src/Rules/Library.hs | |
parent | df570d920fa66db631f936fa377e598fe92bd2a1 (diff) | |
download | haskell-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.hs | 9 |
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 |