[Git][ghc/ghc][master] 5 commits: Use Cabal 3.10 for Hadrian

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Thu Sep 21 16:55:58 UTC 2023



Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC


Commits:
fa977034 by John Ericson at 2023-09-21T12:55:25-04:00
Use Cabal 3.10 for Hadrian

We need the newer version for `CABAL_FLAG_*` env vars for #17191.

- - - - -
a5d22cab by John Ericson at 2023-09-21T12:55:25-04:00
hadrian: `need` any `configure` script we will call

When the script is changed, we should reconfigure.

- - - - -
db882b57 by John Ericson at 2023-09-21T12:55:25-04:00
hadrian: Make it easier to debug Cabal configure

Right now, output is squashed. This make per-package configure scripts
extremely hard to maintain, because we get vague "library is missing"
errors when the actually probably is usually completely unrelated except
for also involving the C/C++ toolchain.

(I can always pass `-VVV` to Hadrian locally, but these errors are
subtle and I often cannot reproduce them locally!)

`--disable-option-checking` was added back in
75c6e0684dda585c37b4ac254cd7a13537a59a91 but seems to be a bit overkill;
if other flags are passed that are not recognized behind the two from
Cabal mentioned in the former comment, we *do* want to know about it.

- - - - -
7ed65f5a by John Ericson at 2023-09-21T12:55:25-04:00
hadrian: Increase verbosity of certain cabal commands

This is a hack to get around the cabal function we're calling
*decreasing* the verbosity it passes to another function, which is the
stuff we often actually care about. Sigh.

Keeping this a separate commit so if this makes things too verbose it is
easy to revert.

- - - - -
a4fde569 by John Ericson at 2023-09-21T12:55:25-04:00
rts: Move most external symbols logic to the configure script

This is much more terse because we are programmatically handling the
leading underscore.

`findPtr` however is still handled in the Cabal file because we need a
newer Cabal to pass flags to the configure script automatically.

Co-Authored-By: Ben Gamari <ben at well-typed.com>

- - - - -


25 changed files:

- hadrian/bootstrap/plan-9_4_1.json
- hadrian/bootstrap/plan-9_4_2.json
- hadrian/bootstrap/plan-9_4_3.json
- hadrian/bootstrap/plan-9_4_4.json
- hadrian/bootstrap/plan-9_4_5.json
- hadrian/bootstrap/plan-9_6_1.json
- hadrian/bootstrap/plan-9_6_2.json
- hadrian/bootstrap/plan-bootstrap-9_4_1.json
- hadrian/bootstrap/plan-bootstrap-9_4_2.json
- hadrian/bootstrap/plan-bootstrap-9_4_3.json
- hadrian/bootstrap/plan-bootstrap-9_4_4.json
- hadrian/bootstrap/plan-bootstrap-9_4_5.json
- hadrian/bootstrap/plan-bootstrap-9_6_1.json
- hadrian/bootstrap/plan-bootstrap-9_6_2.json
- hadrian/hadrian.cabal
- hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
- hadrian/src/Hadrian/Oracles/Cabal/Rules.hs
- hadrian/src/Settings/Builders/Cabal.hs
- hadrian/stack.yaml
- hadrian/stack.yaml.lock
- rts/.gitignore
- rts/configure.ac
- + rts/external-symbols.list.in
- + rts/rts.buildinfo.in
- rts/rts.cabal.in


Changes:

