diff options
author | Kyrill Briantsev <kyrab@mail.ru> | 2018-12-11 13:45:10 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-12-11 14:23:22 -0500 |
commit | 21339c9f6bfb952a3a0b8de5ee649d46dfbf0d9b (patch) | |
tree | fd469e0492b50158a46bc4bc4bc973e7f55ff516 /compiler/main/DynFlags.hs | |
parent | d549c081f19925dd0e4c70d45bded0497c649d49 (diff) | |
download | haskell-21339c9f6bfb952a3a0b8de5ee649d46dfbf0d9b.tar.gz |
RTS linker: don't crash early when not finding extra-libraries
Allow GHCi to not crash when no assumed DLL is found in the standard
location. E.g. when loading the package built "dyn" way, we may well
have the package's DLL around, and it's the system linker which loads
necessary dependencies.
Why does this (partially) fix #11042? It's because we often (and when
having packages built `dyn` way -- almost always) don't need to load
anything recorded in the `extra-libraries` stanza, since if the package
DLL exists, GHCi linker simply calls the system linker (via `dlopen`/
`LoadLibrary` APIs) to load it and doesn't bother to load package
prelinked object file (if any) or package static library.
Thus, all "regular" (with no fancy low-level package content
manipulation) packages built "dyn" way should be OK after this fix.
Reviewers: hvr, bgamari, int-index
Reviewed By: bgamari, int-index
Subscribers: Phyx, int-index, rwbarton, carter
GHC Trac Issues: #11042
Differential Revision: https://phabricator.haskell.org/D5170
Diffstat (limited to 'compiler/main/DynFlags.hs')
-rw-r--r-- | compiler/main/DynFlags.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 48c7103dd9..9e93e47eeb 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -807,6 +807,7 @@ data WarningFlag = | Opt_WarnAllMissedSpecs | Opt_WarnUnsupportedCallingConventions | Opt_WarnUnsupportedLlvmVersion + | Opt_WarnMissedExtraSharedLib | Opt_WarnInlineRuleShadowing | Opt_WarnTypedHoles | Opt_WarnPartialTypeSignatures @@ -3985,6 +3986,7 @@ wWarningFlagsDeps = [ flagSpec "unsupported-calling-conventions" Opt_WarnUnsupportedCallingConventions, flagSpec "unsupported-llvm-version" Opt_WarnUnsupportedLlvmVersion, + flagSpec "missed-extra-shared-lib" Opt_WarnMissedExtraSharedLib, flagSpec "unticked-promoted-constructors" Opt_WarnUntickedPromotedConstructors, flagSpec "unused-do-bind" Opt_WarnUnusedDoBind, @@ -4707,6 +4709,7 @@ standardWarnings -- see Note [Documenting warning flags] Opt_WarnInlineRuleShadowing, Opt_WarnAlternativeLayoutRuleTransitional, Opt_WarnUnsupportedLlvmVersion, + Opt_WarnMissedExtraSharedLib, Opt_WarnTabs, Opt_WarnUnrecognisedWarningFlags, Opt_WarnSimplifiableClassConstraints, |