summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-06-18 14:55:45 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-06-21 13:32:34 -0400
commit49fff41d0385ac1ad80a1a8b2ae33e765e89a088 (patch)
treed21a644b58e9ac2c2b616cbdce36ae25637f4713
parent84900724d59f092a6eebe2834c1c5a62186e430e (diff)
downloadhaskell-49fff41d0385ac1ad80a1a8b2ae33e765e89a088.tar.gz
linker: Disable code unloading
As noted in #16841, there are currently a variety of bugs in the unloading logic. These only affect Windows since code unloading is disabled on Linux, where we build with `GhcDynamic=YES` by default. In the interest of getting the tree green on Windows disable code unloading until the issues are resolved.
-rw-r--r--compiler/ghci/Linker.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/ghci/Linker.hs b/compiler/ghci/Linker.hs
index bd74d36c56..c77ca5c5e6 100644
--- a/compiler/ghci/Linker.hs
+++ b/compiler/ghci/Linker.hs
@@ -1123,7 +1123,10 @@ unload_wkr hsc_env keep_linkables pls@PersistentLinkerState{..} = do
-- We don't do any cleanup when linking objects with the
-- dynamic linker. Doing so introduces extra complexity for
-- not much benefit.
- | otherwise
+
+ -- Code unloading currently disabled due to instability.
+ -- See #16841.
+ | False -- otherwise
= mapM_ (unloadObj hsc_env) [f | DotO f <- linkableUnlinked lnk]
-- The components of a BCO linkable may contain
-- dot-o files. Which is very confusing.
@@ -1131,6 +1134,7 @@ unload_wkr hsc_env keep_linkables pls@PersistentLinkerState{..} = do
-- But the BCO parts can be unlinked just by
-- letting go of them (plus of course depopulating
-- the symbol table which is done in the main body)
+ | otherwise = return () -- see #16841
{- **********************************************************************