diff options
Diffstat (limited to 'compiler/GHC/Driver/Packages.hs')
| -rw-r--r-- | compiler/GHC/Driver/Packages.hs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/compiler/GHC/Driver/Packages.hs b/compiler/GHC/Driver/Packages.hs index 079bf6379f..e8bed631ff 100644 --- a/compiler/GHC/Driver/Packages.hs +++ b/compiler/GHC/Driver/Packages.hs @@ -60,7 +60,7 @@ module GHC.Driver.Packages ( pprPackagesSimple, pprModuleMap, isIndefinite, - isDllName + isDynLinkName ) where @@ -2122,12 +2122,9 @@ displayInstalledUnitId :: DynFlags -> InstalledUnitId -> Maybe String displayInstalledUnitId dflags uid = fmap sourcePackageIdString (lookupInstalledPackage dflags uid) --- | Will the 'Name' come from a dynamically linked library? -isDllName :: DynFlags -> Module -> Name -> Bool --- Despite the "dll", I think this function just means that --- the symbol comes from another dynamically-linked package, --- and applies on all platforms, not just Windows -isDllName dflags this_mod name +-- | Will the 'Name' come from a dynamically linked package? +isDynLinkName :: DynFlags -> Module -> Name -> Bool +isDynLinkName dflags this_mod name | not (gopt Opt_ExternalDynamicRefs dflags) = False | Just mod <- nameModule_maybe name -- Issue #8696 - when GHC is dynamically linked, it will attempt @@ -2137,7 +2134,7 @@ isDllName dflags this_mod name -- intra-package linking, because we don't generate indirect -- (dynamic) symbols for intra-package calls. This means that if a -- module with an intra-package call is loaded without its - -- dependencies, then GHC fails to link. This is the cause of # + -- dependencies, then GHC fails to link. -- -- In the mean time, always force dynamic indirections to be -- generated: when the module name isn't the module being |
