summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2023-01-25 15:16:46 -0500
committerZubin Duggal <zubin.duggal@gmail.com>2023-04-14 13:07:40 +0530
commitb7a380d9f1f8b0ef254481bac311bcec3012dd62 (patch)
treea7de255688118edb8b256bd6c67097ec73e9cb6d
parentfa9c8e61962a78823e6d3a3567381cc67f133880 (diff)
downloadhaskell-b7a380d9f1f8b0ef254481bac311bcec3012dd62.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