=====================================
hadrian/bootstrap/plan-9_4_1.json
=====================================
@@ -5,8 +5,9 @@
   "compiler-id": "ghc-9.4.1",
   "install-plan": [
     {
+      "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.4.0",
         "base-4.17.0.0",
         "bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
+      "component-name": "lib",
       "depends": [
         "array-0.5.4.0",
         "base-4.17.0.0",
@@ -46,10 +60,22 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-syntax-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
       "depends": [
@@ -341,7 +367,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.17.0.0",
         "base16-bytestring-1.0.2.0-1f4d5cfa7c972d59268ad23a58928ca71cb3b0b4d99ecfb3365582489f8d5c7a",
         "bytestring-0.11.3.1",


=====================================
hadrian/bootstrap/plan-9_4_2.json
=====================================
@@ -5,8 +5,9 @@
   "compiler-id": "ghc-9.4.2",
   "install-plan": [
     {
+      "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.4.0",
         "base-4.17.0.0",
         "bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
+      "component-name": "lib",
       "depends": [
         "array-0.5.4.0",
         "base-4.17.0.0",
@@ -46,10 +60,22 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-syntax-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
       "depends": [
@@ -341,7 +367,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.17.0.0",
         "base16-bytestring-1.0.2.0-8845b9b845268782664a9731259247bb8eb1e18dc03a39dadfe77b42101a894d",
         "bytestring-0.11.3.1",


=====================================
hadrian/bootstrap/plan-9_4_3.json
=====================================
@@ -5,8 +5,9 @@
   "compiler-id": "ghc-9.4.3",
   "install-plan": [
     {
+      "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.4.0",
         "base-4.17.0.0",
         "bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
+      "component-name": "lib",
       "depends": [
         "array-0.5.4.0",
         "base-4.17.0.0",
@@ -46,10 +60,22 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-syntax-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
       "depends": [
@@ -341,7 +367,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.17.0.0",
         "base16-bytestring-1.0.2.0-022be67a0e4d2e8bed3248f110a529e722a677692e78084e184611e934a069d4",
         "bytestring-0.11.3.1",


=====================================
hadrian/bootstrap/plan-9_4_4.json
=====================================
@@ -5,8 +5,9 @@
   "compiler-id": "ghc-9.4.4",
   "install-plan": [
     {
+      "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.4.0",
         "base-4.17.0.0",
         "bytestring-0.11.3.1",
@@ -23,12 +24,25 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
+      "component-name": "lib",
       "depends": [
         "array-0.5.4.0",
         "base-4.17.0.0",
@@ -46,10 +60,22 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-syntax-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
       "depends": [
@@ -341,7 +367,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.4/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.17.0.0",
         "base16-bytestring-1.0.2.0-2c05b63cefa5d7007acd478c1dbfe18a190bfba61d8945d4d5b87798ed9ca8c2",
         "bytestring-0.11.3.1",


=====================================
hadrian/bootstrap/plan-9_4_5.json
=====================================
@@ -5,8 +5,9 @@
   "compiler-id": "ghc-9.4.5",
   "install-plan": [
     {
+      "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.4.0",
         "base-4.17.1.0",
         "bytestring-0.11.4.0",
@@ -23,12 +24,25 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
+      "component-name": "lib",
       "depends": [
         "array-0.5.4.0",
         "base-4.17.1.0",
@@ -46,10 +60,22 @@
         "transformers-0.5.6.2",
         "unix-2.7.3"
       ],
-      "id": "Cabal-syntax-3.8.1.0",
+      "exe-depends": [],
+      "flags": {},
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
-      "pkg-version": "3.8.1.0",
-      "type": "pre-existing"
+      "pkg-src": {
+        "repo": {
+          "type": "secure-repo",
+          "uri": "http://hackage.haskell.org/"
+        },
+        "type": "repo-tar"
+      },
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
+      "style": "global",
+      "type": "configured"
     },
     {
       "depends": [
@@ -341,7 +367,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.5/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.17.1.0",
         "base16-bytestring-1.0.2.0-1562190683b25c2fe2deaf09b565f90fb7542655a2a02b012fe1b10df4b7e2f4",
         "bytestring-0.11.4.0",


=====================================
hadrian/bootstrap/plan-9_6_1.json
=====================================
@@ -7,7 +7,7 @@
     {
       "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0-3ca25e89601c18bd49019a3d1e19420c47007f095f586f14636917297c1fc62a",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.5.0",
         "base-4.18.0.0",
         "bytestring-0.11.4.0",
@@ -26,8 +26,8 @@
       ],
       "exe-depends": [],
       "flags": {},
-      "id": "Cabal-3.8.1.0-372ffc7841ab6b7a5b1b38fc4fa05a1def6d41a4a28a05b6b16412d8d03e6fd6",
-      "pkg-cabal-sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
       "pkg-src": {
         "repo": {
@@ -36,8 +36,8 @@
         },
         "type": "repo-tar"
       },
-      "pkg-src-sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
-      "pkg-version": "3.8.1.0",
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
       "style": "global",
       "type": "configured"
     },
@@ -62,8 +62,8 @@
       ],
       "exe-depends": [],
       "flags": {},
-      "id": "Cabal-syntax-3.8.1.0-3ca25e89601c18bd49019a3d1e19420c47007f095f586f14636917297c1fc62a",
-      "pkg-cabal-sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
       "pkg-src": {
         "repo": {
@@ -72,8 +72,8 @@
         },
         "type": "repo-tar"
       },
-      "pkg-src-sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
-      "pkg-version": "3.8.1.0",
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
       "style": "global",
       "type": "configured"
     },
@@ -384,7 +384,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.1/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0-372ffc7841ab6b7a5b1b38fc4fa05a1def6d41a4a28a05b6b16412d8d03e6fd6",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.18.0.0",
         "base16-bytestring-1.0.2.0-b5940c21a059d328169082a7bf03f08fec9ea9cb300f6de1499ec2087f455bc8",
         "bytestring-0.11.4.0",


=====================================
hadrian/bootstrap/plan-9_6_2.json
=====================================
@@ -7,7 +7,7 @@
     {
       "component-name": "lib",
       "depends": [
-        "Cabal-syntax-3.8.1.0-bbbf718cfbbd663054f4341b07dcb273c36b79e2447b99b75bc5e65249495f9f",
+        "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
         "array-0.5.5.0",
         "base-4.18.0.0",
         "bytestring-0.11.4.0",
@@ -26,8 +26,8 @@
       ],
       "exe-depends": [],
       "flags": {},
-      "id": "Cabal-3.8.1.0-7a8b83f34876a72e56865d5971de85c427928b628cb9a41bbf2a60c4512d85b0",
-      "pkg-cabal-sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+      "id": "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
+      "pkg-cabal-sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "pkg-name": "Cabal",
       "pkg-src": {
         "repo": {
@@ -36,8 +36,8 @@
         },
         "type": "repo-tar"
       },
-      "pkg-src-sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
-      "pkg-version": "3.8.1.0",
+      "pkg-src-sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "pkg-version": "3.10.1.0",
       "style": "global",
       "type": "configured"
     },
@@ -62,8 +62,8 @@
       ],
       "exe-depends": [],
       "flags": {},
-      "id": "Cabal-syntax-3.8.1.0-bbbf718cfbbd663054f4341b07dcb273c36b79e2447b99b75bc5e65249495f9f",
-      "pkg-cabal-sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+      "id": "Cabal-syntax-3.10.1.0-a7e09e0ed12b8981fd4bb5283acfafac1e1e07aeb2b44507502ae461bb01f1b4",
+      "pkg-cabal-sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "pkg-name": "Cabal-syntax",
       "pkg-src": {
         "repo": {
@@ -72,8 +72,8 @@
         },
         "type": "repo-tar"
       },
-      "pkg-src-sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
-      "pkg-version": "3.8.1.0",
+      "pkg-src-sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "pkg-version": "3.10.1.0",
       "style": "global",
       "type": "configured"
     },
@@ -384,7 +384,7 @@
       "build-info": "/home/matt/ghc-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.2/hadrian-0.1.0.0/x/hadrian/build-info.json",
       "component-name": "exe:hadrian",
       "depends": [
-        "Cabal-3.8.1.0-7a8b83f34876a72e56865d5971de85c427928b628cb9a41bbf2a60c4512d85b0",
+        "Cabal-3.10.1.0-08e8e38266cef863dfe810047ea2fb0574df80fd2bdeee7f2fbd09dadd0ddc38",
         "base-4.18.0.0",
         "base16-bytestring-1.0.2.0-53ed4e283858e02cbf91231d1ff6b983d0bc92a6868605ebee0c8b080a87d802",
         "bytestring-0.11.4.0",


=====================================
hadrian/bootstrap/plan-bootstrap-9_4_1.json
=====================================
@@ -80,20 +80,30 @@
       "package": "parsec",
       "version": "3.1.15.0"
     },
-    {
-      "package": "Cabal-syntax",
-      "version": "3.8.1.0"
-    },
     {
       "package": "process",
       "version": "1.6.15.0"
-    },
-    {
-      "package": "Cabal",
-      "version": "3.8.1.0"
     }
   ],
   "dependencies": [
+    {
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+      "flags": [],
+      "package": "Cabal-syntax",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
+    },
+    {
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+      "flags": [],
+      "package": "Cabal",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
+    },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
       "flags": [],
@@ -211,10 +221,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/bootstrap/plan-bootstrap-9_4_2.json
=====================================
@@ -80,20 +80,30 @@
       "package": "parsec",
       "version": "3.1.15.0"
     },
-    {
-      "package": "Cabal-syntax",
-      "version": "3.8.1.0"
-    },
     {
       "package": "process",
       "version": "1.6.15.0"
-    },
-    {
-      "package": "Cabal",
-      "version": "3.8.1.0"
     }
   ],
   "dependencies": [
+    {
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+      "flags": [],
+      "package": "Cabal-syntax",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
+    },
+    {
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+      "flags": [],
+      "package": "Cabal",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
+    },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
       "flags": [],
@@ -211,10 +221,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/bootstrap/plan-bootstrap-9_4_3.json
=====================================
@@ -80,20 +80,30 @@
       "package": "parsec",
       "version": "3.1.15.0"
     },
-    {
-      "package": "Cabal-syntax",
-      "version": "3.8.1.0"
-    },
     {
       "package": "process",
       "version": "1.6.16.0"
-    },
-    {
-      "package": "Cabal",
-      "version": "3.8.1.0"
     }
   ],
   "dependencies": [
+    {
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+      "flags": [],
+      "package": "Cabal-syntax",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
+    },
+    {
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+      "flags": [],
+      "package": "Cabal",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
+    },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
       "flags": [],
@@ -211,10 +221,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/bootstrap/plan-bootstrap-9_4_4.json
=====================================
@@ -80,20 +80,30 @@
       "package": "parsec",
       "version": "3.1.15.0"
     },
-    {
-      "package": "Cabal-syntax",
-      "version": "3.8.1.0"
-    },
     {
       "package": "process",
       "version": "1.6.16.0"
-    },
-    {
-      "package": "Cabal",
-      "version": "3.8.1.0"
     }
   ],
   "dependencies": [
+    {
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+      "flags": [],
+      "package": "Cabal-syntax",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
+    },
+    {
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+      "flags": [],
+      "package": "Cabal",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
+    },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
       "flags": [],
@@ -211,10 +221,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/bootstrap/plan-bootstrap-9_4_5.json
=====================================
@@ -80,20 +80,30 @@
       "package": "parsec",
       "version": "3.1.16.1"
     },
-    {
-      "package": "Cabal-syntax",
-      "version": "3.8.1.0"
-    },
     {
       "package": "process",
       "version": "1.6.16.0"
-    },
-    {
-      "package": "Cabal",
-      "version": "3.8.1.0"
     }
   ],
   "dependencies": [
+    {
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
+      "flags": [],
+      "package": "Cabal-syntax",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
+    },
+    {
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
+      "flags": [],
+      "package": "Cabal",
+      "revision": 0,
+      "source": "hackage",
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
+    },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
       "flags": [],
@@ -211,10 +221,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/bootstrap/plan-bootstrap-9_6_1.json
=====================================
@@ -95,22 +95,22 @@
   ],
   "dependencies": [
     {
-      "cabal_sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "flags": [],
       "package": "Cabal-syntax",
-      "revision": 3,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
-      "version": "3.8.1.0"
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
     },
     {
-      "cabal_sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "flags": [],
       "package": "Cabal",
-      "revision": 2,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
-      "version": "3.8.1.0"
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
     },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
@@ -229,10 +229,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/bootstrap/plan-bootstrap-9_6_2.json
=====================================
@@ -95,22 +95,22 @@
   ],
   "dependencies": [
     {
-      "cabal_sha256": "ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593",
+      "cabal_sha256": "bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7",
       "flags": [],
       "package": "Cabal-syntax",
-      "revision": 3,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f",
-      "version": "3.8.1.0"
+      "src_sha256": "3b80092355327768a0de8298ac50ee906b7e82462e2ba14542730573b453f522",
+      "version": "3.10.1.0"
     },
     {
-      "cabal_sha256": "77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d",
+      "cabal_sha256": "6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94",
       "flags": [],
       "package": "Cabal",
-      "revision": 2,
+      "revision": 0,
       "source": "hackage",
-      "src_sha256": "7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608",
-      "version": "3.8.1.0"
+      "src_sha256": "0bdbab8e4c3178016fb0f070d8b62bc3067f93afabfbd3aa17c8065d0ecc98ee",
+      "version": "3.10.1.0"
     },
     {
       "cabal_sha256": "64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a",
@@ -229,10 +229,10 @@
       "version": "3.3.1"
     },
     {
-      "cabal_sha256": "826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19",
+      "cabal_sha256": "d0ff45fa6e61f92af23611ceb8b9a6a04c236b50fb70c60e2ed3bfa532703670",
       "flags": [],
       "package": "primitive",
-      "revision": 0,
+      "revision": 1,
       "source": "hackage",
       "src_sha256": "5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f",
       "version": "0.8.0.0"


=====================================
hadrian/hadrian.cabal
=====================================
@@ -150,7 +150,7 @@ executable hadrian
                        , TypeOperators
     other-extensions:    MultiParamTypeClasses
                        , TypeFamilies
-    build-depends:       Cabal                >= 3.2     && < 3.9
+    build-depends:       Cabal                >= 3.10    && < 3.11
                        , base                 >= 4.11    && < 5
                        , bytestring           >= 0.10    && < 0.12
                        , containers           >= 0.5     && < 0.7


=====================================
hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
=====================================
@@ -144,25 +144,29 @@ configurePackage context at Context {..} = do
     need deps
 
     -- Figure out what hooks we need.
+    let configureFile = replaceFileName (pkgCabalFile package) "configure"
+        -- induce dependency on the file
+        autoconfUserHooks = do
+          need [configureFile]
+          pure C.autoconfUserHooks
     hooks <- case C.buildType (C.flattenPackageDescription gpd) of
-        C.Configure -> pure C.autoconfUserHooks
+        C.Configure -> autoconfUserHooks
         C.Simple -> pure C.simpleUserHooks
         C.Make -> fail "build-type: Make is not supported"
         -- The 'time' package has a 'C.Custom' Setup.hs, but it's actually
         -- 'C.Configure' plus a @./Setup test@ hook. However, Cabal is also
         -- 'C.Custom', but doesn't have a configure script.
         C.Custom -> do
-            configureExists <- doesFileExist $
-                replaceFileName (pkgCabalFile package) "configure"
-            pure $ if configureExists then C.autoconfUserHooks else C.simpleUserHooks
+            configureExists <- doesFileExist configureFile
+            if configureExists then autoconfUserHooks else pure C.simpleUserHooks
 
     -- Compute the list of flags, and the Cabal configuration arguments
     flagList    <- interpret (target context (Cabal Flags stage) [] []) getArgs
     argList     <- interpret (target context (Cabal Setup stage) [] []) getArgs
     trackArgsHash (target context (Cabal Flags stage) [] [])
     trackArgsHash (target context (Cabal Setup stage) [] [])
-    verbosity   <- getVerbosity
-    let v = if verbosity >= Diagnostic then "-v3" else "-v0"
+    verbosity <- getVerbosity
+    let v = shakeVerbosityToCabalFlag verbosity
         argList' = argList ++ ["--flags=" ++ unwords flagList, v]
     when (verbosity >= Verbose) $
         putProgressInfo $ "| Package " ++ quote (pkgName package) ++ " configuration flags: " ++ unwords argList'
@@ -185,12 +189,18 @@ copyPackage context at Context {..} = do
     ctxPath   <- Context.contextPath context
     pkgDbPath <- packageDbPath (PackageDbLoc stage iplace)
     verbosity <- getVerbosity
-    let v = if verbosity >= Diagnostic then "-v3" else "-v0"
+    let v = shakeVerbosityToCabalFlag verbosity
     traced "cabal-copy" $
         C.defaultMainWithHooksNoReadArgs C.autoconfUserHooks gpd
             [ "copy", "--builddir", ctxPath, "--target-package-db", pkgDbPath, v ]
 
-
+-- | Increase by 1 by because 'simpleUserHooks' calls 'lessVerbose'
+shakeVerbosityToCabalFlag :: Verbosity -> String
+shakeVerbosityToCabalFlag = \case
+    Diagnostic -> "-v3"
+    Verbose -> "-v3"
+    Silent -> "-v0"
+    _ -> "-v2"
 
 -- | What type of file is Main
 data MainSourceType = HsMain | CppMain | CMain


=====================================
hadrian/src/Hadrian/Oracles/Cabal/Rules.hs
=====================================
@@ -73,7 +73,7 @@ cabalOracle = do
                      $ addKnownProgram ghcPkgProgram
                      $ emptyProgramDb
         (compiler, maybePlatform, _pkgdb) <- liftIO $
-            configure silent Nothing Nothing progDb
+            configure normal Nothing Nothing progDb
         let platform = fromMaybe (error msg) maybePlatform
             msg      = "PackageConfiguration oracle: cannot detect platform"
         return $ PackageConfiguration (compiler, platform)


=====================================
hadrian/src/Settings/Builders/Cabal.hs
=====================================
@@ -83,7 +83,6 @@ cabalSetupArgs = builder (Cabal Setup) ? do
 
 commonCabalArgs :: Stage -> Args
 commonCabalArgs stage = do
-  verbosity <- expr getVerbosity
   pkg       <- getPackage
   package_id <- expr $ pkgUnitId stage pkg
   let prefix = "${pkgroot}" ++ (if windowsHost then "" else "/..")
@@ -127,9 +126,7 @@ commonCabalArgs stage = do
             , with Alex
             , with Happy
             -- Update Target.trackArgument if changing these:
-            , verbosity < Verbose ?
-              pure [ "-v0", "--configure-option=--quiet"
-                   , "--configure-option=--disable-option-checking" ] ]
+            ]
 
 -- TODO: Isn't vanilla always built? If yes, some conditions are redundant.
 -- TODO: Need compiler_stage1_CONFIGURE_OPTS += --disable-library-for-ghci?


=====================================
hadrian/stack.yaml
=====================================
@@ -17,3 +17,7 @@ nix:
    - ncurses
    - perl
    - ghc-toolchain
+
+extra-deps:
+   - Cabal-3.10.1.0
+   - Cabal-syntax-3.10.1.0


=====================================
hadrian/stack.yaml.lock
=====================================
@@ -3,7 +3,21 @@
 # For more information, please see the documentation at:
 #   https://docs.haskellstack.org/en/stable/lock_files
 
-packages: []
+packages:
+- completed:
+    hackage: Cabal-3.10.1.0 at sha256:6d11adf7847d9734e7b02785ff831b5a0d11536bfbcefd6634b2b08411c63c94,12316
+    pantry-tree:
+      sha256: 3d175ab2e29f17494599bf5844d0037d01fd04287ac5d50c5c788b0633a8ee6f
+      size: 9223
+  original:
+    hackage: Cabal-3.10.1.0
+- completed:
+    hackage: Cabal-syntax-3.10.1.0 at sha256:bb835ebab577fd0f9c11dab96210dbb8d68ffc62652576f4b092563c345930e7,7434
+    pantry-tree:
+      sha256: bb1e418f0eb0976bbf4f50491ef4f2b737121bb866e22d07cff1de91f199db7e
+      size: 11052
+  original:
+    hackage: Cabal-syntax-3.10.1.0
 snapshots:
 - completed:
     size: 650475


=====================================
rts/.gitignore
=====================================
@@ -18,6 +18,7 @@
 /config.status
 /configure
 
+/external-symbols.list
 /ghcautoconf.h.autoconf.in
 /ghcautoconf.h.autoconf
 /include/ghcautoconf.h


=====================================
rts/configure.ac
=====================================
@@ -55,3 +55,44 @@ cat $srcdir/../mk/config.h ghcautoconf.h.autoconf | sed \
    >> include/ghcautoconf.h
 echo "#endif /* __GHCAUTOCONF_H__ */" >> include/ghcautoconf.h
 ]
+
+dnl ######################################################################
+dnl Generate external symbol flags (-Wl,-u...)
+dnl ######################################################################
+
+dnl See Note [Undefined symbols in the RTS]
+
+[
+symbolExtraDefs=''
+if [[ "$CABAL_FLAG_find_ptr" = 1 ]]; then
+    symbolExtraDefs+=' -DFIND_PTR'
+fi
+
+cat $srcdir/external-symbols.list.in \
+    | "$CC" $symbolExtraDefs -E -P -traditional -Iinclude - -o - \
+    | sed -e '/^ *$/d' \
+    > external-symbols.list \
+    || exit 1
+
+if [[ "$CABAL_FLAG_leading_underscore" = 1 ]]; then
+    sedExpr='s/^(.*)$/  "-Wl,-u,_\1"/'
+else
+    sedExpr='s/^(.*)$/  "-Wl,-u,\1"/'
+fi
+sed -E -e "${sedExpr}" external-symbols.list > external-symbols.flags
+unset sedExpr
+rm -f external-symbols.list
+]
+
+dnl ######################################################################
+dnl Generate build-info
+dnl ######################################################################
+
+[
+cat $srcdir/rts.buildinfo.in \
+    | "$CC" -E -P -traditional - -o - \
+    | sed -e '/^ *$/d' \
+    > rts.buildinfo \
+    || exit 1
+rm -f external-symbols.flags
+]


=====================================
rts/external-symbols.list.in
=====================================
@@ -0,0 +1,97 @@
+#include "ghcautoconf.h"
+
+#if 0
+See Note [Undefined symbols in the RTS]
+#endif
+
+#if mingw32_HOST_OS
+base_GHCziEventziWindows_processRemoteCompletion_closure
+#endif
+
+#if FIND_PTR
+findPtr
+#endif
+
+base_GHCziTopHandler_runIO_closure
+base_GHCziTopHandler_runNonIO_closure
+ghczmprim_GHCziTupleziPrim_Z0T_closure
+ghczmprim_GHCziTypes_True_closure
+ghczmprim_GHCziTypes_False_closure
+base_GHCziPack_unpackCString_closure
+base_GHCziWeakziFinalizze_runFinalizzerBatch_closure
+base_GHCziIOziException_stackOverflow_closure
+base_GHCziIOziException_heapOverflow_closure
+base_GHCziIOziException_allocationLimitExceeded_closure
+base_GHCziIOziException_blockedIndefinitelyOnMVar_closure
+base_GHCziIOziException_blockedIndefinitelyOnSTM_closure
+base_GHCziIOziException_cannotCompactFunction_closure
+base_GHCziIOziException_cannotCompactPinned_closure
+base_GHCziIOziException_cannotCompactMutable_closure
+base_GHCziIOPort_doubleReadException_closure
+base_ControlziExceptionziBase_nonTermination_closure
+base_ControlziExceptionziBase_nestedAtomically_closure
+base_GHCziEventziThread_blockedOnBadFD_closure
+base_GHCziConcziSync_runSparks_closure
+base_GHCziConcziIO_ensureIOManagerIsRunning_closure
+base_GHCziConcziIO_interruptIOManager_closure
+base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure
+base_GHCziConcziSignal_runHandlersPtr_closure
+base_GHCziTopHandler_flushStdHandles_closure
+base_GHCziTopHandler_runMainIO_closure
+ghczmprim_GHCziTypes_Czh_con_info
+ghczmprim_GHCziTypes_Izh_con_info
+ghczmprim_GHCziTypes_Fzh_con_info
+ghczmprim_GHCziTypes_Dzh_con_info
+ghczmprim_GHCziTypes_Wzh_con_info
+base_GHCziPtr_Ptr_con_info
+base_GHCziPtr_FunPtr_con_info
+base_GHCziInt_I8zh_con_info
+base_GHCziInt_I16zh_con_info
+base_GHCziInt_I32zh_con_info
+base_GHCziInt_I64zh_con_info
+base_GHCziWord_W8zh_con_info
+base_GHCziWord_W16zh_con_info
+base_GHCziWord_W32zh_con_info
+base_GHCziWord_W64zh_con_info
+base_GHCziStable_StablePtr_con_info
+hs_atomic_add8
+hs_atomic_add16
+hs_atomic_add32
+hs_atomic_add64
+hs_atomic_sub8
+hs_atomic_sub16
+hs_atomic_sub32
+hs_atomic_sub64
+hs_atomic_and8
+hs_atomic_and16
+hs_atomic_and32
+hs_atomic_and64
+hs_atomic_nand8
+hs_atomic_nand16
+hs_atomic_nand32
+hs_atomic_nand64
+hs_atomic_or8
+hs_atomic_or16
+hs_atomic_or32
+hs_atomic_or64
+hs_atomic_xor8
+hs_atomic_xor16
+hs_atomic_xor32
+hs_atomic_xor64
+hs_cmpxchg8
+hs_cmpxchg16
+hs_cmpxchg32
+hs_cmpxchg64
+hs_xchg8
+hs_xchg16
+hs_xchg32
+hs_xchg64
+hs_atomicread8
+hs_atomicread16
+hs_atomicread32
+hs_atomicread64
+hs_atomicwrite8
+hs_atomicwrite16
+hs_atomicwrite32
+hs_atomicwrite64
+base_GHCziStackziCloneStack_StackSnapshot_closure


=====================================
rts/rts.buildinfo.in
=====================================
@@ -0,0 +1,3 @@
+-- External symbols referenced by the RTS
+ld-options:
+#include "external-symbols.flags"


=====================================
rts/rts.cabal.in
=====================================
@@ -14,9 +14,12 @@ build-type: Configure
 extra-source-files:
     configure
     configure.ac
+    external-symbols.list.in
+    rts.buildinfo.in
 
 extra-tmp-files:
     autom4te.cache
+    rts.buildinfo
     config.log
     config.status
 
@@ -301,197 +304,6 @@ library
                         stg/Ticky.h
                         stg/Types.h
 
-      -- See Note [Undefined symbols in the RTS]
-      if flag(leading-underscore)
-        ld-options:
-           "-Wl,-u,_base_GHCziTopHandler_runIO_closure"
-           "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure"
-           "-Wl,-u,_ghczmprim_GHCziTupleziPrim_Z0T_closure"
-           "-Wl,-u,_ghczmprim_GHCziTypes_True_closure"
-           "-Wl,-u,_ghczmprim_GHCziTypes_False_closure"
-           "-Wl,-u,_base_GHCziPack_unpackCString_closure"
-           "-Wl,-u,_base_GHCziWeakziFinalizze_runFinalizzerBatch_closure"
-           "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure"
-           "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure"
-           "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure"
-           "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
-           "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
-           "-Wl,-u,_base_GHCziIOziException_cannotCompactFunction_closure"
-           "-Wl,-u,_base_GHCziIOziException_cannotCompactPinned_closure"
-           "-Wl,-u,_base_GHCziIOziException_cannotCompactMutable_closure"
-           "-Wl,-u,_base_GHCziIOPort_doubleReadException_closure"
-           "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
-           "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure"
-           "-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure"
-           "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
-           "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
-           "-Wl,-u,_base_GHCziConcziIO_interruptIOManager_closure"
-           "-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
-           "-Wl,-u,_base_GHCziConcziSignal_runHandlersPtr_closure"
-           "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure"
-           "-Wl,-u,_base_GHCziTopHandler_runMainIO_closure"
-           "-Wl,-u,_ghczmprim_GHCziTypes_Czh_con_info"
-           "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info"
-           "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info"
-           "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info"
-           "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_con_info"
-           "-Wl,-u,_base_GHCziPtr_Ptr_con_info"
-           "-Wl,-u,_base_GHCziPtr_FunPtr_con_info"
-           "-Wl,-u,_base_GHCziInt_I8zh_con_info"
-           "-Wl,-u,_base_GHCziInt_I16zh_con_info"
-           "-Wl,-u,_base_GHCziInt_I32zh_con_info"
-           "-Wl,-u,_base_GHCziInt_I64zh_con_info"
-           "-Wl,-u,_base_GHCziWord_W8zh_con_info"
-           "-Wl,-u,_base_GHCziWord_W16zh_con_info"
-           "-Wl,-u,_base_GHCziWord_W32zh_con_info"
-           "-Wl,-u,_base_GHCziWord_W64zh_con_info"
-           "-Wl,-u,_base_GHCziStable_StablePtr_con_info"
-           "-Wl,-u,_hs_atomic_add8"
-           "-Wl,-u,_hs_atomic_add16"
-           "-Wl,-u,_hs_atomic_add32"
-           "-Wl,-u,_hs_atomic_add64"
-           "-Wl,-u,_hs_atomic_sub8"
-           "-Wl,-u,_hs_atomic_sub16"
-           "-Wl,-u,_hs_atomic_sub32"
-           "-Wl,-u,_hs_atomic_sub64"
-           "-Wl,-u,_hs_atomic_and8"
-           "-Wl,-u,_hs_atomic_and16"
-           "-Wl,-u,_hs_atomic_and32"
-           "-Wl,-u,_hs_atomic_and64"
-           "-Wl,-u,_hs_atomic_nand8"
-           "-Wl,-u,_hs_atomic_nand16"
-           "-Wl,-u,_hs_atomic_nand32"
-           "-Wl,-u,_hs_atomic_nand64"
-           "-Wl,-u,_hs_atomic_or8"
-           "-Wl,-u,_hs_atomic_or16"
-           "-Wl,-u,_hs_atomic_or32"
-           "-Wl,-u,_hs_atomic_or64"
-           "-Wl,-u,_hs_atomic_xor8"
-           "-Wl,-u,_hs_atomic_xor16"
-           "-Wl,-u,_hs_atomic_xor32"
-           "-Wl,-u,_hs_atomic_xor64"
-           "-Wl,-u,_hs_cmpxchg8"
-           "-Wl,-u,_hs_cmpxchg16"
-           "-Wl,-u,_hs_cmpxchg32"
-           "-Wl,-u,_hs_cmpxchg64"
-           "-Wl,-u,_hs_xchg8"
-           "-Wl,-u,_hs_xchg16"
-           "-Wl,-u,_hs_xchg32"
-           "-Wl,-u,_hs_xchg64"
-           "-Wl,-u,_hs_atomicread8"
-           "-Wl,-u,_hs_atomicread16"
-           "-Wl,-u,_hs_atomicread32"
-           "-Wl,-u,_hs_atomicread64"
-           "-Wl,-u,_hs_atomicwrite8"
-           "-Wl,-u,_hs_atomicwrite16"
-           "-Wl,-u,_hs_atomicwrite32"
-           "-Wl,-u,_hs_atomicwrite64"
-           "-Wl,-u,_base_GHCziStackziCloneStack_StackSnapshot_closure"
-
-        if flag(find-ptr)
-          -- This symbol is useful in gdb, but not referred to anywhere,
-          -- so we need to force it to be included in the binary.
-          ld-options: "-Wl,-u,_findPtr"
-
-      else
-        ld-options:
-           "-Wl,-u,base_GHCziTopHandler_runIO_closure"
-           "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
-           "-Wl,-u,ghczmprim_GHCziTupleziPrim_Z0T_closure"
-           "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
-           "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
-           "-Wl,-u,base_GHCziPack_unpackCString_closure"
-           "-Wl,-u,base_GHCziWeakziFinalizze_runFinalizzerBatch_closure"
-           "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
-           "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
-           "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
-           "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
-           "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
-           "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
-           "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
-           "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
-           "-Wl,-u,base_GHCziIOPort_doubleReadException_closure"
-           "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
-           "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
-           "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
-           "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
-           "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
-           "-Wl,-u,base_GHCziConcziIO_interruptIOManager_closure"
-           "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
-           "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
-           "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
-           "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
-           "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
-           "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
-           "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
-           "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
-           "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
-           "-Wl,-u,base_GHCziPtr_Ptr_con_info"
-           "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
-           "-Wl,-u,base_GHCziInt_I8zh_con_info"
-           "-Wl,-u,base_GHCziInt_I16zh_con_info"
-           "-Wl,-u,base_GHCziInt_I32zh_con_info"
-           "-Wl,-u,base_GHCziInt_I64zh_con_info"
-           "-Wl,-u,base_GHCziWord_W8zh_con_info"
-           "-Wl,-u,base_GHCziWord_W16zh_con_info"
-           "-Wl,-u,base_GHCziWord_W32zh_con_info"
-           "-Wl,-u,base_GHCziWord_W64zh_con_info"
-           "-Wl,-u,base_GHCziStable_StablePtr_con_info"
-           "-Wl,-u,hs_atomic_add8"
-           "-Wl,-u,hs_atomic_add16"
-           "-Wl,-u,hs_atomic_add32"
-           "-Wl,-u,hs_atomic_add64"
-           "-Wl,-u,hs_atomic_sub8"
-           "-Wl,-u,hs_atomic_sub16"
-           "-Wl,-u,hs_atomic_sub32"
-           "-Wl,-u,hs_atomic_sub64"
-           "-Wl,-u,hs_atomic_and8"
-           "-Wl,-u,hs_atomic_and16"
-           "-Wl,-u,hs_atomic_and32"
-           "-Wl,-u,hs_atomic_and64"
-           "-Wl,-u,hs_atomic_nand8"
-           "-Wl,-u,hs_atomic_nand16"
-           "-Wl,-u,hs_atomic_nand32"
-           "-Wl,-u,hs_atomic_nand64"
-           "-Wl,-u,hs_atomic_or8"
-           "-Wl,-u,hs_atomic_or16"
-           "-Wl,-u,hs_atomic_or32"
-           "-Wl,-u,hs_atomic_or64"
-           "-Wl,-u,hs_atomic_xor8"
-           "-Wl,-u,hs_atomic_xor16"
-           "-Wl,-u,hs_atomic_xor32"
-           "-Wl,-u,hs_atomic_xor64"
-           "-Wl,-u,hs_cmpxchg8"
-           "-Wl,-u,hs_cmpxchg16"
-           "-Wl,-u,hs_cmpxchg32"
-           "-Wl,-u,hs_cmpxchg64"
-           "-Wl,-u,hs_xchg8"
-           "-Wl,-u,hs_xchg16"
-           "-Wl,-u,hs_xchg32"
-           "-Wl,-u,hs_xchg64"
-           "-Wl,-u,hs_atomicread8"
-           "-Wl,-u,hs_atomicread16"
-           "-Wl,-u,hs_atomicread32"
-           "-Wl,-u,hs_atomicread64"
-           "-Wl,-u,hs_atomicwrite8"
-           "-Wl,-u,hs_atomicwrite16"
-           "-Wl,-u,hs_atomicwrite32"
-           "-Wl,-u,hs_atomicwrite64"
-           "-Wl,-u,base_GHCziStackziCloneStack_StackSnapshot_closure"
-
-        if flag(find-ptr)
-          -- This symbol is useful in gdb, but not referred to anywhere,
-          -- so we need to force it to be included in the binary.
-          ld-options: "-Wl,-u,findPtr"
-
-      if os(windows)
-        if flag(leading-underscore)
-          ld-options:
-             "-Wl,-u,_base_GHCziEventziWindows_processRemoteCompletion_closure"
-        else
-          ld-options:
-             "-Wl,-u,base_GHCziEventziWindows_processRemoteCompletion_closure"
-
       if os(osx)
         ld-options: "-Wl,-search_paths_first"
                     -- See Note [fd_set_overflow]



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/142f87401fb56b17616170bdfd736d10332d3dd5...a4fde569b31a64abb7c223548995aa6ecc009e98

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/142f87401fb56b17616170bdfd736d10332d3dd5...a4fde569b31a64abb7c223548995aa6ecc009e98
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/20230921/e52d0451/attachment-0001.html>


More information about the ghc-commits mailing list