diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-03-18 15:54:35 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-03-18 20:33:09 +0000 |
commit | 935ee7eec1639537b7200bf322390676f4701177 (patch) | |
tree | 00eeaf526ddbb0c3fccc5bb5b25574bb4fc3b636 | |
parent | 9b21b708f32df647d260a712d1e9ca5e2d0e56e4 (diff) | |
download | haskell-935ee7eec1639537b7200bf322390676f4701177.tar.gz |
Enable -fexpose-all-symbols when debug level is set
-rw-r--r-- | compiler/GHC/Driver/Session.hs | 11 | ||||
-rw-r--r-- | docs/users_guide/debug-info.rst | 1 |
2 files changed, 9 insertions, 3 deletions
diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs index 152a904640..4471dddd11 100644 --- a/compiler/GHC/Driver/Session.hs +++ b/compiler/GHC/Driver/Session.hs @@ -3915,8 +3915,7 @@ defaultFlags settings Opt_RPath, Opt_SharedImplib, Opt_SimplPreInlining, - Opt_VersionMacros, - Opt_ExposeAllSymbols + Opt_VersionMacros ] ++ [f | (ns,f) <- optLevelFlags, 0 `elem` ns] @@ -4502,7 +4501,13 @@ setVerbosity :: Maybe Int -> DynP () setVerbosity mb_n = upd (\dfs -> dfs{ verbosity = mb_n `orElse` 3 }) setDebugLevel :: Maybe Int -> DynP () -setDebugLevel mb_n = upd (\dfs -> dfs{ debugLevel = mb_n `orElse` 2 }) +setDebugLevel mb_n = + upd (\dfs -> exposeSyms $ dfs{ debugLevel = n }) + where + n = mb_n `orElse` 2 + exposeSyms + | n > 0 = setGeneralFlag' Opt_ExposeAllSymbols + | otherwise = id data PkgDbRef = GlobalPkgDb diff --git a/docs/users_guide/debug-info.rst b/docs/users_guide/debug-info.rst index 351446fa58..4bdeb9fade 100644 --- a/docs/users_guide/debug-info.rst +++ b/docs/users_guide/debug-info.rst @@ -14,6 +14,7 @@ useable by most UNIX debugging tools. :category: debugging :since: 7.10, numeric levels since 8.0 + :implies: :ghc-flag:`-fexpose-all-symbols` Emit debug information in object code. Currently only DWARF debug information is supported on x86-64 and i386. Currently debug levels 0 |