summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-01-25 15:16:46 -0500
committerBen Gamari <ben@smart-cactus.org>2023-04-12 07:56:30 -0400
commit7f7ddca90a2b31cd4c02bfc4df401e0120e07ddf (patch)
treedfbf92e56f66e5aca848ef7db5383c87f76b0b4f
parente687fe3b2cd2d71a4ad3457cf430405b46e586a3 (diff)
downloadhaskell-7f7ddca90a2b31cd4c02bfc4df401e0120e07ddf.tar.gz
hadrian: Add +boot_nonmoving_gc flavour transformer
For using GHC bootstrapping to validate the non-moving GC. (cherry picked from commit ec382ccc087015db3d8782d3079c757ef8f10e9b)
-rw-r--r--hadrian/src/Flavour.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index af712dd7c5..54f4c92526 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -51,6 +51,7 @@ flavourTransformers = M.fromList
, "collect_timings" =: collectTimings
, "assertions" =: enableAssertions
, "haddock" =: enableHaddock
+ , "boot_nonmoving_gc" =: enableBootNonmovingGc
]
where (=:) = (,)
@@ -229,6 +230,13 @@ enableLateCCS =
enableAssertions :: Flavour -> Flavour
enableAssertions flav = flav { ghcDebugAssertions = True }
+-- | Build the stage3 compiler using the non-moving GC.
+enableBootNonmovingGc :: Flavour -> Flavour
+enableBootNonmovingGc = addArgs $ mconcat
+ [ stage Stage2 ? builder Ghc
+ ? pure ["+RTS", "--nonmoving-gc", "-RTS"]
+ ]
+
-- | Produce fully statically-linked executables and build libraries suitable
-- for static linking.
fullyStatic :: Flavour -> Flavour