[Git][ghc/ghc][wip/update-bootstrap-plans2] Compatibility with 9.8.1 as boot compiler

Matthew Pickering (@mpickering) gitlab at gitlab.haskell.org
Wed Nov 1 16:24:27 UTC 2023



Matthew Pickering pushed to branch wip/update-bootstrap-plans2 at Glasgow Haskell Compiler / GHC


Commits:
ab53905e by Matthew Pickering at 2023-11-01T16:24:20+00:00
Compatibility with 9.8.1 as boot compiler

This fixes several compatability issues when using 9.8.1 as the boot
compiler.

* An incorrect version guard on the stack decoding logic in ghc-heap
* Some ghc-prim bounds need relaxing
* ghc is no longer wired in, so we have to remove the -this-unit-id ghc
  call.

Fixes #24077

- - - - -


8 changed files:

- hadrian/src/Settings/Packages.hs
- libraries/ghc-heap/GHC/Exts/Stack.hs
- libraries/ghc-heap/GHC/Exts/Stack/Constants.hsc
- libraries/ghc-heap/GHC/Exts/Stack/Decode.hs
- libraries/ghc-heap/ghc-heap.cabal.in
- libraries/ghci/ghci.cabal.in
- linters/lint-whitespace/lint-whitespace.cabal
- linters/linters-common/linters-common.cabal


Changes:

=====================================
hadrian/src/Settings/Packages.hs
=====================================
@@ -10,6 +10,7 @@ import Settings.Builders.Common (wayCcArgs)
 
 import GHC.Toolchain.Target
 import GHC.Platform.ArchOS
+import Data.Version.Extra
 
 -- | Package-specific command-line arguments.
 packageArgs :: Args
@@ -33,6 +34,7 @@ packageArgs = do
     cursesLibraryDir <- getSetting CursesLibDir
     ffiIncludeDir  <- getSetting FfiIncludeDir
     ffiLibraryDir  <- getSetting FfiLibDir
+    stageVersion <- readVersion <$> (expr $ ghcVersionStage stage)
 
     mconcat
         --------------------------------- base ---------------------------------
@@ -83,7 +85,7 @@ packageArgs = do
             -- not being fixed to `ghc`, when building stage0, we must set
             -- -this-unit-id to `ghc` because the boot compiler expects that.
             -- We do it through a cabal flag in ghc.cabal
-            , stage0 ? arg "+hadrian-stage0"
+            , stageVersion < makeVersion [9,8,1] ? arg "+hadrian-stage0"
             , flag StaticLibzstd `cabalFlag` "static-libzstd"
             ]
 


=====================================
libraries/ghc-heap/GHC/Exts/Stack.hs
=====================================
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP #-}
-#if MIN_TOOL_VERSION_ghc(9,7,0)
+#if MIN_TOOL_VERSION_ghc(9,9,0)
 {-# LANGUAGE RecordWildCards #-}
 
 module GHC.Exts.Stack


=====================================
libraries/ghc-heap/GHC/Exts/Stack/Constants.hsc
=====================================
@@ -3,7 +3,7 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 module GHC.Exts.Stack.Constants where
 
-#if MIN_TOOL_VERSION_ghc(9,7,0)
+#if MIN_TOOL_VERSION_ghc(9,9,0)
 
 import           Prelude
 


=====================================
libraries/ghc-heap/GHC/Exts/Stack/Decode.hs
=====================================
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP #-}
-#if MIN_TOOL_VERSION_ghc(9,7,0)
+#if MIN_TOOL_VERSION_ghc(9,9,0)
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE DuplicateRecordFields #-}
 {-# LANGUAGE FlexibleInstances #-}


=====================================
libraries/ghc-heap/ghc-heap.cabal.in
=====================================
@@ -23,7 +23,7 @@ library
   default-language: Haskell2010
 
   build-depends:    base             >= 4.9.0 && < 5.0
-                  , ghc-prim         > 0.2 && < 0.11
+                  , ghc-prim         > 0.2 && < 0.12
                   , rts              == 1.0.*
                   , containers       >= 0.6.2.1 && < 0.7
 


=====================================
libraries/ghci/ghci.cabal.in
=====================================
@@ -76,7 +76,7 @@ library
         rts,
         array            == 0.5.*,
         base             >= 4.8 && < 4.20,
-        ghc-prim         >= 0.5.0 && < 0.11,
+        ghc-prim         >= 0.5.0 && < 0.12,
         binary           == 0.8.*,
         bytestring       >= 0.10 && < 0.13,
         containers       >= 0.5 && < 0.7,


=====================================
linters/lint-whitespace/lint-whitespace.cabal
=====================================
@@ -28,4 +28,4 @@ executable lint-whitespace
     base
        >= 4.14 && < 5,
     text
-       >= 1.2  && < 2.1,
+       >= 1.2  && < 3,


=====================================
linters/linters-common/linters-common.cabal
=====================================
@@ -16,7 +16,7 @@ library
     base
        >= 4.14 && < 5,
     text
-       >= 1.2  && < 2.1,
+       >= 1.2  && < 3,
     deepseq
        >= 1.1,
 



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/ab53905e7b6214d74637db8a1c624c166b19ee1b

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/ab53905e7b6214d74637db8a1c624c166b19ee1b
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20231101/46b94734/attachment-0001.html>


More information about the ghc-commits mailing list