summaryrefslogtreecommitdiff
path: root/compiler/GHC/Unit
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-04-11 13:23:22 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-04-27 10:06:07 -0400
commitee11d04363ed8aa1d73a0cda16076a39e668d163 (patch)
tree8cb2853ac6cd99442f7ff7c4e4f979e7674301e4 /compiler/GHC/Unit
parent318e0005b5a3a522854ced7162f3eee95f964bd9 (diff)
downloadhaskell-ee11d04363ed8aa1d73a0cda16076a39e668d163.tar.gz
Enable eventlog support in all ways by default
Here we deprecate the eventlogging RTS ways and instead enable eventlog support in the remaining ways. This simplifies packaging and reduces GHC compilation times (as we can eliminate two whole compilations of the RTS) while simplifying the end-user story. The trade-off is a small increase in binary sizes in the case that the user does not want eventlogging support, but we think that this is a fine trade-off. This also revealed a latent RTS bug: some files which included `Cmm.h` also assumed that it defined various macros which were in fact defined by `Config.h`, which `Cmm.h` did not include. Fixing this in turn revealed that `StgMiscClosures.cmm` failed to import various spinlock statistics counters, as evidenced by the failed unregisterised build. Closes #18948.
Diffstat (limited to 'compiler/GHC/Unit')
-rw-r--r--compiler/GHC/Unit/Info.hs10
1 files changed, 2 insertions, 8 deletions
diff --git a/compiler/GHC/Unit/Info.hs b/compiler/GHC/Unit/Info.hs
index db00a9b91a..41142f653f 100644
--- a/compiler/GHC/Unit/Info.hs
+++ b/compiler/GHC/Unit/Info.hs
@@ -211,14 +211,8 @@ unitHsLibs namever ways0 p = map (mkDynName . addSuffix . ST.unpack) (unitLibrar
-- the name of a shared library is libHSfoo-ghc<version>.so
-- we leave out the _dyn, because it is superfluous
- -- debug and profiled RTSs include support for -eventlog
- ways2 | ways1 `hasWay` WayDebug || ways1 `hasWay` WayProf
- = removeWay WayTracing ways1
- | otherwise
- = ways1
-
- tag = waysTag (fullWays ways2)
- rts_tag = waysTag ways2
+ tag = waysTag (fullWays ways1)
+ rts_tag = waysTag ways1
mkDynName x
| not (ways0 `hasWay` WayDyn) = x