diff options
| author | Sylvain Henry <sylvain@haskus.fr> | 2020-03-16 16:46:39 +0100 |
|---|---|---|
| committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-04-21 06:39:32 -0400 |
| commit | 747093b7c23a1cf92b564eb3d9efe2adc15330df (patch) | |
| tree | 06b74ab72984f98036a40fc441d37438a49a26a8 /compiler/GHC/Driver/Packages.hs | |
| parent | f2a98996e7792f572ab685f29742e3476be81166 (diff) | |
| download | haskell-747093b7c23a1cf92b564eb3d9efe2adc15330df.tar.gz | |
CmmToAsm DynFlags refactoring (#17957)
* Remove `DynFlags` parameter from `isDynLinkName`: `isDynLinkName` used
to test the global `ExternalDynamicRefs` flag. Now we test it outside of
`isDynLinkName`
* Add new fields into `NCGConfig`: current unit id, sse/bmi versions,
externalDynamicRefs, etc.
* Replace many uses of `DynFlags` by `NCGConfig`
* Moved `BMI/SSE` datatypes into `GHC.Platform`
Diffstat (limited to 'compiler/GHC/Driver/Packages.hs')
| -rw-r--r-- | compiler/GHC/Driver/Packages.hs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/GHC/Driver/Packages.hs b/compiler/GHC/Driver/Packages.hs index b2299a1403..3e85251da2 100644 --- a/compiler/GHC/Driver/Packages.hs +++ b/compiler/GHC/Driver/Packages.hs @@ -2155,9 +2155,8 @@ displayInstalledUnitId pkgstate uid = fmap sourcePackageIdString (lookupInstalledPackage pkgstate uid) -- | 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 +isDynLinkName :: Platform -> Module -> Name -> Bool +isDynLinkName platform this_mod name | Just mod <- nameModule_maybe name -- Issue #8696 - when GHC is dynamically linked, it will attempt -- to load the dynamic dependencies of object files at compile @@ -2171,7 +2170,7 @@ isDynLinkName dflags this_mod name -- In the mean time, always force dynamic indirections to be -- generated: when the module name isn't the module being -- compiled, references are dynamic. - = case platformOS $ targetPlatform dflags of + = case platformOS platform of -- On Windows the hack for #8696 makes it unlinkable. -- As the entire setup of the code from Cmm down to the RTS expects -- the use of trampolines for the imported functions only when |
