From 1ff27152c515ec18849d8a1b1519d41675769426 Mon Sep 17 00:00:00 2001 From: Ryan Scott Date: Mon, 7 Aug 2023 15:26:12 -0400 Subject: [PATCH] Support building with GHC 9.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch contains a handful of small tweaks needed to make the libraries in the `semmc` repo build with GHC 9.6: * I have disambiguated a use of `Data.Parameterized.NatRepr.withKnownNat` in `semmc-aarch32` to avoid clashing with a newly exported function of the same name in `GHC.TypeNats`. * I have bumped `semmc`'s upper version bounds on `mtl` and `transformers` to allow building with `mtl-2.3.*` and `transformers-0.6.*`, which are bundled with GHC 9.6. * I have bumped the following submodules to bring in GHC 9.6–related changes: * `asl-translator`: https://github.com/GaloisInc/asl-translator/pull/53 * `crucible`: https://github.com/GaloisInc/crucible/pull/1102 * `elf-edit`: https://github.com/GaloisInc/elf-edit/pull/38 * `llvm-pretty`: https://github.com/elliottt/llvm-pretty/pull/112 * `what4`: https://github.com/GaloisInc/what4/pull/235 --- semmc-aarch32/src/SemMC/Architecture/ARM/UF.hs | 2 +- semmc/semmc.cabal | 4 ++-- submodules/asl-translator | 2 +- submodules/crucible | 2 +- submodules/elf-edit | 2 +- submodules/llvm-pretty | 2 +- submodules/what4 | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/semmc-aarch32/src/SemMC/Architecture/ARM/UF.hs b/semmc-aarch32/src/SemMC/Architecture/ARM/UF.hs index 6c2112b1..b3aae69d 100644 --- a/semmc-aarch32/src/SemMC/Architecture/ARM/UF.hs +++ b/semmc-aarch32/src/SemMC/Architecture/ARM/UF.hs @@ -194,7 +194,7 @@ mkGlobalUF gb = let name = "INIT_GLOBAL_" ++ (T.unpack $ G.gbName gb) in case G.gbType gb of - BaseBVRepr (nr :: NatRepr n) -> withKnownNat nr $ Just $ A.mkUninterpFn @(EmptyCtx) @(BaseBVType n) name (\_ -> []) + BaseBVRepr (nr :: NatRepr n) -> NR.withKnownNat nr $ Just $ A.mkUninterpFn @(EmptyCtx) @(BaseBVType n) name (\_ -> []) BaseIntegerRepr -> Just $ A.mkUninterpFn @EmptyCtx @BaseIntegerType name (\_ -> []) BaseBoolRepr -> Just $ A.mkUninterpFn @EmptyCtx @BaseBoolType name (\_ -> []) BaseArrayRepr (Empty :> BaseIntegerRepr) (BaseBVRepr nr) | diff --git a/semmc/semmc.cabal b/semmc/semmc.cabal index 49ec9d44..3fcf7ff0 100644 --- a/semmc/semmc.cabal +++ b/semmc/semmc.cabal @@ -82,9 +82,9 @@ library time, parsec >= 3.1 && < 3.2, megaparsec >= 7 && < 10, - mtl >= 2.2 && < 2.3, + mtl >= 2.2 && < 2.4, hashtables >= 1.2 && < 1.4, - transformers >= 0.5.2 && < 0.6, + transformers >= 0.5.2 && < 0.7, directory, unliftio-core >= 0.2 && < 0.3, unliftio, diff --git a/submodules/asl-translator b/submodules/asl-translator index b1d3c6b8..4b632c90 160000 --- a/submodules/asl-translator +++ b/submodules/asl-translator @@ -1 +1 @@ -Subproject commit b1d3c6b816ff90a12f31429f65f99866215ad1b1 +Subproject commit 4b632c90933f795ef35d2c68ed80d42291cfd504 diff --git a/submodules/crucible b/submodules/crucible index ad4a5534..bc64fda2 160000 --- a/submodules/crucible +++ b/submodules/crucible @@ -1 +1 @@ -Subproject commit ad4a553487eeb5c6bbb5abf4bde26af905bf0254 +Subproject commit bc64fda29cf2e1f4641b381a739c53d7c4d2aa38 diff --git a/submodules/elf-edit b/submodules/elf-edit index d6d26540..3ba7d714 160000 --- a/submodules/elf-edit +++ b/submodules/elf-edit @@ -1 +1 @@ -Subproject commit d6d26540ed50348a597720b0015357bde34d504d +Subproject commit 3ba7d7148adc6029b0046229c4fecbb9ee048f9b diff --git a/submodules/llvm-pretty b/submodules/llvm-pretty index b13493fd..94e38484 160000 --- a/submodules/llvm-pretty +++ b/submodules/llvm-pretty @@ -1 +1 @@ -Subproject commit b13493fda7276835a4e19bf13a9fb1b3e08083a9 +Subproject commit 94e384842b214ba72446d1694446fb5261ab6ce2 diff --git a/submodules/what4 b/submodules/what4 index 6c462cd4..28744e48 160000 --- a/submodules/what4 +++ b/submodules/what4 @@ -1 +1 @@ -Subproject commit 6c462cd46e0ea9ebbfbd6b6ea237984eeb3dc72a +Subproject commit 28744e48e01dc9c35d5aeebb914a9bb425cfe0f1