Cheng Shao pushed to branch wip/ubsan at Glasgow Haskell Compiler / GHC
Commits:
-
bb221aa0
by Cheng Shao at 2025-12-09T09:12:47+01:00
-
7273893c
by Cheng Shao at 2025-12-09T09:12:50+01:00
-
f5bf2089
by Cheng Shao at 2025-12-09T09:12:50+01:00
-
6071743b
by Cheng Shao at 2025-12-09T09:12:50+01:00
-
284b2409
by Cheng Shao at 2025-12-09T09:12:50+01:00
-
b59a2e28
by Cheng Shao at 2025-12-09T12:33:34+01:00
14 changed files:
- .gitlab-ci.yml
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- configure.ac
- hadrian/doc/flavours.md
- hadrian/src/Flavour.hs
- + rts/.ubsan-suppressions
- rts/Interpreter.c
- rts/include/stg/Types.h
- rts/rts.cabal
- testsuite/driver/testglobals.py
- testsuite/driver/testlib.py
Changes:
| ... | ... | @@ -11,7 +11,7 @@ variables: |
| 11 | 11 | GIT_SSL_NO_VERIFY: "1"
|
| 12 | 12 | |
| 13 | 13 | # Commit of ghc/ci-images repository from which to pull Docker images
|
| 14 | - DOCKER_REV: a97d5c67d803c6b3811c6cccdf33dc8e9d7eafe3
|
|
| 14 | + DOCKER_REV: 71454506c0c2e215953306b04572092cb89a6c2a
|
|
| 15 | 15 | |
| 16 | 16 | # Sequential version number of all cached things.
|
| 17 | 17 | # Bump to invalidate GitLab CI cache.
|
| ... | ... | @@ -444,14 +444,14 @@ hadrian-ghc-in-ghci: |
| 444 | 444 | hadrian-multi:
|
| 445 | 445 | stage: testing
|
| 446 | 446 | needs:
|
| 447 | - - job: x86_64-linux-fedora42-release
|
|
| 447 | + - job: x86_64-linux-fedora43-release
|
|
| 448 | 448 | optional: true
|
| 449 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 449 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 450 | 450 | optional: true
|
| 451 | - - job: release-x86_64-linux-fedora42-release
|
|
| 451 | + - job: release-x86_64-linux-fedora43-release
|
|
| 452 | 452 | optional: true
|
| 453 | 453 | dependencies: null
|
| 454 | - image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV"
|
|
| 454 | + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
|
|
| 455 | 455 | before_script:
|
| 456 | 456 | # workaround for docker permissions
|
| 457 | 457 | - sudo chown ghc:ghc -R .
|
| ... | ... | @@ -471,7 +471,7 @@ hadrian-multi: |
| 471 | 471 | - ls
|
| 472 | 472 | - |
|
| 473 | 473 | mkdir tmp
|
| 474 | - tar -xf ghc-x86_64-linux-fedora42-release.tar.xz -C tmp
|
|
| 474 | + tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
|
|
| 475 | 475 | pushd tmp/ghc-*/
|
| 476 | 476 | ./configure --prefix=$root
|
| 477 | 477 | make install
|
| ... | ... | @@ -533,17 +533,17 @@ test-cabal-reinstall-x86_64-linux-deb10: |
| 533 | 533 | abi-test-nightly:
|
| 534 | 534 | stage: full-build
|
| 535 | 535 | needs:
|
| 536 | - - job: nightly-x86_64-linux-fedora42-release-hackage
|
|
| 537 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 536 | + - job: nightly-x86_64-linux-fedora43-release-hackage
|
|
| 537 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 538 | 538 | tags:
|
| 539 | 539 | - x86_64-linux
|
| 540 | - image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV"
|
|
| 540 | + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
|
|
| 541 | 541 | dependencies: null
|
| 542 | 542 | before_script:
|
| 543 | 543 | - mkdir -p normal
|
| 544 | 544 | - mkdir -p hackage
|
| 545 | - - tar -xf ghc-x86_64-linux-fedora42-release.tar.xz -C normal/
|
|
| 546 | - - tar -xf ghc-x86_64-linux-fedora42-release-hackage_docs.tar.xz -C hackage/
|
|
| 545 | + - tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C normal/
|
|
| 546 | + - tar -xf ghc-x86_64-linux-fedora43-release-hackage_docs.tar.xz -C hackage/
|
|
| 547 | 547 | script:
|
| 548 | 548 | - .gitlab/ci.sh compare_interfaces_of "normal/ghc-*" "hackage/ghc-*"
|
| 549 | 549 | artifacts:
|
| ... | ... | @@ -620,9 +620,9 @@ doc-tarball: |
| 620 | 620 | hackage-doc-tarball:
|
| 621 | 621 | stage: packaging
|
| 622 | 622 | needs:
|
| 623 | - - job: nightly-x86_64-linux-fedora42-release-hackage
|
|
| 623 | + - job: nightly-x86_64-linux-fedora43-release-hackage
|
|
| 624 | 624 | optional: true
|
| 625 | - - job: release-x86_64-linux-fedora42-release-hackage
|
|
| 625 | + - job: release-x86_64-linux-fedora43-release-hackage
|
|
| 626 | 626 | optional: true
|
| 627 | 627 | - job: source-tarball
|
| 628 | 628 | tags:
|
| ... | ... | @@ -639,7 +639,7 @@ hackage-doc-tarball: |
| 639 | 639 | - hackage_docs
|
| 640 | 640 | before_script:
|
| 641 | 641 | - tar -xf ghc-*[0-9]-src.tar.xz
|
| 642 | - - tar -xf ghc-x86_64-linux-fedora42-release.tar.xz -C ghc*/
|
|
| 642 | + - tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C ghc*/
|
|
| 643 | 643 | script:
|
| 644 | 644 | - cd ghc*/
|
| 645 | 645 | - mv .gitlab/rel_eng/upload_ghc_libs.py .
|
| ... | ... | @@ -765,7 +765,7 @@ test-bootstrap: |
| 765 | 765 | # Triggering jobs in the ghc/head.hackage project requires that we have a job
|
| 766 | 766 | # token for that repository. Furthermore the head.hackage CI job must have
|
| 767 | 767 | # access to an unprivileged access token with the ability to query the ghc/ghc
|
| 768 | -# project such that it can find the job ID of the fedora42 job for the current
|
|
| 768 | +# project such that it can find the job ID of the fedora43 job for the current
|
|
| 769 | 769 | # pipeline.
|
| 770 | 770 | #
|
| 771 | 771 | # hackage-lint: Can be triggered on any MR, normal validate pipeline or nightly build.
|
| ... | ... | @@ -852,7 +852,7 @@ nightly-hackage-lint: |
| 852 | 852 | |
| 853 | 853 | nightly-hackage-perf:
|
| 854 | 854 | needs:
|
| 855 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 855 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 856 | 856 | optional: true
|
| 857 | 857 | artifacts: false
|
| 858 | 858 | - job: nightly-aarch64-linux-deb12-validate
|
| ... | ... | @@ -871,7 +871,7 @@ nightly-hackage-perf: |
| 871 | 871 | |
| 872 | 872 | release-hackage-lint:
|
| 873 | 873 | needs:
|
| 874 | - - job: release-x86_64-linux-fedora42-release
|
|
| 874 | + - job: release-x86_64-linux-fedora43-release
|
|
| 875 | 875 | optional: true
|
| 876 | 876 | artifacts: false
|
| 877 | 877 | - job: release-aarch64-linux-deb12-release+no_split_sections
|
| ... | ... | @@ -957,13 +957,13 @@ perf-nofib: |
| 957 | 957 | allow_failure: true
|
| 958 | 958 | stage: testing
|
| 959 | 959 | needs:
|
| 960 | - - job: x86_64-linux-fedora42-release
|
|
| 960 | + - job: x86_64-linux-fedora43-release
|
|
| 961 | 961 | optional: true
|
| 962 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 962 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 963 | 963 | optional: true
|
| 964 | - - job: release-x86_64-linux-fedora42-release
|
|
| 964 | + - job: release-x86_64-linux-fedora43-release
|
|
| 965 | 965 | optional: true
|
| 966 | - image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV"
|
|
| 966 | + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
|
|
| 967 | 967 | rules:
|
| 968 | 968 | - when: never
|
| 969 | 969 | - *full-ci
|
| ... | ... | @@ -976,7 +976,7 @@ perf-nofib: |
| 976 | 976 | - root=$(pwd)/ghc
|
| 977 | 977 | - |
|
| 978 | 978 | mkdir tmp
|
| 979 | - tar -xf ../ghc-x86_64-linux-fedora42-release.tar.xz -C tmp
|
|
| 979 | + tar -xf ../ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
|
|
| 980 | 980 | pushd tmp/ghc-*/
|
| 981 | 981 | ./configure --prefix=$root
|
| 982 | 982 | make install
|
| ... | ... | @@ -1000,14 +1000,14 @@ perf-nofib: |
| 1000 | 1000 | perf:
|
| 1001 | 1001 | stage: testing
|
| 1002 | 1002 | needs:
|
| 1003 | - - job: x86_64-linux-fedora42-release
|
|
| 1003 | + - job: x86_64-linux-fedora43-release
|
|
| 1004 | 1004 | optional: true
|
| 1005 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 1005 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 1006 | 1006 | optional: true
|
| 1007 | - - job: release-x86_64-linux-fedora42-release
|
|
| 1007 | + - job: release-x86_64-linux-fedora43-release
|
|
| 1008 | 1008 | optional: true
|
| 1009 | 1009 | dependencies: null
|
| 1010 | - image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV"
|
|
| 1010 | + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
|
|
| 1011 | 1011 | tags:
|
| 1012 | 1012 | - x86_64-linux-perf
|
| 1013 | 1013 | before_script:
|
| ... | ... | @@ -1017,7 +1017,7 @@ perf: |
| 1017 | 1017 | - root=$(pwd)/ghc
|
| 1018 | 1018 | - |
|
| 1019 | 1019 | mkdir tmp
|
| 1020 | - tar -xf ghc-x86_64-linux-fedora42-release.tar.xz -C tmp
|
|
| 1020 | + tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
|
|
| 1021 | 1021 | pushd tmp/ghc-*/
|
| 1022 | 1022 | ./configure --prefix=$root
|
| 1023 | 1023 | make install
|
| ... | ... | @@ -1041,14 +1041,14 @@ perf: |
| 1041 | 1041 | abi-test:
|
| 1042 | 1042 | stage: testing
|
| 1043 | 1043 | needs:
|
| 1044 | - - job: x86_64-linux-fedora42-release
|
|
| 1044 | + - job: x86_64-linux-fedora43-release
|
|
| 1045 | 1045 | optional: true
|
| 1046 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 1046 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 1047 | 1047 | optional: true
|
| 1048 | - - job: release-x86_64-linux-fedora42-release
|
|
| 1048 | + - job: release-x86_64-linux-fedora43-release
|
|
| 1049 | 1049 | optional: true
|
| 1050 | 1050 | dependencies: null
|
| 1051 | - image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV"
|
|
| 1051 | + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
|
|
| 1052 | 1052 | rules:
|
| 1053 | 1053 | - if: $CI_MERGE_REQUEST_ID
|
| 1054 | 1054 | - if: '$CI_COMMIT_BRANCH == "master"'
|
| ... | ... | @@ -1059,7 +1059,7 @@ abi-test: |
| 1059 | 1059 | - root=$(pwd)/ghc
|
| 1060 | 1060 | - |
|
| 1061 | 1061 | mkdir tmp
|
| 1062 | - tar -xf ghc-x86_64-linux-fedora42-release.tar.xz -C tmp
|
|
| 1062 | + tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
|
|
| 1063 | 1063 | pushd tmp/ghc-*/
|
| 1064 | 1064 | ./configure --prefix=$root
|
| 1065 | 1065 | make install
|
| ... | ... | @@ -1094,29 +1094,29 @@ abi-test: |
| 1094 | 1094 | ghc-wasm-meta-gmp:
|
| 1095 | 1095 | extends: .ghc-wasm-meta
|
| 1096 | 1096 | needs:
|
| 1097 | - - job: x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1097 | + - job: x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1098 | 1098 | artifacts: false
|
| 1099 | 1099 | variables:
|
| 1100 | 1100 | UPSTREAM_GHC_FLAVOUR: gmp
|
| 1101 | - UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1101 | + UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1102 | 1102 | |
| 1103 | 1103 | ghc-wasm-meta-native:
|
| 1104 | 1104 | extends: .ghc-wasm-meta
|
| 1105 | 1105 | needs:
|
| 1106 | - - job: x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1106 | + - job: x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1107 | 1107 | artifacts: false
|
| 1108 | 1108 | variables:
|
| 1109 | 1109 | UPSTREAM_GHC_FLAVOUR: native
|
| 1110 | - UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1110 | + UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1111 | 1111 | |
| 1112 | 1112 | ghc-wasm-meta-unreg:
|
| 1113 | 1113 | extends: .ghc-wasm-meta
|
| 1114 | 1114 | needs:
|
| 1115 | - - job: x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1115 | + - job: x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1116 | 1116 | artifacts: false
|
| 1117 | 1117 | variables:
|
| 1118 | 1118 | UPSTREAM_GHC_FLAVOUR: unreg
|
| 1119 | - UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1119 | + UPSTREAM_GHC_JOB_NAME: x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf
|
|
| 1120 | 1120 | |
| 1121 | 1121 | ############################################################
|
| 1122 | 1122 | # Documentation deployment via GitLab Pages
|
| ... | ... | @@ -1218,7 +1218,7 @@ ghcup-metadata-nightly: |
| 1218 | 1218 | extends: .ghcup-metadata
|
| 1219 | 1219 | # Explicit needs for validate pipeline because we only need certain bindists
|
| 1220 | 1220 | needs:
|
| 1221 | - - job: nightly-x86_64-linux-fedora42-release
|
|
| 1221 | + - job: nightly-x86_64-linux-fedora43-release
|
|
| 1222 | 1222 | artifacts: false
|
| 1223 | 1223 | - job: nightly-x86_64-linux-ubuntu24_04-validate
|
| 1224 | 1224 | artifacts: false
|
| ... | ... | @@ -1236,7 +1236,7 @@ ghcup-metadata-nightly: |
| 1236 | 1236 | artifacts: false
|
| 1237 | 1237 | - job: nightly-x86_64-windows-validate
|
| 1238 | 1238 | artifacts: false
|
| 1239 | - - job: nightly-x86_64-linux-alpine3_22-validate
|
|
| 1239 | + - job: nightly-x86_64-linux-alpine3_23-validate
|
|
| 1240 | 1240 | artifacts: false
|
| 1241 | 1241 | - job: nightly-x86_64-linux-deb9-validate
|
| 1242 | 1242 | artifacts: false
|
| ... | ... | @@ -1244,7 +1244,7 @@ ghcup-metadata-nightly: |
| 1244 | 1244 | artifacts: false
|
| 1245 | 1245 | - job: nightly-i386-linux-deb12-validate
|
| 1246 | 1246 | artifacts: false
|
| 1247 | - - job: nightly-i386-linux-alpine3_22-validate
|
|
| 1247 | + - job: nightly-i386-linux-alpine3_23-validate
|
|
| 1248 | 1248 | artifacts: false
|
| 1249 | 1249 | - job: nightly-x86_64-linux-deb10-validate
|
| 1250 | 1250 | artifacts: false
|
| ... | ... | @@ -1256,7 +1256,7 @@ ghcup-metadata-nightly: |
| 1256 | 1256 | artifacts: false
|
| 1257 | 1257 | - job: nightly-aarch64-linux-deb12-validate
|
| 1258 | 1258 | artifacts: false
|
| 1259 | - - job: nightly-aarch64-linux-alpine3_22-validate
|
|
| 1259 | + - job: nightly-aarch64-linux-alpine3_23-validate
|
|
| 1260 | 1260 | artifacts: false
|
| 1261 | 1261 | - job: source-tarball
|
| 1262 | 1262 | artifacts: false
|
| ... | ... | @@ -1269,7 +1269,7 @@ ghcup-metadata-nightly: |
| 1269 | 1269 | # Update the ghcup metadata with information about this nightly pipeline
|
| 1270 | 1270 | ghcup-metadata-nightly-push:
|
| 1271 | 1271 | stage: deploy
|
| 1272 | - image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV"
|
|
| 1272 | + image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
|
|
| 1273 | 1273 | dependencies: null
|
| 1274 | 1274 | tags:
|
| 1275 | 1275 | - x86_64-linux
|
| ... | ... | @@ -82,7 +82,7 @@ The generated names for the jobs is important as there are a few downstream cons |
| 82 | 82 | of the jobs artifacts. Therefore some care should be taken if changing the generated
|
| 83 | 83 | names of jobs to update these other places.
|
| 84 | 84 | |
| 85 | -1. fedora42 jobs are required by head.hackage
|
|
| 85 | +1. fedora43 jobs are required by head.hackage
|
|
| 86 | 86 | 2. The fetch-gitlab release utility pulls release artifacts from the
|
| 87 | 87 | 3. The ghc-head-from script downloads release artifacts based on a pipeline change.
|
| 88 | 88 | 4. Some subsequent CI jobs have explicit dependencies (for example docs-tarball, perf, perf-nofib)
|
| ... | ... | @@ -118,14 +118,14 @@ data LinuxDistro |
| 118 | 118 | | Debian11Js
|
| 119 | 119 | | Debian10
|
| 120 | 120 | | Debian9
|
| 121 | - | Fedora42
|
|
| 121 | + | Fedora43
|
|
| 122 | 122 | | Ubuntu2404LoongArch64
|
| 123 | 123 | | Ubuntu2404
|
| 124 | 124 | | Ubuntu2204
|
| 125 | 125 | | Ubuntu2004
|
| 126 | 126 | | Ubuntu1804
|
| 127 | 127 | | Alpine312
|
| 128 | - | Alpine322
|
|
| 128 | + | Alpine323
|
|
| 129 | 129 | | AlpineWasm
|
| 130 | 130 | | Rocky8
|
| 131 | 131 | deriving (Eq)
|
| ... | ... | @@ -161,6 +161,7 @@ data BuildConfig |
| 161 | 161 | , hostFullyStatic :: Bool
|
| 162 | 162 | , tablesNextToCode :: Bool
|
| 163 | 163 | , threadSanitiser :: Bool
|
| 164 | + , ubsan :: Bool
|
|
| 164 | 165 | , noSplitSections :: Bool
|
| 165 | 166 | , validateNonmovingGc :: Bool
|
| 166 | 167 | , textWithSIMDUTF :: Bool
|
| ... | ... | @@ -186,6 +187,7 @@ mkJobFlavour BuildConfig{..} = Flavour buildFlavour opts |
| 186 | 187 | [FullyStatic | fullyStatic] ++
|
| 187 | 188 | [HostFullyStatic | hostFullyStatic] ++
|
| 188 | 189 | [ThreadSanitiser | threadSanitiser] ++
|
| 190 | + [UBSan | ubsan] ++
|
|
| 189 | 191 | [NoSplitSections | noSplitSections, buildFlavour == Release ] ++
|
| 190 | 192 | [BootNonmovingGc | validateNonmovingGc ] ++
|
| 191 | 193 | [TextWithSIMDUTF | textWithSIMDUTF]
|
| ... | ... | @@ -198,6 +200,7 @@ data FlavourTrans = |
| 198 | 200 | | FullyStatic
|
| 199 | 201 | | HostFullyStatic
|
| 200 | 202 | | ThreadSanitiser
|
| 203 | + | UBSan
|
|
| 201 | 204 | | NoSplitSections
|
| 202 | 205 | | BootNonmovingGc
|
| 203 | 206 | | TextWithSIMDUTF
|
| ... | ... | @@ -226,6 +229,7 @@ vanilla = BuildConfig |
| 226 | 229 | , hostFullyStatic = False
|
| 227 | 230 | , tablesNextToCode = True
|
| 228 | 231 | , threadSanitiser = False
|
| 232 | + , ubsan = False
|
|
| 229 | 233 | , noSplitSections = False
|
| 230 | 234 | , validateNonmovingGc = False
|
| 231 | 235 | , textWithSIMDUTF = False
|
| ... | ... | @@ -279,6 +283,9 @@ llvm = vanilla { llvmBootstrap = True } |
| 279 | 283 | tsan :: BuildConfig
|
| 280 | 284 | tsan = vanilla { threadSanitiser = True }
|
| 281 | 285 | |
| 286 | +enableUBSan :: BuildConfig
|
|
| 287 | +enableUBSan = vanilla { withDwarf = True, ubsan = True }
|
|
| 288 | + |
|
| 282 | 289 | noTntc :: BuildConfig
|
| 283 | 290 | noTntc = vanilla { tablesNextToCode = False }
|
| 284 | 291 | |
| ... | ... | @@ -318,15 +325,15 @@ distroName Debian12Riscv = "deb12-riscv" |
| 318 | 325 | distroName Debian12Wine = "deb12-wine"
|
| 319 | 326 | distroName Debian10 = "deb10"
|
| 320 | 327 | distroName Debian9 = "deb9"
|
| 321 | -distroName Fedora42 = "fedora42"
|
|
| 328 | +distroName Fedora43 = "fedora43"
|
|
| 322 | 329 | distroName Ubuntu2404LoongArch64 = "ubuntu24_04-loongarch"
|
| 323 | 330 | distroName Ubuntu1804 = "ubuntu18_04"
|
| 324 | 331 | distroName Ubuntu2004 = "ubuntu20_04"
|
| 325 | 332 | distroName Ubuntu2204 = "ubuntu22_04"
|
| 326 | 333 | distroName Ubuntu2404 = "ubuntu24_04"
|
| 327 | 334 | distroName Alpine312 = "alpine3_12"
|
| 328 | -distroName Alpine322 = "alpine3_22"
|
|
| 329 | -distroName AlpineWasm = "alpine3_22-wasm"
|
|
| 335 | +distroName Alpine323 = "alpine3_23"
|
|
| 336 | +distroName AlpineWasm = "alpine3_23-wasm"
|
|
| 330 | 337 | distroName Rocky8 = "rocky8"
|
| 331 | 338 | |
| 332 | 339 | opsysName :: Opsys -> String
|
| ... | ... | @@ -373,6 +380,7 @@ flavourString (Flavour base trans) = base_string base ++ concatMap (("+" ++) . f |
| 373 | 380 | flavour_string FullyStatic = "fully_static"
|
| 374 | 381 | flavour_string HostFullyStatic = "host_fully_static"
|
| 375 | 382 | flavour_string ThreadSanitiser = "thread_sanitizer_cmm"
|
| 383 | + flavour_string UBSan = "ubsan"
|
|
| 376 | 384 | flavour_string NoSplitSections = "no_split_sections"
|
| 377 | 385 | flavour_string BootNonmovingGc = "boot_nonmoving_gc"
|
| 378 | 386 | flavour_string TextWithSIMDUTF = "text_simdutf"
|
| ... | ... | @@ -497,7 +505,7 @@ alpineVariables arch = mconcat $ |
| 497 | 505 | |
| 498 | 506 | distroVariables :: Arch -> LinuxDistro -> Variables
|
| 499 | 507 | distroVariables arch Alpine312 = alpineVariables arch
|
| 500 | -distroVariables arch Alpine322 = alpineVariables arch
|
|
| 508 | +distroVariables arch Alpine323 = alpineVariables arch
|
|
| 501 | 509 | distroVariables _ _ = mempty
|
| 502 | 510 | |
| 503 | 511 | -----------------------------------------------------------------------------
|
| ... | ... | @@ -1196,13 +1204,22 @@ rhel_x86 = |
| 1196 | 1204 | |
| 1197 | 1205 | fedora_x86 :: [JobGroup Job]
|
| 1198 | 1206 | fedora_x86 =
|
| 1199 | - [ -- Fedora42 job is always built with perf so there's one job in the normal
|
|
| 1207 | + [ -- Fedora43 job is always built with perf so there's one job in the normal
|
|
| 1200 | 1208 | -- validate pipeline which is built with perf.
|
| 1201 | - fastCI (standardBuildsWithConfig Amd64 (Linux Fedora42) releaseConfig)
|
|
| 1209 | + fastCI (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig)
|
|
| 1202 | 1210 | -- This job is only for generating head.hackage docs
|
| 1203 | - , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora42) releaseConfig))
|
|
| 1204 | - , disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora42) dwarf)
|
|
| 1205 | - , disableValidate (standardBuilds Amd64 (Linux Fedora42))
|
|
| 1211 | + , hackage_doc_job (disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) releaseConfig))
|
|
| 1212 | + , disableValidate (standardBuildsWithConfig Amd64 (Linux Fedora43) dwarf)
|
|
| 1213 | + , disableValidate (standardBuilds Amd64 (Linux Fedora43))
|
|
| 1214 | + -- For UBSan jobs, only enable for validate/nightly pipelines.
|
|
| 1215 | + -- Also disable docs since it's not the point for UBSan jobs.
|
|
| 1216 | + , modifyJobs
|
|
| 1217 | + ( setVariable "HADRIAN_ARGS" "--docs=none"
|
|
| 1218 | + . addVariable
|
|
| 1219 | + "UBSAN_OPTIONS"
|
|
| 1220 | + "suppressions=$CI_PROJECT_DIR/rts/.ubsan-suppressions"
|
|
| 1221 | + )
|
|
| 1222 | + $ validateBuilds Amd64 (Linux Fedora43) enableUBSan
|
|
| 1206 | 1223 | ]
|
| 1207 | 1224 | where
|
| 1208 | 1225 | hackage_doc_job = rename (<> "-hackage") . modifyJobs (addVariable "HADRIAN_ARGS" "--haddock-for-hackage")
|
| ... | ... | @@ -1230,8 +1247,8 @@ alpine_x86 = |
| 1230 | 1247 | fullyStaticBrokenTests (standardBuildsWithConfig Amd64 (Linux Alpine312) (splitSectionsBroken static))
|
| 1231 | 1248 | , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine312) staticNativeInt)))
|
| 1232 | 1249 | -- Dynamically linked build, suitable for building your own static executables on alpine
|
| 1233 | - , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine322) (splitSectionsBroken vanilla))
|
|
| 1234 | - , allowFailureGroup (standardBuildsWithConfig I386 (Linux Alpine322) (splitSectionsBroken vanilla))
|
|
| 1250 | + , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine323) (splitSectionsBroken vanilla))
|
|
| 1251 | + , allowFailureGroup (standardBuildsWithConfig I386 (Linux Alpine323) (splitSectionsBroken vanilla))
|
|
| 1235 | 1252 | ]
|
| 1236 | 1253 | where
|
| 1237 | 1254 | -- ghcilink002 broken due to #17869
|
| ... | ... | @@ -1242,7 +1259,7 @@ alpine_x86 = |
| 1242 | 1259 | |
| 1243 | 1260 | alpine_aarch64 :: [JobGroup Job]
|
| 1244 | 1261 | alpine_aarch64 = [
|
| 1245 | - disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine322) (splitSectionsBroken vanilla))
|
|
| 1262 | + disableValidate (standardBuildsWithConfig AArch64 (Linux Alpine323) (splitSectionsBroken vanilla))
|
|
| 1246 | 1263 | ]
|
| 1247 | 1264 | |
| 1248 | 1265 | cross_jobs :: [JobGroup Job]
|
| ... | ... | @@ -1364,28 +1381,28 @@ platform_mapping = Map.map go combined_result |
| 1364 | 1381 | , "x86_64-linux-deb11-validate"
|
| 1365 | 1382 | , "x86_64-linux-deb12-validate"
|
| 1366 | 1383 | , "x86_64-linux-deb10-validate+debug_info"
|
| 1367 | - , "x86_64-linux-fedora42-release"
|
|
| 1384 | + , "x86_64-linux-fedora43-release"
|
|
| 1368 | 1385 | , "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
|
| 1369 | 1386 | , "x86_64-windows-validate"
|
| 1370 | 1387 | , "aarch64-linux-deb12-validate"
|
| 1371 | 1388 | , "aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate"
|
| 1372 | - , "nightly-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 1389 | + , "nightly-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 1373 | 1390 | , "nightly-x86_64-linux-deb11-validate"
|
| 1374 | 1391 | , "nightly-x86_64-linux-deb12-validate"
|
| 1375 | - , "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 1392 | + , "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 1376 | 1393 | , "x86_64-linux-deb12-validate+thread_sanitizer_cmm"
|
| 1377 | 1394 | , "nightly-aarch64-linux-deb10-validate"
|
| 1378 | 1395 | , "nightly-aarch64-linux-deb12-validate"
|
| 1379 | 1396 | , "nightly-aarch64-linux-deb12-wine-int_native-cross_aarch64-unknown-mingw32-validate"
|
| 1380 | 1397 | , "nightly-x86_64-linux-alpine3_12-validate+fully_static"
|
| 1381 | 1398 | , "nightly-x86_64-linux-deb10-validate"
|
| 1382 | - , "nightly-x86_64-linux-fedora42-release"
|
|
| 1399 | + , "nightly-x86_64-linux-fedora43-release"
|
|
| 1383 | 1400 | , "nightly-x86_64-windows-validate"
|
| 1384 | 1401 | , "release-x86_64-linux-alpine3_12-release+fully_static+no_split_sections"
|
| 1385 | 1402 | , "release-x86_64-linux-deb10-release"
|
| 1386 | 1403 | , "release-x86_64-linux-deb11-release"
|
| 1387 | 1404 | , "release-x86_64-linux-deb12-release"
|
| 1388 | - , "release-x86_64-linux-fedora42-release"
|
|
| 1405 | + , "release-x86_64-linux-fedora43-release"
|
|
| 1389 | 1406 | , "release-x86_64-windows-release"
|
| 1390 | 1407 | ]
|
| 1391 | 1408 |
| ... | ... | @@ -66,7 +66,7 @@ |
| 66 | 66 | "TEST_ENV": "aarch64-darwin-validate"
|
| 67 | 67 | }
|
| 68 | 68 | },
|
| 69 | - "aarch64-linux-alpine3_22-validate": {
|
|
| 69 | + "aarch64-linux-alpine3_23-validate": {
|
|
| 70 | 70 | "after_script": [
|
| 71 | 71 | ".gitlab/ci.sh save_cache",
|
| 72 | 72 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -77,7 +77,7 @@ |
| 77 | 77 | "artifacts": {
|
| 78 | 78 | "expire_in": "2 weeks",
|
| 79 | 79 | "paths": [
|
| 80 | - "ghc-aarch64-linux-alpine3_22-validate.tar.xz",
|
|
| 80 | + "ghc-aarch64-linux-alpine3_23-validate.tar.xz",
|
|
| 81 | 81 | "junit.xml",
|
| 82 | 82 | "unexpected-test-output.tar.gz"
|
| 83 | 83 | ],
|
| ... | ... | @@ -87,14 +87,14 @@ |
| 87 | 87 | "when": "always"
|
| 88 | 88 | },
|
| 89 | 89 | "cache": {
|
| 90 | - "key": "aarch64-linux-alpine3_22-$CACHE_REV",
|
|
| 90 | + "key": "aarch64-linux-alpine3_23-$CACHE_REV",
|
|
| 91 | 91 | "paths": [
|
| 92 | 92 | "cabal-cache",
|
| 93 | 93 | "toolchain"
|
| 94 | 94 | ]
|
| 95 | 95 | },
|
| 96 | 96 | "dependencies": [],
|
| 97 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_22:$DOCKER_REV",
|
|
| 97 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_23:$DOCKER_REV",
|
|
| 98 | 98 | "needs": [
|
| 99 | 99 | {
|
| 100 | 100 | "artifacts": false,
|
| ... | ... | @@ -103,7 +103,7 @@ |
| 103 | 103 | ],
|
| 104 | 104 | "rules": [
|
| 105 | 105 | {
|
| 106 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 106 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\baarch64-linux-alpine3_23-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 107 | 107 | "when": "on_success"
|
| 108 | 108 | }
|
| 109 | 109 | ],
|
| ... | ... | @@ -120,13 +120,13 @@ |
| 120 | 120 | ],
|
| 121 | 121 | "variables": {
|
| 122 | 122 | "BIGNUM_BACKEND": "gmp",
|
| 123 | - "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_22-validate",
|
|
| 123 | + "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_23-validate",
|
|
| 124 | 124 | "BROKEN_TESTS": "encoding004 T10458",
|
| 125 | 125 | "BUILD_FLAVOUR": "validate",
|
| 126 | 126 | "CONFIGURE_ARGS": "--disable-ld-override --enable-ignore-build-platform-mismatch --build=aarch64-unknown-linux --host=aarch64-unknown-linux --target=aarch64-unknown-linux --enable-strict-ghc-toolchain-check",
|
| 127 | 127 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 128 | 128 | "RUNTEST_ARGS": "",
|
| 129 | - "TEST_ENV": "aarch64-linux-alpine3_22-validate"
|
|
| 129 | + "TEST_ENV": "aarch64-linux-alpine3_23-validate"
|
|
| 130 | 130 | }
|
| 131 | 131 | },
|
| 132 | 132 | "aarch64-linux-deb10-validate": {
|
| ... | ... | @@ -477,7 +477,7 @@ |
| 477 | 477 | "WindresCmd": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-windres"
|
| 478 | 478 | }
|
| 479 | 479 | },
|
| 480 | - "i386-linux-alpine3_22-validate": {
|
|
| 480 | + "i386-linux-alpine3_23-validate": {
|
|
| 481 | 481 | "after_script": [
|
| 482 | 482 | ".gitlab/ci.sh save_cache",
|
| 483 | 483 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -488,7 +488,7 @@ |
| 488 | 488 | "artifacts": {
|
| 489 | 489 | "expire_in": "2 weeks",
|
| 490 | 490 | "paths": [
|
| 491 | - "ghc-i386-linux-alpine3_22-validate.tar.xz",
|
|
| 491 | + "ghc-i386-linux-alpine3_23-validate.tar.xz",
|
|
| 492 | 492 | "junit.xml",
|
| 493 | 493 | "unexpected-test-output.tar.gz"
|
| 494 | 494 | ],
|
| ... | ... | @@ -498,14 +498,14 @@ |
| 498 | 498 | "when": "always"
|
| 499 | 499 | },
|
| 500 | 500 | "cache": {
|
| 501 | - "key": "i386-linux-alpine3_22-$CACHE_REV",
|
|
| 501 | + "key": "i386-linux-alpine3_23-$CACHE_REV",
|
|
| 502 | 502 | "paths": [
|
| 503 | 503 | "cabal-cache",
|
| 504 | 504 | "toolchain"
|
| 505 | 505 | ]
|
| 506 | 506 | },
|
| 507 | 507 | "dependencies": [],
|
| 508 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_22:$DOCKER_REV",
|
|
| 508 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_23:$DOCKER_REV",
|
|
| 509 | 509 | "needs": [
|
| 510 | 510 | {
|
| 511 | 511 | "artifacts": false,
|
| ... | ... | @@ -514,7 +514,7 @@ |
| 514 | 514 | ],
|
| 515 | 515 | "rules": [
|
| 516 | 516 | {
|
| 517 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 517 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bi386-linux-alpine3_23-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 518 | 518 | "when": "on_success"
|
| 519 | 519 | }
|
| 520 | 520 | ],
|
| ... | ... | @@ -531,13 +531,13 @@ |
| 531 | 531 | ],
|
| 532 | 532 | "variables": {
|
| 533 | 533 | "BIGNUM_BACKEND": "gmp",
|
| 534 | - "BIN_DIST_NAME": "ghc-i386-linux-alpine3_22-validate",
|
|
| 534 | + "BIN_DIST_NAME": "ghc-i386-linux-alpine3_23-validate",
|
|
| 535 | 535 | "BROKEN_TESTS": "encoding004 T10458 simd009 T25169",
|
| 536 | 536 | "BUILD_FLAVOUR": "validate",
|
| 537 | 537 | "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 538 | 538 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 539 | 539 | "RUNTEST_ARGS": "",
|
| 540 | - "TEST_ENV": "i386-linux-alpine3_22-validate"
|
|
| 540 | + "TEST_ENV": "i386-linux-alpine3_23-validate"
|
|
| 541 | 541 | }
|
| 542 | 542 | },
|
| 543 | 543 | "i386-linux-deb10-validate": {
|
| ... | ... | @@ -731,7 +731,7 @@ |
| 731 | 731 | "XZ_OPT": "-9"
|
| 732 | 732 | }
|
| 733 | 733 | },
|
| 734 | - "nightly-aarch64-linux-alpine3_22-validate": {
|
|
| 734 | + "nightly-aarch64-linux-alpine3_23-validate": {
|
|
| 735 | 735 | "after_script": [
|
| 736 | 736 | ".gitlab/ci.sh save_cache",
|
| 737 | 737 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -742,7 +742,7 @@ |
| 742 | 742 | "artifacts": {
|
| 743 | 743 | "expire_in": "8 weeks",
|
| 744 | 744 | "paths": [
|
| 745 | - "ghc-aarch64-linux-alpine3_22-validate.tar.xz",
|
|
| 745 | + "ghc-aarch64-linux-alpine3_23-validate.tar.xz",
|
|
| 746 | 746 | "junit.xml",
|
| 747 | 747 | "unexpected-test-output.tar.gz"
|
| 748 | 748 | ],
|
| ... | ... | @@ -752,14 +752,14 @@ |
| 752 | 752 | "when": "always"
|
| 753 | 753 | },
|
| 754 | 754 | "cache": {
|
| 755 | - "key": "aarch64-linux-alpine3_22-$CACHE_REV",
|
|
| 755 | + "key": "aarch64-linux-alpine3_23-$CACHE_REV",
|
|
| 756 | 756 | "paths": [
|
| 757 | 757 | "cabal-cache",
|
| 758 | 758 | "toolchain"
|
| 759 | 759 | ]
|
| 760 | 760 | },
|
| 761 | 761 | "dependencies": [],
|
| 762 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_22:$DOCKER_REV",
|
|
| 762 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_23:$DOCKER_REV",
|
|
| 763 | 763 | "needs": [
|
| 764 | 764 | {
|
| 765 | 765 | "artifacts": false,
|
| ... | ... | @@ -785,13 +785,13 @@ |
| 785 | 785 | ],
|
| 786 | 786 | "variables": {
|
| 787 | 787 | "BIGNUM_BACKEND": "gmp",
|
| 788 | - "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_22-validate",
|
|
| 788 | + "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_23-validate",
|
|
| 789 | 789 | "BROKEN_TESTS": "encoding004 T10458",
|
| 790 | 790 | "BUILD_FLAVOUR": "validate",
|
| 791 | 791 | "CONFIGURE_ARGS": "--disable-ld-override --enable-ignore-build-platform-mismatch --build=aarch64-unknown-linux --host=aarch64-unknown-linux --target=aarch64-unknown-linux --enable-strict-ghc-toolchain-check",
|
| 792 | 792 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 793 | 793 | "RUNTEST_ARGS": "",
|
| 794 | - "TEST_ENV": "aarch64-linux-alpine3_22-validate",
|
|
| 794 | + "TEST_ENV": "aarch64-linux-alpine3_23-validate",
|
|
| 795 | 795 | "XZ_OPT": "-9"
|
| 796 | 796 | }
|
| 797 | 797 | },
|
| ... | ... | @@ -1148,7 +1148,7 @@ |
| 1148 | 1148 | "XZ_OPT": "-9"
|
| 1149 | 1149 | }
|
| 1150 | 1150 | },
|
| 1151 | - "nightly-i386-linux-alpine3_22-validate": {
|
|
| 1151 | + "nightly-i386-linux-alpine3_23-validate": {
|
|
| 1152 | 1152 | "after_script": [
|
| 1153 | 1153 | ".gitlab/ci.sh save_cache",
|
| 1154 | 1154 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -1159,7 +1159,7 @@ |
| 1159 | 1159 | "artifacts": {
|
| 1160 | 1160 | "expire_in": "8 weeks",
|
| 1161 | 1161 | "paths": [
|
| 1162 | - "ghc-i386-linux-alpine3_22-validate.tar.xz",
|
|
| 1162 | + "ghc-i386-linux-alpine3_23-validate.tar.xz",
|
|
| 1163 | 1163 | "junit.xml",
|
| 1164 | 1164 | "unexpected-test-output.tar.gz"
|
| 1165 | 1165 | ],
|
| ... | ... | @@ -1169,14 +1169,14 @@ |
| 1169 | 1169 | "when": "always"
|
| 1170 | 1170 | },
|
| 1171 | 1171 | "cache": {
|
| 1172 | - "key": "i386-linux-alpine3_22-$CACHE_REV",
|
|
| 1172 | + "key": "i386-linux-alpine3_23-$CACHE_REV",
|
|
| 1173 | 1173 | "paths": [
|
| 1174 | 1174 | "cabal-cache",
|
| 1175 | 1175 | "toolchain"
|
| 1176 | 1176 | ]
|
| 1177 | 1177 | },
|
| 1178 | 1178 | "dependencies": [],
|
| 1179 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_22:$DOCKER_REV",
|
|
| 1179 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_23:$DOCKER_REV",
|
|
| 1180 | 1180 | "needs": [
|
| 1181 | 1181 | {
|
| 1182 | 1182 | "artifacts": false,
|
| ... | ... | @@ -1202,13 +1202,13 @@ |
| 1202 | 1202 | ],
|
| 1203 | 1203 | "variables": {
|
| 1204 | 1204 | "BIGNUM_BACKEND": "gmp",
|
| 1205 | - "BIN_DIST_NAME": "ghc-i386-linux-alpine3_22-validate",
|
|
| 1205 | + "BIN_DIST_NAME": "ghc-i386-linux-alpine3_23-validate",
|
|
| 1206 | 1206 | "BROKEN_TESTS": "encoding004 T10458 simd009 T25169",
|
| 1207 | 1207 | "BUILD_FLAVOUR": "validate",
|
| 1208 | 1208 | "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 1209 | 1209 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 1210 | 1210 | "RUNTEST_ARGS": "",
|
| 1211 | - "TEST_ENV": "i386-linux-alpine3_22-validate",
|
|
| 1211 | + "TEST_ENV": "i386-linux-alpine3_23-validate",
|
|
| 1212 | 1212 | "XZ_OPT": "-9"
|
| 1213 | 1213 | }
|
| 1214 | 1214 | },
|
| ... | ... | @@ -1602,7 +1602,7 @@ |
| 1602 | 1602 | "XZ_OPT": "-9"
|
| 1603 | 1603 | }
|
| 1604 | 1604 | },
|
| 1605 | - "nightly-x86_64-linux-alpine3_22-validate": {
|
|
| 1605 | + "nightly-x86_64-linux-alpine3_23-validate": {
|
|
| 1606 | 1606 | "after_script": [
|
| 1607 | 1607 | ".gitlab/ci.sh save_cache",
|
| 1608 | 1608 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -1613,7 +1613,7 @@ |
| 1613 | 1613 | "artifacts": {
|
| 1614 | 1614 | "expire_in": "8 weeks",
|
| 1615 | 1615 | "paths": [
|
| 1616 | - "ghc-x86_64-linux-alpine3_22-validate.tar.xz",
|
|
| 1616 | + "ghc-x86_64-linux-alpine3_23-validate.tar.xz",
|
|
| 1617 | 1617 | "junit.xml",
|
| 1618 | 1618 | "unexpected-test-output.tar.gz"
|
| 1619 | 1619 | ],
|
| ... | ... | @@ -1623,14 +1623,14 @@ |
| 1623 | 1623 | "when": "always"
|
| 1624 | 1624 | },
|
| 1625 | 1625 | "cache": {
|
| 1626 | - "key": "x86_64-linux-alpine3_22-$CACHE_REV",
|
|
| 1626 | + "key": "x86_64-linux-alpine3_23-$CACHE_REV",
|
|
| 1627 | 1627 | "paths": [
|
| 1628 | 1628 | "cabal-cache",
|
| 1629 | 1629 | "toolchain"
|
| 1630 | 1630 | ]
|
| 1631 | 1631 | },
|
| 1632 | 1632 | "dependencies": [],
|
| 1633 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
|
|
| 1633 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23:$DOCKER_REV",
|
|
| 1634 | 1634 | "needs": [
|
| 1635 | 1635 | {
|
| 1636 | 1636 | "artifacts": false,
|
| ... | ... | @@ -1656,17 +1656,17 @@ |
| 1656 | 1656 | ],
|
| 1657 | 1657 | "variables": {
|
| 1658 | 1658 | "BIGNUM_BACKEND": "gmp",
|
| 1659 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate",
|
|
| 1659 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-validate",
|
|
| 1660 | 1660 | "BROKEN_TESTS": "encoding004 T10458",
|
| 1661 | 1661 | "BUILD_FLAVOUR": "validate",
|
| 1662 | 1662 | "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 1663 | 1663 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 1664 | 1664 | "RUNTEST_ARGS": "",
|
| 1665 | - "TEST_ENV": "x86_64-linux-alpine3_22-validate",
|
|
| 1665 | + "TEST_ENV": "x86_64-linux-alpine3_23-validate",
|
|
| 1666 | 1666 | "XZ_OPT": "-9"
|
| 1667 | 1667 | }
|
| 1668 | 1668 | },
|
| 1669 | - "nightly-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 1669 | + "nightly-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 1670 | 1670 | "after_script": [
|
| 1671 | 1671 | ".gitlab/ci.sh save_cache",
|
| 1672 | 1672 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -1677,7 +1677,7 @@ |
| 1677 | 1677 | "artifacts": {
|
| 1678 | 1678 | "expire_in": "8 weeks",
|
| 1679 | 1679 | "paths": [
|
| 1680 | - "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 1680 | + "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 1681 | 1681 | "junit.xml",
|
| 1682 | 1682 | "unexpected-test-output.tar.gz"
|
| 1683 | 1683 | ],
|
| ... | ... | @@ -1687,14 +1687,14 @@ |
| 1687 | 1687 | "when": "always"
|
| 1688 | 1688 | },
|
| 1689 | 1689 | "cache": {
|
| 1690 | - "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
|
|
| 1690 | + "key": "x86_64-linux-alpine3_23-wasm-$CACHE_REV",
|
|
| 1691 | 1691 | "paths": [
|
| 1692 | 1692 | "cabal-cache",
|
| 1693 | 1693 | "toolchain"
|
| 1694 | 1694 | ]
|
| 1695 | 1695 | },
|
| 1696 | 1696 | "dependencies": [],
|
| 1697 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
|
|
| 1697 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23-wasm:$DOCKER_REV",
|
|
| 1698 | 1698 | "needs": [
|
| 1699 | 1699 | {
|
| 1700 | 1700 | "artifacts": false,
|
| ... | ... | @@ -1720,18 +1720,18 @@ |
| 1720 | 1720 | ],
|
| 1721 | 1721 | "variables": {
|
| 1722 | 1722 | "BIGNUM_BACKEND": "gmp",
|
| 1723 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1723 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1724 | 1724 | "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
|
| 1725 | 1725 | "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
|
| 1726 | 1726 | "CROSS_TARGET": "wasm32-wasi",
|
| 1727 | 1727 | "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
|
| 1728 | 1728 | "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
|
| 1729 | 1729 | "RUNTEST_ARGS": "",
|
| 1730 | - "TEST_ENV": "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1730 | + "TEST_ENV": "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1731 | 1731 | "XZ_OPT": "-9"
|
| 1732 | 1732 | }
|
| 1733 | 1733 | },
|
| 1734 | - "nightly-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 1734 | + "nightly-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 1735 | 1735 | "after_script": [
|
| 1736 | 1736 | ".gitlab/ci.sh save_cache",
|
| 1737 | 1737 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -1742,7 +1742,7 @@ |
| 1742 | 1742 | "artifacts": {
|
| 1743 | 1743 | "expire_in": "8 weeks",
|
| 1744 | 1744 | "paths": [
|
| 1745 | - "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 1745 | + "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 1746 | 1746 | "junit.xml",
|
| 1747 | 1747 | "unexpected-test-output.tar.gz"
|
| 1748 | 1748 | ],
|
| ... | ... | @@ -1752,14 +1752,14 @@ |
| 1752 | 1752 | "when": "always"
|
| 1753 | 1753 | },
|
| 1754 | 1754 | "cache": {
|
| 1755 | - "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
|
|
| 1755 | + "key": "x86_64-linux-alpine3_23-wasm-$CACHE_REV",
|
|
| 1756 | 1756 | "paths": [
|
| 1757 | 1757 | "cabal-cache",
|
| 1758 | 1758 | "toolchain"
|
| 1759 | 1759 | ]
|
| 1760 | 1760 | },
|
| 1761 | 1761 | "dependencies": [],
|
| 1762 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
|
|
| 1762 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23-wasm:$DOCKER_REV",
|
|
| 1763 | 1763 | "needs": [
|
| 1764 | 1764 | {
|
| 1765 | 1765 | "artifacts": false,
|
| ... | ... | @@ -1785,18 +1785,18 @@ |
| 1785 | 1785 | ],
|
| 1786 | 1786 | "variables": {
|
| 1787 | 1787 | "BIGNUM_BACKEND": "native",
|
| 1788 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1788 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1789 | 1789 | "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
|
| 1790 | 1790 | "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
|
| 1791 | 1791 | "CROSS_TARGET": "wasm32-wasi",
|
| 1792 | 1792 | "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
|
| 1793 | 1793 | "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
|
| 1794 | 1794 | "RUNTEST_ARGS": "",
|
| 1795 | - "TEST_ENV": "x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1795 | + "TEST_ENV": "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1796 | 1796 | "XZ_OPT": "-9"
|
| 1797 | 1797 | }
|
| 1798 | 1798 | },
|
| 1799 | - "nightly-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 1799 | + "nightly-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 1800 | 1800 | "after_script": [
|
| 1801 | 1801 | ".gitlab/ci.sh save_cache",
|
| 1802 | 1802 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -1807,7 +1807,7 @@ |
| 1807 | 1807 | "artifacts": {
|
| 1808 | 1808 | "expire_in": "8 weeks",
|
| 1809 | 1809 | "paths": [
|
| 1810 | - "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 1810 | + "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 1811 | 1811 | "junit.xml",
|
| 1812 | 1812 | "unexpected-test-output.tar.gz"
|
| 1813 | 1813 | ],
|
| ... | ... | @@ -1817,14 +1817,14 @@ |
| 1817 | 1817 | "when": "always"
|
| 1818 | 1818 | },
|
| 1819 | 1819 | "cache": {
|
| 1820 | - "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
|
|
| 1820 | + "key": "x86_64-linux-alpine3_23-wasm-$CACHE_REV",
|
|
| 1821 | 1821 | "paths": [
|
| 1822 | 1822 | "cabal-cache",
|
| 1823 | 1823 | "toolchain"
|
| 1824 | 1824 | ]
|
| 1825 | 1825 | },
|
| 1826 | 1826 | "dependencies": [],
|
| 1827 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
|
|
| 1827 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23-wasm:$DOCKER_REV",
|
|
| 1828 | 1828 | "needs": [
|
| 1829 | 1829 | {
|
| 1830 | 1830 | "artifacts": false,
|
| ... | ... | @@ -1850,14 +1850,14 @@ |
| 1850 | 1850 | ],
|
| 1851 | 1851 | "variables": {
|
| 1852 | 1852 | "BIGNUM_BACKEND": "gmp",
|
| 1853 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1853 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1854 | 1854 | "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
|
| 1855 | 1855 | "CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
|
| 1856 | 1856 | "CROSS_TARGET": "wasm32-wasi",
|
| 1857 | 1857 | "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
|
| 1858 | 1858 | "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
|
| 1859 | 1859 | "RUNTEST_ARGS": "",
|
| 1860 | - "TEST_ENV": "x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1860 | + "TEST_ENV": "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 1861 | 1861 | "XZ_OPT": "-9"
|
| 1862 | 1862 | }
|
| 1863 | 1863 | },
|
| ... | ... | @@ -2942,7 +2942,7 @@ |
| 2942 | 2942 | "XZ_OPT": "-9"
|
| 2943 | 2943 | }
|
| 2944 | 2944 | },
|
| 2945 | - "nightly-x86_64-linux-fedora42-release": {
|
|
| 2945 | + "nightly-x86_64-linux-fedora43-release": {
|
|
| 2946 | 2946 | "after_script": [
|
| 2947 | 2947 | ".gitlab/ci.sh save_cache",
|
| 2948 | 2948 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -2953,7 +2953,7 @@ |
| 2953 | 2953 | "artifacts": {
|
| 2954 | 2954 | "expire_in": "8 weeks",
|
| 2955 | 2955 | "paths": [
|
| 2956 | - "ghc-x86_64-linux-fedora42-release.tar.xz",
|
|
| 2956 | + "ghc-x86_64-linux-fedora43-release.tar.xz",
|
|
| 2957 | 2957 | "junit.xml",
|
| 2958 | 2958 | "unexpected-test-output.tar.gz"
|
| 2959 | 2959 | ],
|
| ... | ... | @@ -2963,14 +2963,14 @@ |
| 2963 | 2963 | "when": "always"
|
| 2964 | 2964 | },
|
| 2965 | 2965 | "cache": {
|
| 2966 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 2966 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 2967 | 2967 | "paths": [
|
| 2968 | 2968 | "cabal-cache",
|
| 2969 | 2969 | "toolchain"
|
| 2970 | 2970 | ]
|
| 2971 | 2971 | },
|
| 2972 | 2972 | "dependencies": [],
|
| 2973 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 2973 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 2974 | 2974 | "needs": [
|
| 2975 | 2975 | {
|
| 2976 | 2976 | "artifacts": false,
|
| ... | ... | @@ -2996,16 +2996,16 @@ |
| 2996 | 2996 | ],
|
| 2997 | 2997 | "variables": {
|
| 2998 | 2998 | "BIGNUM_BACKEND": "gmp",
|
| 2999 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release",
|
|
| 2999 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
|
| 3000 | 3000 | "BUILD_FLAVOUR": "release",
|
| 3001 | 3001 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3002 | 3002 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3003 | 3003 | "RUNTEST_ARGS": "",
|
| 3004 | - "TEST_ENV": "x86_64-linux-fedora42-release",
|
|
| 3004 | + "TEST_ENV": "x86_64-linux-fedora43-release",
|
|
| 3005 | 3005 | "XZ_OPT": "-9"
|
| 3006 | 3006 | }
|
| 3007 | 3007 | },
|
| 3008 | - "nightly-x86_64-linux-fedora42-release-hackage": {
|
|
| 3008 | + "nightly-x86_64-linux-fedora43-release-hackage": {
|
|
| 3009 | 3009 | "after_script": [
|
| 3010 | 3010 | ".gitlab/ci.sh save_cache",
|
| 3011 | 3011 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -3016,7 +3016,7 @@ |
| 3016 | 3016 | "artifacts": {
|
| 3017 | 3017 | "expire_in": "8 weeks",
|
| 3018 | 3018 | "paths": [
|
| 3019 | - "ghc-x86_64-linux-fedora42-release.tar.xz",
|
|
| 3019 | + "ghc-x86_64-linux-fedora43-release.tar.xz",
|
|
| 3020 | 3020 | "junit.xml",
|
| 3021 | 3021 | "unexpected-test-output.tar.gz"
|
| 3022 | 3022 | ],
|
| ... | ... | @@ -3026,14 +3026,14 @@ |
| 3026 | 3026 | "when": "always"
|
| 3027 | 3027 | },
|
| 3028 | 3028 | "cache": {
|
| 3029 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 3029 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 3030 | 3030 | "paths": [
|
| 3031 | 3031 | "cabal-cache",
|
| 3032 | 3032 | "toolchain"
|
| 3033 | 3033 | ]
|
| 3034 | 3034 | },
|
| 3035 | 3035 | "dependencies": [],
|
| 3036 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 3036 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 3037 | 3037 | "needs": [
|
| 3038 | 3038 | {
|
| 3039 | 3039 | "artifacts": false,
|
| ... | ... | @@ -3059,17 +3059,17 @@ |
| 3059 | 3059 | ],
|
| 3060 | 3060 | "variables": {
|
| 3061 | 3061 | "BIGNUM_BACKEND": "gmp",
|
| 3062 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release",
|
|
| 3062 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
|
| 3063 | 3063 | "BUILD_FLAVOUR": "release",
|
| 3064 | 3064 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3065 | 3065 | "HADRIAN_ARGS": "--haddock-for-hackage",
|
| 3066 | 3066 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3067 | 3067 | "RUNTEST_ARGS": "",
|
| 3068 | - "TEST_ENV": "x86_64-linux-fedora42-release",
|
|
| 3068 | + "TEST_ENV": "x86_64-linux-fedora43-release",
|
|
| 3069 | 3069 | "XZ_OPT": "-9"
|
| 3070 | 3070 | }
|
| 3071 | 3071 | },
|
| 3072 | - "nightly-x86_64-linux-fedora42-validate": {
|
|
| 3072 | + "nightly-x86_64-linux-fedora43-validate": {
|
|
| 3073 | 3073 | "after_script": [
|
| 3074 | 3074 | ".gitlab/ci.sh save_cache",
|
| 3075 | 3075 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -3080,7 +3080,7 @@ |
| 3080 | 3080 | "artifacts": {
|
| 3081 | 3081 | "expire_in": "8 weeks",
|
| 3082 | 3082 | "paths": [
|
| 3083 | - "ghc-x86_64-linux-fedora42-validate.tar.xz",
|
|
| 3083 | + "ghc-x86_64-linux-fedora43-validate.tar.xz",
|
|
| 3084 | 3084 | "junit.xml",
|
| 3085 | 3085 | "unexpected-test-output.tar.gz"
|
| 3086 | 3086 | ],
|
| ... | ... | @@ -3090,14 +3090,14 @@ |
| 3090 | 3090 | "when": "always"
|
| 3091 | 3091 | },
|
| 3092 | 3092 | "cache": {
|
| 3093 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 3093 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 3094 | 3094 | "paths": [
|
| 3095 | 3095 | "cabal-cache",
|
| 3096 | 3096 | "toolchain"
|
| 3097 | 3097 | ]
|
| 3098 | 3098 | },
|
| 3099 | 3099 | "dependencies": [],
|
| 3100 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 3100 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 3101 | 3101 | "needs": [
|
| 3102 | 3102 | {
|
| 3103 | 3103 | "artifacts": false,
|
| ... | ... | @@ -3123,16 +3123,16 @@ |
| 3123 | 3123 | ],
|
| 3124 | 3124 | "variables": {
|
| 3125 | 3125 | "BIGNUM_BACKEND": "gmp",
|
| 3126 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-validate",
|
|
| 3126 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-validate",
|
|
| 3127 | 3127 | "BUILD_FLAVOUR": "validate",
|
| 3128 | 3128 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3129 | 3129 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3130 | 3130 | "RUNTEST_ARGS": "",
|
| 3131 | - "TEST_ENV": "x86_64-linux-fedora42-validate",
|
|
| 3131 | + "TEST_ENV": "x86_64-linux-fedora43-validate",
|
|
| 3132 | 3132 | "XZ_OPT": "-9"
|
| 3133 | 3133 | }
|
| 3134 | 3134 | },
|
| 3135 | - "nightly-x86_64-linux-fedora42-validate+debug_info": {
|
|
| 3135 | + "nightly-x86_64-linux-fedora43-validate+debug_info": {
|
|
| 3136 | 3136 | "after_script": [
|
| 3137 | 3137 | ".gitlab/ci.sh save_cache",
|
| 3138 | 3138 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -3143,7 +3143,7 @@ |
| 3143 | 3143 | "artifacts": {
|
| 3144 | 3144 | "expire_in": "8 weeks",
|
| 3145 | 3145 | "paths": [
|
| 3146 | - "ghc-x86_64-linux-fedora42-validate+debug_info.tar.xz",
|
|
| 3146 | + "ghc-x86_64-linux-fedora43-validate+debug_info.tar.xz",
|
|
| 3147 | 3147 | "junit.xml",
|
| 3148 | 3148 | "unexpected-test-output.tar.gz"
|
| 3149 | 3149 | ],
|
| ... | ... | @@ -3153,14 +3153,14 @@ |
| 3153 | 3153 | "when": "always"
|
| 3154 | 3154 | },
|
| 3155 | 3155 | "cache": {
|
| 3156 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 3156 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 3157 | 3157 | "paths": [
|
| 3158 | 3158 | "cabal-cache",
|
| 3159 | 3159 | "toolchain"
|
| 3160 | 3160 | ]
|
| 3161 | 3161 | },
|
| 3162 | 3162 | "dependencies": [],
|
| 3163 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 3163 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 3164 | 3164 | "needs": [
|
| 3165 | 3165 | {
|
| 3166 | 3166 | "artifacts": false,
|
| ... | ... | @@ -3186,12 +3186,77 @@ |
| 3186 | 3186 | ],
|
| 3187 | 3187 | "variables": {
|
| 3188 | 3188 | "BIGNUM_BACKEND": "gmp",
|
| 3189 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-validate+debug_info",
|
|
| 3189 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-validate+debug_info",
|
|
| 3190 | 3190 | "BUILD_FLAVOUR": "validate+debug_info",
|
| 3191 | 3191 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3192 | 3192 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 3193 | 3193 | "RUNTEST_ARGS": "",
|
| 3194 | - "TEST_ENV": "x86_64-linux-fedora42-validate+debug_info",
|
|
| 3194 | + "TEST_ENV": "x86_64-linux-fedora43-validate+debug_info",
|
|
| 3195 | + "XZ_OPT": "-9"
|
|
| 3196 | + }
|
|
| 3197 | + },
|
|
| 3198 | + "nightly-x86_64-linux-fedora43-validate+debug_info+ubsan": {
|
|
| 3199 | + "after_script": [
|
|
| 3200 | + ".gitlab/ci.sh save_cache",
|
|
| 3201 | + ".gitlab/ci.sh save_test_output",
|
|
| 3202 | + ".gitlab/ci.sh clean",
|
|
| 3203 | + "cat ci_timings.txt"
|
|
| 3204 | + ],
|
|
| 3205 | + "allow_failure": false,
|
|
| 3206 | + "artifacts": {
|
|
| 3207 | + "expire_in": "8 weeks",
|
|
| 3208 | + "paths": [
|
|
| 3209 | + "ghc-x86_64-linux-fedora43-validate+debug_info+ubsan.tar.xz",
|
|
| 3210 | + "junit.xml",
|
|
| 3211 | + "unexpected-test-output.tar.gz"
|
|
| 3212 | + ],
|
|
| 3213 | + "reports": {
|
|
| 3214 | + "junit": "junit.xml"
|
|
| 3215 | + },
|
|
| 3216 | + "when": "always"
|
|
| 3217 | + },
|
|
| 3218 | + "cache": {
|
|
| 3219 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 3220 | + "paths": [
|
|
| 3221 | + "cabal-cache",
|
|
| 3222 | + "toolchain"
|
|
| 3223 | + ]
|
|
| 3224 | + },
|
|
| 3225 | + "dependencies": [],
|
|
| 3226 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 3227 | + "needs": [
|
|
| 3228 | + {
|
|
| 3229 | + "artifacts": false,
|
|
| 3230 | + "job": "hadrian-ghc-in-ghci"
|
|
| 3231 | + }
|
|
| 3232 | + ],
|
|
| 3233 | + "rules": [
|
|
| 3234 | + {
|
|
| 3235 | + "if": "(\"true\" == \"true\") && ($RELEASE_JOB != \"yes\") && ($NIGHTLY)",
|
|
| 3236 | + "when": "on_success"
|
|
| 3237 | + }
|
|
| 3238 | + ],
|
|
| 3239 | + "script": [
|
|
| 3240 | + "sudo chown ghc:ghc -R .",
|
|
| 3241 | + ".gitlab/ci.sh setup",
|
|
| 3242 | + ".gitlab/ci.sh configure",
|
|
| 3243 | + ".gitlab/ci.sh build_hadrian",
|
|
| 3244 | + ".gitlab/ci.sh test_hadrian"
|
|
| 3245 | + ],
|
|
| 3246 | + "stage": "full-build",
|
|
| 3247 | + "tags": [
|
|
| 3248 | + "x86_64-linux"
|
|
| 3249 | + ],
|
|
| 3250 | + "variables": {
|
|
| 3251 | + "BIGNUM_BACKEND": "gmp",
|
|
| 3252 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-validate+debug_info+ubsan",
|
|
| 3253 | + "BUILD_FLAVOUR": "validate+debug_info+ubsan",
|
|
| 3254 | + "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 3255 | + "HADRIAN_ARGS": "--docs=none",
|
|
| 3256 | + "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 3257 | + "RUNTEST_ARGS": "",
|
|
| 3258 | + "TEST_ENV": "x86_64-linux-fedora43-validate+debug_info+ubsan",
|
|
| 3259 | + "UBSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.ubsan-suppressions",
|
|
| 3195 | 3260 | "XZ_OPT": "-9"
|
| 3196 | 3261 | }
|
| 3197 | 3262 | },
|
| ... | ... | @@ -3769,7 +3834,7 @@ |
| 3769 | 3834 | "XZ_OPT": "-9"
|
| 3770 | 3835 | }
|
| 3771 | 3836 | },
|
| 3772 | - "release-aarch64-linux-alpine3_22-release+no_split_sections": {
|
|
| 3837 | + "release-aarch64-linux-alpine3_23-release+no_split_sections": {
|
|
| 3773 | 3838 | "after_script": [
|
| 3774 | 3839 | ".gitlab/ci.sh save_cache",
|
| 3775 | 3840 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -3780,7 +3845,7 @@ |
| 3780 | 3845 | "artifacts": {
|
| 3781 | 3846 | "expire_in": "1 year",
|
| 3782 | 3847 | "paths": [
|
| 3783 | - "ghc-aarch64-linux-alpine3_22-release+no_split_sections.tar.xz",
|
|
| 3848 | + "ghc-aarch64-linux-alpine3_23-release+no_split_sections.tar.xz",
|
|
| 3784 | 3849 | "junit.xml",
|
| 3785 | 3850 | "unexpected-test-output.tar.gz"
|
| 3786 | 3851 | ],
|
| ... | ... | @@ -3790,14 +3855,14 @@ |
| 3790 | 3855 | "when": "always"
|
| 3791 | 3856 | },
|
| 3792 | 3857 | "cache": {
|
| 3793 | - "key": "aarch64-linux-alpine3_22-$CACHE_REV",
|
|
| 3858 | + "key": "aarch64-linux-alpine3_23-$CACHE_REV",
|
|
| 3794 | 3859 | "paths": [
|
| 3795 | 3860 | "cabal-cache",
|
| 3796 | 3861 | "toolchain"
|
| 3797 | 3862 | ]
|
| 3798 | 3863 | },
|
| 3799 | 3864 | "dependencies": [],
|
| 3800 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_22:$DOCKER_REV",
|
|
| 3865 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-alpine3_23:$DOCKER_REV",
|
|
| 3801 | 3866 | "needs": [
|
| 3802 | 3867 | {
|
| 3803 | 3868 | "artifacts": false,
|
| ... | ... | @@ -3823,14 +3888,14 @@ |
| 3823 | 3888 | ],
|
| 3824 | 3889 | "variables": {
|
| 3825 | 3890 | "BIGNUM_BACKEND": "gmp",
|
| 3826 | - "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_22-release+no_split_sections",
|
|
| 3891 | + "BIN_DIST_NAME": "ghc-aarch64-linux-alpine3_23-release+no_split_sections",
|
|
| 3827 | 3892 | "BROKEN_TESTS": "encoding004 T10458",
|
| 3828 | 3893 | "BUILD_FLAVOUR": "release+no_split_sections",
|
| 3829 | 3894 | "CONFIGURE_ARGS": "--disable-ld-override --enable-ignore-build-platform-mismatch --build=aarch64-unknown-linux --host=aarch64-unknown-linux --target=aarch64-unknown-linux --enable-strict-ghc-toolchain-check",
|
| 3830 | 3895 | "IGNORE_PERF_FAILURES": "all",
|
| 3831 | 3896 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 3832 | 3897 | "RUNTEST_ARGS": "",
|
| 3833 | - "TEST_ENV": "aarch64-linux-alpine3_22-release+no_split_sections",
|
|
| 3898 | + "TEST_ENV": "aarch64-linux-alpine3_23-release+no_split_sections",
|
|
| 3834 | 3899 | "XZ_OPT": "-9"
|
| 3835 | 3900 | }
|
| 3836 | 3901 | },
|
| ... | ... | @@ -3962,7 +4027,7 @@ |
| 3962 | 4027 | "XZ_OPT": "-9"
|
| 3963 | 4028 | }
|
| 3964 | 4029 | },
|
| 3965 | - "release-i386-linux-alpine3_22-release+no_split_sections": {
|
|
| 4030 | + "release-i386-linux-alpine3_23-release+no_split_sections": {
|
|
| 3966 | 4031 | "after_script": [
|
| 3967 | 4032 | ".gitlab/ci.sh save_cache",
|
| 3968 | 4033 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -3973,7 +4038,7 @@ |
| 3973 | 4038 | "artifacts": {
|
| 3974 | 4039 | "expire_in": "1 year",
|
| 3975 | 4040 | "paths": [
|
| 3976 | - "ghc-i386-linux-alpine3_22-release+no_split_sections.tar.xz",
|
|
| 4041 | + "ghc-i386-linux-alpine3_23-release+no_split_sections.tar.xz",
|
|
| 3977 | 4042 | "junit.xml",
|
| 3978 | 4043 | "unexpected-test-output.tar.gz"
|
| 3979 | 4044 | ],
|
| ... | ... | @@ -3983,14 +4048,14 @@ |
| 3983 | 4048 | "when": "always"
|
| 3984 | 4049 | },
|
| 3985 | 4050 | "cache": {
|
| 3986 | - "key": "i386-linux-alpine3_22-$CACHE_REV",
|
|
| 4051 | + "key": "i386-linux-alpine3_23-$CACHE_REV",
|
|
| 3987 | 4052 | "paths": [
|
| 3988 | 4053 | "cabal-cache",
|
| 3989 | 4054 | "toolchain"
|
| 3990 | 4055 | ]
|
| 3991 | 4056 | },
|
| 3992 | 4057 | "dependencies": [],
|
| 3993 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_22:$DOCKER_REV",
|
|
| 4058 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/i386-linux-alpine3_23:$DOCKER_REV",
|
|
| 3994 | 4059 | "needs": [
|
| 3995 | 4060 | {
|
| 3996 | 4061 | "artifacts": false,
|
| ... | ... | @@ -4016,14 +4081,14 @@ |
| 4016 | 4081 | ],
|
| 4017 | 4082 | "variables": {
|
| 4018 | 4083 | "BIGNUM_BACKEND": "gmp",
|
| 4019 | - "BIN_DIST_NAME": "ghc-i386-linux-alpine3_22-release+no_split_sections",
|
|
| 4084 | + "BIN_DIST_NAME": "ghc-i386-linux-alpine3_23-release+no_split_sections",
|
|
| 4020 | 4085 | "BROKEN_TESTS": "encoding004 T10458 simd009 T25169",
|
| 4021 | 4086 | "BUILD_FLAVOUR": "release+no_split_sections",
|
| 4022 | 4087 | "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 4023 | 4088 | "IGNORE_PERF_FAILURES": "all",
|
| 4024 | 4089 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 4025 | 4090 | "RUNTEST_ARGS": "",
|
| 4026 | - "TEST_ENV": "i386-linux-alpine3_22-release+no_split_sections",
|
|
| 4091 | + "TEST_ENV": "i386-linux-alpine3_23-release+no_split_sections",
|
|
| 4027 | 4092 | "XZ_OPT": "-9"
|
| 4028 | 4093 | }
|
| 4029 | 4094 | },
|
| ... | ... | @@ -4423,7 +4488,7 @@ |
| 4423 | 4488 | "XZ_OPT": "-9"
|
| 4424 | 4489 | }
|
| 4425 | 4490 | },
|
| 4426 | - "release-x86_64-linux-alpine3_22-release+no_split_sections": {
|
|
| 4491 | + "release-x86_64-linux-alpine3_23-release+no_split_sections": {
|
|
| 4427 | 4492 | "after_script": [
|
| 4428 | 4493 | ".gitlab/ci.sh save_cache",
|
| 4429 | 4494 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -4434,7 +4499,7 @@ |
| 4434 | 4499 | "artifacts": {
|
| 4435 | 4500 | "expire_in": "1 year",
|
| 4436 | 4501 | "paths": [
|
| 4437 | - "ghc-x86_64-linux-alpine3_22-release+no_split_sections.tar.xz",
|
|
| 4502 | + "ghc-x86_64-linux-alpine3_23-release+no_split_sections.tar.xz",
|
|
| 4438 | 4503 | "junit.xml",
|
| 4439 | 4504 | "unexpected-test-output.tar.gz"
|
| 4440 | 4505 | ],
|
| ... | ... | @@ -4444,14 +4509,14 @@ |
| 4444 | 4509 | "when": "always"
|
| 4445 | 4510 | },
|
| 4446 | 4511 | "cache": {
|
| 4447 | - "key": "x86_64-linux-alpine3_22-$CACHE_REV",
|
|
| 4512 | + "key": "x86_64-linux-alpine3_23-$CACHE_REV",
|
|
| 4448 | 4513 | "paths": [
|
| 4449 | 4514 | "cabal-cache",
|
| 4450 | 4515 | "toolchain"
|
| 4451 | 4516 | ]
|
| 4452 | 4517 | },
|
| 4453 | 4518 | "dependencies": [],
|
| 4454 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
|
|
| 4519 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23:$DOCKER_REV",
|
|
| 4455 | 4520 | "needs": [
|
| 4456 | 4521 | {
|
| 4457 | 4522 | "artifacts": false,
|
| ... | ... | @@ -4477,14 +4542,14 @@ |
| 4477 | 4542 | ],
|
| 4478 | 4543 | "variables": {
|
| 4479 | 4544 | "BIGNUM_BACKEND": "gmp",
|
| 4480 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-release+no_split_sections",
|
|
| 4545 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-release+no_split_sections",
|
|
| 4481 | 4546 | "BROKEN_TESTS": "encoding004 T10458",
|
| 4482 | 4547 | "BUILD_FLAVOUR": "release+no_split_sections",
|
| 4483 | 4548 | "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 4484 | 4549 | "IGNORE_PERF_FAILURES": "all",
|
| 4485 | 4550 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 4486 | 4551 | "RUNTEST_ARGS": "",
|
| 4487 | - "TEST_ENV": "x86_64-linux-alpine3_22-release+no_split_sections",
|
|
| 4552 | + "TEST_ENV": "x86_64-linux-alpine3_23-release+no_split_sections",
|
|
| 4488 | 4553 | "XZ_OPT": "-9"
|
| 4489 | 4554 | }
|
| 4490 | 4555 | },
|
| ... | ... | @@ -4808,7 +4873,7 @@ |
| 4808 | 4873 | "XZ_OPT": "-9"
|
| 4809 | 4874 | }
|
| 4810 | 4875 | },
|
| 4811 | - "release-x86_64-linux-fedora42-release": {
|
|
| 4876 | + "release-x86_64-linux-fedora43-release": {
|
|
| 4812 | 4877 | "after_script": [
|
| 4813 | 4878 | ".gitlab/ci.sh save_cache",
|
| 4814 | 4879 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -4819,7 +4884,7 @@ |
| 4819 | 4884 | "artifacts": {
|
| 4820 | 4885 | "expire_in": "1 year",
|
| 4821 | 4886 | "paths": [
|
| 4822 | - "ghc-x86_64-linux-fedora42-release.tar.xz",
|
|
| 4887 | + "ghc-x86_64-linux-fedora43-release.tar.xz",
|
|
| 4823 | 4888 | "junit.xml",
|
| 4824 | 4889 | "unexpected-test-output.tar.gz"
|
| 4825 | 4890 | ],
|
| ... | ... | @@ -4829,14 +4894,14 @@ |
| 4829 | 4894 | "when": "always"
|
| 4830 | 4895 | },
|
| 4831 | 4896 | "cache": {
|
| 4832 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 4897 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 4833 | 4898 | "paths": [
|
| 4834 | 4899 | "cabal-cache",
|
| 4835 | 4900 | "toolchain"
|
| 4836 | 4901 | ]
|
| 4837 | 4902 | },
|
| 4838 | 4903 | "dependencies": [],
|
| 4839 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 4904 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 4840 | 4905 | "needs": [
|
| 4841 | 4906 | {
|
| 4842 | 4907 | "artifacts": false,
|
| ... | ... | @@ -4862,17 +4927,17 @@ |
| 4862 | 4927 | ],
|
| 4863 | 4928 | "variables": {
|
| 4864 | 4929 | "BIGNUM_BACKEND": "gmp",
|
| 4865 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release",
|
|
| 4930 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
|
| 4866 | 4931 | "BUILD_FLAVOUR": "release",
|
| 4867 | 4932 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 4868 | 4933 | "IGNORE_PERF_FAILURES": "all",
|
| 4869 | 4934 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 4870 | 4935 | "RUNTEST_ARGS": "",
|
| 4871 | - "TEST_ENV": "x86_64-linux-fedora42-release",
|
|
| 4936 | + "TEST_ENV": "x86_64-linux-fedora43-release",
|
|
| 4872 | 4937 | "XZ_OPT": "-9"
|
| 4873 | 4938 | }
|
| 4874 | 4939 | },
|
| 4875 | - "release-x86_64-linux-fedora42-release+debug_info": {
|
|
| 4940 | + "release-x86_64-linux-fedora43-release+debug_info": {
|
|
| 4876 | 4941 | "after_script": [
|
| 4877 | 4942 | ".gitlab/ci.sh save_cache",
|
| 4878 | 4943 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -4883,7 +4948,7 @@ |
| 4883 | 4948 | "artifacts": {
|
| 4884 | 4949 | "expire_in": "1 year",
|
| 4885 | 4950 | "paths": [
|
| 4886 | - "ghc-x86_64-linux-fedora42-release+debug_info.tar.xz",
|
|
| 4951 | + "ghc-x86_64-linux-fedora43-release+debug_info.tar.xz",
|
|
| 4887 | 4952 | "junit.xml",
|
| 4888 | 4953 | "unexpected-test-output.tar.gz"
|
| 4889 | 4954 | ],
|
| ... | ... | @@ -4893,14 +4958,14 @@ |
| 4893 | 4958 | "when": "always"
|
| 4894 | 4959 | },
|
| 4895 | 4960 | "cache": {
|
| 4896 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 4961 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 4897 | 4962 | "paths": [
|
| 4898 | 4963 | "cabal-cache",
|
| 4899 | 4964 | "toolchain"
|
| 4900 | 4965 | ]
|
| 4901 | 4966 | },
|
| 4902 | 4967 | "dependencies": [],
|
| 4903 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 4968 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 4904 | 4969 | "needs": [
|
| 4905 | 4970 | {
|
| 4906 | 4971 | "artifacts": false,
|
| ... | ... | @@ -4926,17 +4991,17 @@ |
| 4926 | 4991 | ],
|
| 4927 | 4992 | "variables": {
|
| 4928 | 4993 | "BIGNUM_BACKEND": "gmp",
|
| 4929 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release+debug_info",
|
|
| 4994 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release+debug_info",
|
|
| 4930 | 4995 | "BUILD_FLAVOUR": "release+debug_info",
|
| 4931 | 4996 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 4932 | 4997 | "IGNORE_PERF_FAILURES": "all",
|
| 4933 | 4998 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 4934 | 4999 | "RUNTEST_ARGS": "",
|
| 4935 | - "TEST_ENV": "x86_64-linux-fedora42-release+debug_info",
|
|
| 5000 | + "TEST_ENV": "x86_64-linux-fedora43-release+debug_info",
|
|
| 4936 | 5001 | "XZ_OPT": "-9"
|
| 4937 | 5002 | }
|
| 4938 | 5003 | },
|
| 4939 | - "release-x86_64-linux-fedora42-release-hackage": {
|
|
| 5004 | + "release-x86_64-linux-fedora43-release-hackage": {
|
|
| 4940 | 5005 | "after_script": [
|
| 4941 | 5006 | ".gitlab/ci.sh save_cache",
|
| 4942 | 5007 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -4947,7 +5012,7 @@ |
| 4947 | 5012 | "artifacts": {
|
| 4948 | 5013 | "expire_in": "1 year",
|
| 4949 | 5014 | "paths": [
|
| 4950 | - "ghc-x86_64-linux-fedora42-release.tar.xz",
|
|
| 5015 | + "ghc-x86_64-linux-fedora43-release.tar.xz",
|
|
| 4951 | 5016 | "junit.xml",
|
| 4952 | 5017 | "unexpected-test-output.tar.gz"
|
| 4953 | 5018 | ],
|
| ... | ... | @@ -4957,14 +5022,14 @@ |
| 4957 | 5022 | "when": "always"
|
| 4958 | 5023 | },
|
| 4959 | 5024 | "cache": {
|
| 4960 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 5025 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 4961 | 5026 | "paths": [
|
| 4962 | 5027 | "cabal-cache",
|
| 4963 | 5028 | "toolchain"
|
| 4964 | 5029 | ]
|
| 4965 | 5030 | },
|
| 4966 | 5031 | "dependencies": [],
|
| 4967 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 5032 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 4968 | 5033 | "needs": [
|
| 4969 | 5034 | {
|
| 4970 | 5035 | "artifacts": false,
|
| ... | ... | @@ -4990,14 +5055,14 @@ |
| 4990 | 5055 | ],
|
| 4991 | 5056 | "variables": {
|
| 4992 | 5057 | "BIGNUM_BACKEND": "gmp",
|
| 4993 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release",
|
|
| 5058 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
|
| 4994 | 5059 | "BUILD_FLAVOUR": "release",
|
| 4995 | 5060 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 4996 | 5061 | "HADRIAN_ARGS": "--haddock-for-hackage",
|
| 4997 | 5062 | "IGNORE_PERF_FAILURES": "all",
|
| 4998 | 5063 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 4999 | 5064 | "RUNTEST_ARGS": "",
|
| 5000 | - "TEST_ENV": "x86_64-linux-fedora42-release",
|
|
| 5065 | + "TEST_ENV": "x86_64-linux-fedora43-release",
|
|
| 5001 | 5066 | "XZ_OPT": "-9"
|
| 5002 | 5067 | }
|
| 5003 | 5068 | },
|
| ... | ... | @@ -5709,7 +5774,7 @@ |
| 5709 | 5774 | "TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static"
|
| 5710 | 5775 | }
|
| 5711 | 5776 | },
|
| 5712 | - "x86_64-linux-alpine3_22-validate": {
|
|
| 5777 | + "x86_64-linux-alpine3_23-validate": {
|
|
| 5713 | 5778 | "after_script": [
|
| 5714 | 5779 | ".gitlab/ci.sh save_cache",
|
| 5715 | 5780 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -5720,7 +5785,7 @@ |
| 5720 | 5785 | "artifacts": {
|
| 5721 | 5786 | "expire_in": "2 weeks",
|
| 5722 | 5787 | "paths": [
|
| 5723 | - "ghc-x86_64-linux-alpine3_22-validate.tar.xz",
|
|
| 5788 | + "ghc-x86_64-linux-alpine3_23-validate.tar.xz",
|
|
| 5724 | 5789 | "junit.xml",
|
| 5725 | 5790 | "unexpected-test-output.tar.gz"
|
| 5726 | 5791 | ],
|
| ... | ... | @@ -5730,14 +5795,14 @@ |
| 5730 | 5795 | "when": "always"
|
| 5731 | 5796 | },
|
| 5732 | 5797 | "cache": {
|
| 5733 | - "key": "x86_64-linux-alpine3_22-$CACHE_REV",
|
|
| 5798 | + "key": "x86_64-linux-alpine3_23-$CACHE_REV",
|
|
| 5734 | 5799 | "paths": [
|
| 5735 | 5800 | "cabal-cache",
|
| 5736 | 5801 | "toolchain"
|
| 5737 | 5802 | ]
|
| 5738 | 5803 | },
|
| 5739 | 5804 | "dependencies": [],
|
| 5740 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22:$DOCKER_REV",
|
|
| 5805 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23:$DOCKER_REV",
|
|
| 5741 | 5806 | "needs": [
|
| 5742 | 5807 | {
|
| 5743 | 5808 | "artifacts": false,
|
| ... | ... | @@ -5746,7 +5811,7 @@ |
| 5746 | 5811 | ],
|
| 5747 | 5812 | "rules": [
|
| 5748 | 5813 | {
|
| 5749 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5814 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5750 | 5815 | "when": "on_success"
|
| 5751 | 5816 | }
|
| 5752 | 5817 | ],
|
| ... | ... | @@ -5763,16 +5828,16 @@ |
| 5763 | 5828 | ],
|
| 5764 | 5829 | "variables": {
|
| 5765 | 5830 | "BIGNUM_BACKEND": "gmp",
|
| 5766 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-validate",
|
|
| 5831 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-validate",
|
|
| 5767 | 5832 | "BROKEN_TESTS": "encoding004 T10458",
|
| 5768 | 5833 | "BUILD_FLAVOUR": "validate",
|
| 5769 | 5834 | "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 5770 | 5835 | "INSTALL_CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
|
| 5771 | 5836 | "RUNTEST_ARGS": "",
|
| 5772 | - "TEST_ENV": "x86_64-linux-alpine3_22-validate"
|
|
| 5837 | + "TEST_ENV": "x86_64-linux-alpine3_23-validate"
|
|
| 5773 | 5838 | }
|
| 5774 | 5839 | },
|
| 5775 | - "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 5840 | + "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 5776 | 5841 | "after_script": [
|
| 5777 | 5842 | ".gitlab/ci.sh save_cache",
|
| 5778 | 5843 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -5783,7 +5848,7 @@ |
| 5783 | 5848 | "artifacts": {
|
| 5784 | 5849 | "expire_in": "2 weeks",
|
| 5785 | 5850 | "paths": [
|
| 5786 | - "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 5851 | + "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 5787 | 5852 | "junit.xml",
|
| 5788 | 5853 | "unexpected-test-output.tar.gz"
|
| 5789 | 5854 | ],
|
| ... | ... | @@ -5793,14 +5858,14 @@ |
| 5793 | 5858 | "when": "always"
|
| 5794 | 5859 | },
|
| 5795 | 5860 | "cache": {
|
| 5796 | - "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
|
|
| 5861 | + "key": "x86_64-linux-alpine3_23-wasm-$CACHE_REV",
|
|
| 5797 | 5862 | "paths": [
|
| 5798 | 5863 | "cabal-cache",
|
| 5799 | 5864 | "toolchain"
|
| 5800 | 5865 | ]
|
| 5801 | 5866 | },
|
| 5802 | 5867 | "dependencies": [],
|
| 5803 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
|
|
| 5868 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23-wasm:$DOCKER_REV",
|
|
| 5804 | 5869 | "needs": [
|
| 5805 | 5870 | {
|
| 5806 | 5871 | "artifacts": false,
|
| ... | ... | @@ -5809,7 +5874,7 @@ |
| 5809 | 5874 | ],
|
| 5810 | 5875 | "rules": [
|
| 5811 | 5876 | {
|
| 5812 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5877 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5813 | 5878 | "when": "on_success"
|
| 5814 | 5879 | }
|
| 5815 | 5880 | ],
|
| ... | ... | @@ -5826,17 +5891,17 @@ |
| 5826 | 5891 | ],
|
| 5827 | 5892 | "variables": {
|
| 5828 | 5893 | "BIGNUM_BACKEND": "gmp",
|
| 5829 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 5894 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 5830 | 5895 | "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
|
| 5831 | 5896 | "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
|
| 5832 | 5897 | "CROSS_TARGET": "wasm32-wasi",
|
| 5833 | 5898 | "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
|
| 5834 | 5899 | "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
|
| 5835 | 5900 | "RUNTEST_ARGS": "",
|
| 5836 | - "TEST_ENV": "x86_64-linux-alpine3_22-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 5901 | + "TEST_ENV": "x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 5837 | 5902 | }
|
| 5838 | 5903 | },
|
| 5839 | - "x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 5904 | + "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 5840 | 5905 | "after_script": [
|
| 5841 | 5906 | ".gitlab/ci.sh save_cache",
|
| 5842 | 5907 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -5847,7 +5912,7 @@ |
| 5847 | 5912 | "artifacts": {
|
| 5848 | 5913 | "expire_in": "2 weeks",
|
| 5849 | 5914 | "paths": [
|
| 5850 | - "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 5915 | + "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 5851 | 5916 | "junit.xml",
|
| 5852 | 5917 | "unexpected-test-output.tar.gz"
|
| 5853 | 5918 | ],
|
| ... | ... | @@ -5857,14 +5922,14 @@ |
| 5857 | 5922 | "when": "always"
|
| 5858 | 5923 | },
|
| 5859 | 5924 | "cache": {
|
| 5860 | - "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
|
|
| 5925 | + "key": "x86_64-linux-alpine3_23-wasm-$CACHE_REV",
|
|
| 5861 | 5926 | "paths": [
|
| 5862 | 5927 | "cabal-cache",
|
| 5863 | 5928 | "toolchain"
|
| 5864 | 5929 | ]
|
| 5865 | 5930 | },
|
| 5866 | 5931 | "dependencies": [],
|
| 5867 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
|
|
| 5932 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23-wasm:$DOCKER_REV",
|
|
| 5868 | 5933 | "needs": [
|
| 5869 | 5934 | {
|
| 5870 | 5935 | "artifacts": false,
|
| ... | ... | @@ -5874,7 +5939,7 @@ |
| 5874 | 5939 | "rules": [
|
| 5875 | 5940 | {
|
| 5876 | 5941 | "allow_failure": true,
|
| 5877 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5942 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5878 | 5943 | "when": "manual"
|
| 5879 | 5944 | }
|
| 5880 | 5945 | ],
|
| ... | ... | @@ -5891,17 +5956,17 @@ |
| 5891 | 5956 | ],
|
| 5892 | 5957 | "variables": {
|
| 5893 | 5958 | "BIGNUM_BACKEND": "native",
|
| 5894 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 5959 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 5895 | 5960 | "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
|
| 5896 | 5961 | "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
|
| 5897 | 5962 | "CROSS_TARGET": "wasm32-wasi",
|
| 5898 | 5963 | "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
|
| 5899 | 5964 | "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
|
| 5900 | 5965 | "RUNTEST_ARGS": "",
|
| 5901 | - "TEST_ENV": "x86_64-linux-alpine3_22-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 5966 | + "TEST_ENV": "x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 5902 | 5967 | }
|
| 5903 | 5968 | },
|
| 5904 | - "x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 5969 | + "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf": {
|
|
| 5905 | 5970 | "after_script": [
|
| 5906 | 5971 | ".gitlab/ci.sh save_cache",
|
| 5907 | 5972 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -5912,7 +5977,7 @@ |
| 5912 | 5977 | "artifacts": {
|
| 5913 | 5978 | "expire_in": "2 weeks",
|
| 5914 | 5979 | "paths": [
|
| 5915 | - "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 5980 | + "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf.tar.xz",
|
|
| 5916 | 5981 | "junit.xml",
|
| 5917 | 5982 | "unexpected-test-output.tar.gz"
|
| 5918 | 5983 | ],
|
| ... | ... | @@ -5922,14 +5987,14 @@ |
| 5922 | 5987 | "when": "always"
|
| 5923 | 5988 | },
|
| 5924 | 5989 | "cache": {
|
| 5925 | - "key": "x86_64-linux-alpine3_22-wasm-$CACHE_REV",
|
|
| 5990 | + "key": "x86_64-linux-alpine3_23-wasm-$CACHE_REV",
|
|
| 5926 | 5991 | "paths": [
|
| 5927 | 5992 | "cabal-cache",
|
| 5928 | 5993 | "toolchain"
|
| 5929 | 5994 | ]
|
| 5930 | 5995 | },
|
| 5931 | 5996 | "dependencies": [],
|
| 5932 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_22-wasm:$DOCKER_REV",
|
|
| 5997 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_23-wasm:$DOCKER_REV",
|
|
| 5933 | 5998 | "needs": [
|
| 5934 | 5999 | {
|
| 5935 | 6000 | "artifacts": false,
|
| ... | ... | @@ -5939,7 +6004,7 @@ |
| 5939 | 6004 | "rules": [
|
| 5940 | 6005 | {
|
| 5941 | 6006 | "allow_failure": true,
|
| 5942 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 6007 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release\\+host_fully_static\\+text_simdutf(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/)) || ($CI_MERGE_REQUEST_LABELS =~ /.*wasm.*/)))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 5943 | 6008 | "when": "manual"
|
| 5944 | 6009 | }
|
| 5945 | 6010 | ],
|
| ... | ... | @@ -5956,14 +6021,14 @@ |
| 5956 | 6021 | ],
|
| 5957 | 6022 | "variables": {
|
| 5958 | 6023 | "BIGNUM_BACKEND": "gmp",
|
| 5959 | - "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 6024 | + "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
|
|
| 5960 | 6025 | "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
|
| 5961 | 6026 | "CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
|
| 5962 | 6027 | "CROSS_TARGET": "wasm32-wasi",
|
| 5963 | 6028 | "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
|
| 5964 | 6029 | "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
|
| 5965 | 6030 | "RUNTEST_ARGS": "",
|
| 5966 | - "TEST_ENV": "x86_64-linux-alpine3_22-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 6031 | + "TEST_ENV": "x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf"
|
|
| 5967 | 6032 | }
|
| 5968 | 6033 | },
|
| 5969 | 6034 | "x86_64-linux-deb10-validate": {
|
| ... | ... | @@ -7032,7 +7097,7 @@ |
| 7032 | 7097 | "TEST_ENV": "x86_64-linux-deb9-validate"
|
| 7033 | 7098 | }
|
| 7034 | 7099 | },
|
| 7035 | - "x86_64-linux-fedora42-release": {
|
|
| 7100 | + "x86_64-linux-fedora43-release": {
|
|
| 7036 | 7101 | "after_script": [
|
| 7037 | 7102 | ".gitlab/ci.sh save_cache",
|
| 7038 | 7103 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -7043,7 +7108,7 @@ |
| 7043 | 7108 | "artifacts": {
|
| 7044 | 7109 | "expire_in": "2 weeks",
|
| 7045 | 7110 | "paths": [
|
| 7046 | - "ghc-x86_64-linux-fedora42-release.tar.xz",
|
|
| 7111 | + "ghc-x86_64-linux-fedora43-release.tar.xz",
|
|
| 7047 | 7112 | "junit.xml",
|
| 7048 | 7113 | "unexpected-test-output.tar.gz"
|
| 7049 | 7114 | ],
|
| ... | ... | @@ -7053,14 +7118,14 @@ |
| 7053 | 7118 | "when": "always"
|
| 7054 | 7119 | },
|
| 7055 | 7120 | "cache": {
|
| 7056 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 7121 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 7057 | 7122 | "paths": [
|
| 7058 | 7123 | "cabal-cache",
|
| 7059 | 7124 | "toolchain"
|
| 7060 | 7125 | ]
|
| 7061 | 7126 | },
|
| 7062 | 7127 | "dependencies": [],
|
| 7063 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 7128 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 7064 | 7129 | "needs": [
|
| 7065 | 7130 | {
|
| 7066 | 7131 | "artifacts": false,
|
| ... | ... | @@ -7069,7 +7134,7 @@ |
| 7069 | 7134 | ],
|
| 7070 | 7135 | "rules": [
|
| 7071 | 7136 | {
|
| 7072 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7137 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release(\\s|$).*/)) || (($ONLY_JOBS == null) && ((\"true\" == \"true\")))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7073 | 7138 | "when": "on_success"
|
| 7074 | 7139 | }
|
| 7075 | 7140 | ],
|
| ... | ... | @@ -7086,15 +7151,15 @@ |
| 7086 | 7151 | ],
|
| 7087 | 7152 | "variables": {
|
| 7088 | 7153 | "BIGNUM_BACKEND": "gmp",
|
| 7089 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release",
|
|
| 7154 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
|
| 7090 | 7155 | "BUILD_FLAVOUR": "release",
|
| 7091 | 7156 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7092 | 7157 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7093 | 7158 | "RUNTEST_ARGS": "",
|
| 7094 | - "TEST_ENV": "x86_64-linux-fedora42-release"
|
|
| 7159 | + "TEST_ENV": "x86_64-linux-fedora43-release"
|
|
| 7095 | 7160 | }
|
| 7096 | 7161 | },
|
| 7097 | - "x86_64-linux-fedora42-release-hackage": {
|
|
| 7162 | + "x86_64-linux-fedora43-release-hackage": {
|
|
| 7098 | 7163 | "after_script": [
|
| 7099 | 7164 | ".gitlab/ci.sh save_cache",
|
| 7100 | 7165 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -7105,7 +7170,7 @@ |
| 7105 | 7170 | "artifacts": {
|
| 7106 | 7171 | "expire_in": "2 weeks",
|
| 7107 | 7172 | "paths": [
|
| 7108 | - "ghc-x86_64-linux-fedora42-release.tar.xz",
|
|
| 7173 | + "ghc-x86_64-linux-fedora43-release.tar.xz",
|
|
| 7109 | 7174 | "junit.xml",
|
| 7110 | 7175 | "unexpected-test-output.tar.gz"
|
| 7111 | 7176 | ],
|
| ... | ... | @@ -7115,14 +7180,14 @@ |
| 7115 | 7180 | "when": "always"
|
| 7116 | 7181 | },
|
| 7117 | 7182 | "cache": {
|
| 7118 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 7183 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 7119 | 7184 | "paths": [
|
| 7120 | 7185 | "cabal-cache",
|
| 7121 | 7186 | "toolchain"
|
| 7122 | 7187 | ]
|
| 7123 | 7188 | },
|
| 7124 | 7189 | "dependencies": [],
|
| 7125 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 7190 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 7126 | 7191 | "needs": [
|
| 7127 | 7192 | {
|
| 7128 | 7193 | "artifacts": false,
|
| ... | ... | @@ -7131,7 +7196,7 @@ |
| 7131 | 7196 | ],
|
| 7132 | 7197 | "rules": [
|
| 7133 | 7198 | {
|
| 7134 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7199 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-release(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7135 | 7200 | "when": "on_success"
|
| 7136 | 7201 | }
|
| 7137 | 7202 | ],
|
| ... | ... | @@ -7148,16 +7213,16 @@ |
| 7148 | 7213 | ],
|
| 7149 | 7214 | "variables": {
|
| 7150 | 7215 | "BIGNUM_BACKEND": "gmp",
|
| 7151 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-release",
|
|
| 7216 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-release",
|
|
| 7152 | 7217 | "BUILD_FLAVOUR": "release",
|
| 7153 | 7218 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7154 | 7219 | "HADRIAN_ARGS": "--haddock-for-hackage",
|
| 7155 | 7220 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7156 | 7221 | "RUNTEST_ARGS": "",
|
| 7157 | - "TEST_ENV": "x86_64-linux-fedora42-release"
|
|
| 7222 | + "TEST_ENV": "x86_64-linux-fedora43-release"
|
|
| 7158 | 7223 | }
|
| 7159 | 7224 | },
|
| 7160 | - "x86_64-linux-fedora42-validate": {
|
|
| 7225 | + "x86_64-linux-fedora43-validate": {
|
|
| 7161 | 7226 | "after_script": [
|
| 7162 | 7227 | ".gitlab/ci.sh save_cache",
|
| 7163 | 7228 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -7168,7 +7233,7 @@ |
| 7168 | 7233 | "artifacts": {
|
| 7169 | 7234 | "expire_in": "2 weeks",
|
| 7170 | 7235 | "paths": [
|
| 7171 | - "ghc-x86_64-linux-fedora42-validate.tar.xz",
|
|
| 7236 | + "ghc-x86_64-linux-fedora43-validate.tar.xz",
|
|
| 7172 | 7237 | "junit.xml",
|
| 7173 | 7238 | "unexpected-test-output.tar.gz"
|
| 7174 | 7239 | ],
|
| ... | ... | @@ -7178,14 +7243,14 @@ |
| 7178 | 7243 | "when": "always"
|
| 7179 | 7244 | },
|
| 7180 | 7245 | "cache": {
|
| 7181 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 7246 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 7182 | 7247 | "paths": [
|
| 7183 | 7248 | "cabal-cache",
|
| 7184 | 7249 | "toolchain"
|
| 7185 | 7250 | ]
|
| 7186 | 7251 | },
|
| 7187 | 7252 | "dependencies": [],
|
| 7188 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 7253 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 7189 | 7254 | "needs": [
|
| 7190 | 7255 | {
|
| 7191 | 7256 | "artifacts": false,
|
| ... | ... | @@ -7194,7 +7259,7 @@ |
| 7194 | 7259 | ],
|
| 7195 | 7260 | "rules": [
|
| 7196 | 7261 | {
|
| 7197 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7262 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-validate(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7198 | 7263 | "when": "on_success"
|
| 7199 | 7264 | }
|
| 7200 | 7265 | ],
|
| ... | ... | @@ -7211,15 +7276,15 @@ |
| 7211 | 7276 | ],
|
| 7212 | 7277 | "variables": {
|
| 7213 | 7278 | "BIGNUM_BACKEND": "gmp",
|
| 7214 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-validate",
|
|
| 7279 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-validate",
|
|
| 7215 | 7280 | "BUILD_FLAVOUR": "validate",
|
| 7216 | 7281 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7217 | 7282 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7218 | 7283 | "RUNTEST_ARGS": "",
|
| 7219 | - "TEST_ENV": "x86_64-linux-fedora42-validate"
|
|
| 7284 | + "TEST_ENV": "x86_64-linux-fedora43-validate"
|
|
| 7220 | 7285 | }
|
| 7221 | 7286 | },
|
| 7222 | - "x86_64-linux-fedora42-validate+debug_info": {
|
|
| 7287 | + "x86_64-linux-fedora43-validate+debug_info": {
|
|
| 7223 | 7288 | "after_script": [
|
| 7224 | 7289 | ".gitlab/ci.sh save_cache",
|
| 7225 | 7290 | ".gitlab/ci.sh save_test_output",
|
| ... | ... | @@ -7230,7 +7295,7 @@ |
| 7230 | 7295 | "artifacts": {
|
| 7231 | 7296 | "expire_in": "2 weeks",
|
| 7232 | 7297 | "paths": [
|
| 7233 | - "ghc-x86_64-linux-fedora42-validate+debug_info.tar.xz",
|
|
| 7298 | + "ghc-x86_64-linux-fedora43-validate+debug_info.tar.xz",
|
|
| 7234 | 7299 | "junit.xml",
|
| 7235 | 7300 | "unexpected-test-output.tar.gz"
|
| 7236 | 7301 | ],
|
| ... | ... | @@ -7240,14 +7305,14 @@ |
| 7240 | 7305 | "when": "always"
|
| 7241 | 7306 | },
|
| 7242 | 7307 | "cache": {
|
| 7243 | - "key": "x86_64-linux-fedora42-$CACHE_REV",
|
|
| 7308 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 7244 | 7309 | "paths": [
|
| 7245 | 7310 | "cabal-cache",
|
| 7246 | 7311 | "toolchain"
|
| 7247 | 7312 | ]
|
| 7248 | 7313 | },
|
| 7249 | 7314 | "dependencies": [],
|
| 7250 | - "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora42:$DOCKER_REV",
|
|
| 7315 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 7251 | 7316 | "needs": [
|
| 7252 | 7317 | {
|
| 7253 | 7318 | "artifacts": false,
|
| ... | ... | @@ -7256,7 +7321,7 @@ |
| 7256 | 7321 | ],
|
| 7257 | 7322 | "rules": [
|
| 7258 | 7323 | {
|
| 7259 | - "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora42-validate\\+debug_info(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7324 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-validate\\+debug_info(\\s|$).*/)) || (($ONLY_JOBS == null) && (\"disabled\" != \"disabled\"))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7260 | 7325 | "when": "on_success"
|
| 7261 | 7326 | }
|
| 7262 | 7327 | ],
|
| ... | ... | @@ -7273,12 +7338,76 @@ |
| 7273 | 7338 | ],
|
| 7274 | 7339 | "variables": {
|
| 7275 | 7340 | "BIGNUM_BACKEND": "gmp",
|
| 7276 | - "BIN_DIST_NAME": "ghc-x86_64-linux-fedora42-validate+debug_info",
|
|
| 7341 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-validate+debug_info",
|
|
| 7277 | 7342 | "BUILD_FLAVOUR": "validate+debug_info",
|
| 7278 | 7343 | "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7279 | 7344 | "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
| 7280 | 7345 | "RUNTEST_ARGS": "",
|
| 7281 | - "TEST_ENV": "x86_64-linux-fedora42-validate+debug_info"
|
|
| 7346 | + "TEST_ENV": "x86_64-linux-fedora43-validate+debug_info"
|
|
| 7347 | + }
|
|
| 7348 | + },
|
|
| 7349 | + "x86_64-linux-fedora43-validate+debug_info+ubsan": {
|
|
| 7350 | + "after_script": [
|
|
| 7351 | + ".gitlab/ci.sh save_cache",
|
|
| 7352 | + ".gitlab/ci.sh save_test_output",
|
|
| 7353 | + ".gitlab/ci.sh clean",
|
|
| 7354 | + "cat ci_timings.txt"
|
|
| 7355 | + ],
|
|
| 7356 | + "allow_failure": false,
|
|
| 7357 | + "artifacts": {
|
|
| 7358 | + "expire_in": "2 weeks",
|
|
| 7359 | + "paths": [
|
|
| 7360 | + "ghc-x86_64-linux-fedora43-validate+debug_info+ubsan.tar.xz",
|
|
| 7361 | + "junit.xml",
|
|
| 7362 | + "unexpected-test-output.tar.gz"
|
|
| 7363 | + ],
|
|
| 7364 | + "reports": {
|
|
| 7365 | + "junit": "junit.xml"
|
|
| 7366 | + },
|
|
| 7367 | + "when": "always"
|
|
| 7368 | + },
|
|
| 7369 | + "cache": {
|
|
| 7370 | + "key": "x86_64-linux-fedora43-$CACHE_REV",
|
|
| 7371 | + "paths": [
|
|
| 7372 | + "cabal-cache",
|
|
| 7373 | + "toolchain"
|
|
| 7374 | + ]
|
|
| 7375 | + },
|
|
| 7376 | + "dependencies": [],
|
|
| 7377 | + "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV",
|
|
| 7378 | + "needs": [
|
|
| 7379 | + {
|
|
| 7380 | + "artifacts": false,
|
|
| 7381 | + "job": "hadrian-ghc-in-ghci"
|
|
| 7382 | + }
|
|
| 7383 | + ],
|
|
| 7384 | + "rules": [
|
|
| 7385 | + {
|
|
| 7386 | + "if": "((($ONLY_JOBS) && ($ONLY_JOBS =~ /.*\\bx86_64-linux-fedora43-validate\\+debug_info\\+ubsan(\\s|$).*/)) || (($ONLY_JOBS == null) && ((($CI_MERGE_REQUEST_LABELS =~ /.*full-ci.*/) || ($CI_MERGE_REQUEST_LABELS =~ /.*marge_bot_batch_merge_job.*/) || ($CI_COMMIT_BRANCH == \"master\") || ($CI_COMMIT_BRANCH =~ /ghc-[0-9]+\\.[0-9]+/))))) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null)",
|
|
| 7387 | + "when": "on_success"
|
|
| 7388 | + }
|
|
| 7389 | + ],
|
|
| 7390 | + "script": [
|
|
| 7391 | + "sudo chown ghc:ghc -R .",
|
|
| 7392 | + ".gitlab/ci.sh setup",
|
|
| 7393 | + ".gitlab/ci.sh configure",
|
|
| 7394 | + ".gitlab/ci.sh build_hadrian",
|
|
| 7395 | + ".gitlab/ci.sh test_hadrian"
|
|
| 7396 | + ],
|
|
| 7397 | + "stage": "full-build",
|
|
| 7398 | + "tags": [
|
|
| 7399 | + "x86_64-linux"
|
|
| 7400 | + ],
|
|
| 7401 | + "variables": {
|
|
| 7402 | + "BIGNUM_BACKEND": "gmp",
|
|
| 7403 | + "BIN_DIST_NAME": "ghc-x86_64-linux-fedora43-validate+debug_info+ubsan",
|
|
| 7404 | + "BUILD_FLAVOUR": "validate+debug_info+ubsan",
|
|
| 7405 | + "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 7406 | + "HADRIAN_ARGS": "--docs=none",
|
|
| 7407 | + "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
|
|
| 7408 | + "RUNTEST_ARGS": "",
|
|
| 7409 | + "TEST_ENV": "x86_64-linux-fedora43-validate+debug_info+ubsan",
|
|
| 7410 | + "UBSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.ubsan-suppressions"
|
|
| 7282 | 7411 | }
|
| 7283 | 7412 | },
|
| 7284 | 7413 | "x86_64-linux-rocky8-validate": {
|
| ... | ... | @@ -23,26 +23,26 @@ def job_triple(job_name): |
| 23 | 23 | 'release-x86_64-linux-ubuntu22_04-release': 'x86_64-ubuntu22_04-linux',
|
| 24 | 24 | 'release-x86_64-linux-ubuntu20_04-release': 'x86_64-ubuntu20_04-linux',
|
| 25 | 25 | 'release-x86_64-linux-ubuntu18_04-release': 'x86_64-ubuntu18_04-linux',
|
| 26 | - 'release-x86_64-linux-fedora42-release': 'x86_64-fedora42-linux',
|
|
| 27 | - 'release-x86_64-linux-fedora42-release+debug_info': 'x86_64-fedora42-linux-dwarf',
|
|
| 26 | + 'release-x86_64-linux-fedora43-release': 'x86_64-fedora43-linux',
|
|
| 27 | + 'release-x86_64-linux-fedora43-release+debug_info': 'x86_64-fedora43-linux-dwarf',
|
|
| 28 | 28 | 'release-x86_64-linux-deb12-release': 'x86_64-deb12-linux',
|
| 29 | 29 | 'release-x86_64-linux-deb11-release': 'x86_64-deb11-linux',
|
| 30 | 30 | 'release-x86_64-linux-deb10-release+debug_info': 'x86_64-deb10-linux-dwarf',
|
| 31 | 31 | 'release-x86_64-linux-deb10-release': 'x86_64-deb10-linux',
|
| 32 | 32 | 'release-x86_64-linux-deb9-release': 'x86_64-deb9-linux',
|
| 33 | 33 | 'release-x86_64-linux-alpine3_12-release+fully_static+no_split_sections': 'x86_64-alpine3_12-linux-static',
|
| 34 | - 'release-x86_64-linux-alpine3_22-release+no_split_sections': 'x86_64-alpine3_22-linux',
|
|
| 34 | + 'release-x86_64-linux-alpine3_23-release+no_split_sections': 'x86_64-alpine3_23-linux',
|
|
| 35 | 35 | 'release-x86_64-linux-alpine3_12-int_native-release+fully_static': 'x86_64-alpine3_12-linux-static-int_native',
|
| 36 | 36 | 'release-x86_64-darwin-release': 'x86_64-apple-darwin',
|
| 37 | 37 | 'release-i386-linux-deb12-release': 'i386-deb12-linux',
|
| 38 | 38 | 'release-i386-linux-deb10-release': 'i386-deb10-linux',
|
| 39 | 39 | 'release-i386-linux-deb9-release': 'i386-deb9-linux',
|
| 40 | - 'release-i386-linux-alpine3_22-release+no_split_sections': 'i386-alpine3_22-linux',
|
|
| 40 | + 'release-i386-linux-alpine3_23-release+no_split_sections': 'i386-alpine3_23-linux',
|
|
| 41 | 41 | 'release-armv7-linux-deb10-release': 'armv7-deb10-linux',
|
| 42 | 42 | 'release-aarch64-linux-deb10-release': 'aarch64-deb10-linux',
|
| 43 | 43 | 'release-aarch64-linux-deb11-release': 'aarch64-deb11-linux',
|
| 44 | 44 | 'release-aarch64-linux-deb12-release': 'aarch64-deb12-linux',
|
| 45 | - 'release-aarch64-linux-alpine3_22-release+no_split_sections': 'aarch64-alpine3_22-linux',
|
|
| 45 | + 'release-aarch64-linux-alpine3_23-release+no_split_sections': 'aarch64-alpine3_23-linux',
|
|
| 46 | 46 | 'release-aarch64-darwin-release': 'aarch64-apple-darwin',
|
| 47 | 47 | |
| 48 | 48 | 'source-tarball': 'src',
|
| ... | ... | @@ -200,13 +200,13 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map): |
| 200 | 200 | ubuntu2204 = mk(ubuntu("22_04"))
|
| 201 | 201 | ubuntu2404 = mk(ubuntu("24_04"))
|
| 202 | 202 | rocky8 = mk(rocky("8"))
|
| 203 | - fedora42 = mk(fedora(42))
|
|
| 203 | + fedora43 = mk(fedora(43))
|
|
| 204 | 204 | darwin_x86 = mk(darwin("x86_64"))
|
| 205 | 205 | darwin_arm64 = mk(darwin("aarch64"))
|
| 206 | 206 | windows = mk(windowsArtifact)
|
| 207 | - alpine3_22 = mk(alpine("3_22"))
|
|
| 208 | - alpine3_22_arm64 = mk(alpine("3_22", arch='aarch64'))
|
|
| 209 | - alpine3_22_i386 = mk(alpine("3_22", arch='i386'))
|
|
| 207 | + alpine3_23 = mk(alpine("3_23"))
|
|
| 208 | + alpine3_23_arm64 = mk(alpine("3_23", arch='aarch64'))
|
|
| 209 | + alpine3_23_i386 = mk(alpine("3_23", arch='i386'))
|
|
| 210 | 210 | deb9 = mk(debian(9, "x86_64"))
|
| 211 | 211 | deb10 = mk(debian(10, "x86_64"))
|
| 212 | 212 | deb11 = mk(debian(11, "x86_64"))
|
| ... | ... | @@ -239,13 +239,13 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map): |
| 239 | 239 | , "unknown_versioning": ubuntu2004 }
|
| 240 | 240 | , "Linux_CentOS" : { "( >= 8 && < 9 )" : rocky8
|
| 241 | 241 | , "unknown_versioning" : rocky8 }
|
| 242 | - , "Linux_Fedora" : { ">= 42": fedora42
|
|
| 242 | + , "Linux_Fedora" : { ">= 43": fedora43
|
|
| 243 | 243 | , "unknown_versioning": rocky8 }
|
| 244 | 244 | , "Linux_RedHat" : { "unknown_versioning": rocky8 }
|
| 245 | 245 | , "Linux_UnknownLinux" : { "unknown_versioning": rocky8 }
|
| 246 | 246 | , "Darwin" : { "unknown_versioning" : darwin_x86 }
|
| 247 | 247 | , "Windows" : { "unknown_versioning" : windows }
|
| 248 | - , "Linux_Alpine" : { "unknown_versioning": alpine3_22 }
|
|
| 248 | + , "Linux_Alpine" : { "unknown_versioning": alpine3_23 }
|
|
| 249 | 249 | }
|
| 250 | 250 | |
| 251 | 251 | a32 = { "Linux_Debian": { "( >= 10 && < 12 )": deb10_i386
|
| ... | ... | @@ -253,12 +253,12 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map): |
| 253 | 253 | , "unknown_versioning": deb10_i386 }
|
| 254 | 254 | , "Linux_Ubuntu": { "unknown_versioning": deb10_i386 }
|
| 255 | 255 | , "Linux_Mint" : { "unknown_versioning": deb10_i386 }
|
| 256 | - , "Linux_Alpine" : { "unknown_versioning": alpine3_22_i386 }
|
|
| 256 | + , "Linux_Alpine" : { "unknown_versioning": alpine3_23_i386 }
|
|
| 257 | 257 | , "Linux_UnknownLinux" : { "unknown_versioning": deb10_i386 }
|
| 258 | 258 | }
|
| 259 | 259 | |
| 260 | 260 | arm64 = { "Linux_UnknownLinux": { "unknown_versioning": deb10_arm64 }
|
| 261 | - , "Linux_Alpine" : { "unknown_versioning": alpine3_22_arm64 }
|
|
| 261 | + , "Linux_Alpine" : { "unknown_versioning": alpine3_23_arm64 }
|
|
| 262 | 262 | , "Linux_Debian": { "( >= 10 && < 12 )": deb10_arm64
|
| 263 | 263 | , "( >= 12 )": deb12_arm64
|
| 264 | 264 | , "unknown_versioning": deb10_arm64
|
| ... | ... | @@ -526,7 +526,7 @@ AC_SUBST(InstallNameToolCmd) |
| 526 | 526 | # versions of LLVM simultaneously, but that stopped working around
|
| 527 | 527 | # 3.5/3.6 release of LLVM.
|
| 528 | 528 | LlvmMinVersion=13 # inclusive
|
| 529 | -LlvmMaxVersion=21 # not inclusive
|
|
| 529 | +LlvmMaxVersion=22 # not inclusive
|
|
| 530 | 530 | AC_SUBST([LlvmMinVersion])
|
| 531 | 531 | AC_SUBST([LlvmMaxVersion])
|
| 532 | 532 |
| ... | ... | @@ -238,6 +238,10 @@ The supported transformers are listed below: |
| 238 | 238 | <td><code>thread_sanitizer</code></td>
|
| 239 | 239 | <td>Build the runtime system with ThreadSanitizer support</td>
|
| 240 | 240 | </tr>
|
| 241 | + <tr>
|
|
| 242 | + <td><code>ubsan</code></td>
|
|
| 243 | + <td>Build all stage1+ C/C++ code with UndefinedBehaviorSanitizer support</td>
|
|
| 244 | + </tr>
|
|
| 241 | 245 | <tr>
|
| 242 | 246 | <td><code>llvm</code></td>
|
| 243 | 247 | <td>Use GHC's LLVM backend (`-fllvm`) for all stage1+ compilation.</td>
|
| ... | ... | @@ -7,6 +7,7 @@ module Flavour |
| 7 | 7 | , addArgs
|
| 8 | 8 | , splitSections
|
| 9 | 9 | , enableThreadSanitizer
|
| 10 | + , enableUBSan
|
|
| 10 | 11 | , enableLateCCS
|
| 11 | 12 | , enableHashUnitIds
|
| 12 | 13 | , enableDebugInfo, enableTickyGhc
|
| ... | ... | @@ -33,6 +34,9 @@ import Data.Either |
| 33 | 34 | import Data.Map (Map)
|
| 34 | 35 | import qualified Data.Map as M
|
| 35 | 36 | import qualified Data.Set as Set
|
| 37 | +import GHC.Platform.ArchOS
|
|
| 38 | +import Oracles.Flag
|
|
| 39 | +import Oracles.Setting
|
|
| 36 | 40 | import Packages
|
| 37 | 41 | import Flavour.Type
|
| 38 | 42 | import Settings.Parser
|
| ... | ... | @@ -53,6 +57,7 @@ flavourTransformers = M.fromList |
| 53 | 57 | , "no_split_sections" =: noSplitSections
|
| 54 | 58 | , "thread_sanitizer" =: enableThreadSanitizer False
|
| 55 | 59 | , "thread_sanitizer_cmm" =: enableThreadSanitizer True
|
| 60 | + , "ubsan" =: enableUBSan
|
|
| 56 | 61 | , "llvm" =: viaLlvmBackend
|
| 57 | 62 | , "profiled_ghc" =: enableProfiledGhc
|
| 58 | 63 | , "no_dynamic_ghc" =: disableDynamicGhcPrograms
|
| ... | ... | @@ -258,6 +263,51 @@ enableThreadSanitizer instrumentCmm = addArgs $ notStage0 ? mconcat |
| 258 | 263 | ]
|
| 259 | 264 | ]
|
| 260 | 265 | |
| 266 | +-- | Whether or not -shared-libsan should be passed to clang at
|
|
| 267 | +-- link-time.
|
|
| 268 | +--
|
|
| 269 | +-- See
|
|
| 270 | +-- https://github.com/llvm/llvm-project/blob/llvmorg-21.1.7/clang/lib/Driver/SanitizerArgs.cpp#L1008,
|
|
| 271 | +-- clang defaults to -shared-libsan on darwin/windows and
|
|
| 272 | +-- -static-libsan on linux. In general, -static-libsan is incredibly
|
|
| 273 | +-- problematic when multiple copies of the sanitizer runtimes coexist
|
|
| 274 | +-- in the same address space due to being linked into multiple Haskell
|
|
| 275 | +-- libraries. So we should explicitly specify `-shared-libsan` if
|
|
| 276 | +-- needed.
|
|
| 277 | +--
|
|
| 278 | +-- A small downside of -shared-libsan is the clang-specific sanitizer
|
|
| 279 | +-- runtime shared library path needs to be manually specified via
|
|
| 280 | +-- @export LD_LIBRARY_PATH=$(dirname $(clang -print-libgcc-file-name -rtlib=compiler-rt))@
|
|
| 281 | +-- for ld.so to find it at runtime.
|
|
| 282 | +needSharedLibSAN :: Action Bool
|
|
| 283 | +needSharedLibSAN = do
|
|
| 284 | + is_clang <- flag CcLlvmBackend
|
|
| 285 | + is_default_shared_libsan <- anyTargetOs [OSDarwin, OSMinGW32]
|
|
| 286 | + pure $ is_clang && not is_default_shared_libsan
|
|
| 287 | + |
|
| 288 | +-- | Build all stage1+ C/C++ code with UndefinedBehaviorSanitizer
|
|
| 289 | +-- support:
|
|
| 290 | +-- https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
|
|
| 291 | +enableUBSan :: Flavour -> Flavour
|
|
| 292 | +enableUBSan =
|
|
| 293 | + addArgs $
|
|
| 294 | + notStage0
|
|
| 295 | + ? mconcat
|
|
| 296 | + [ package rts
|
|
| 297 | + ? builder (Cabal Flags)
|
|
| 298 | + ? arg "+ubsan"
|
|
| 299 | + <> (needSharedLibSAN ? arg "+shared-libsan"),
|
|
| 300 | + builder (Ghc CompileHs) ? arg "-optc-fsanitize=undefined",
|
|
| 301 | + builder (Ghc CompileCWithGhc) ? arg "-optc-fsanitize=undefined",
|
|
| 302 | + builder (Ghc CompileCppWithGhc) ? arg "-optcxx-fsanitize=undefined",
|
|
| 303 | + builder (Ghc LinkHs)
|
|
| 304 | + ? arg "-optc-fsanitize=undefined"
|
|
| 305 | + <> arg "-optl-fsanitize=undefined"
|
|
| 306 | + <> (needSharedLibSAN ? arg "-optl-shared-libsan"),
|
|
| 307 | + builder (Cc CompileC) ? arg "-fsanitize=undefined",
|
|
| 308 | + builder Testsuite ? arg "--config=have_ubsan=True"
|
|
| 309 | + ]
|
|
| 310 | + |
|
| 261 | 311 | -- | Use the LLVM backend in stages 1 and later.
|
| 262 | 312 | viaLlvmBackend :: Flavour -> Flavour
|
| 263 | 313 | viaLlvmBackend = addArgs $ notStage0 ? builder Ghc ? arg "-fllvm"
|
| 1 | +# libraries/text/cbits/measure_off.c:50:39: runtime left shift of 1 by 31 places cannot be represented in type 'int'
|
|
| 2 | +shift-base:libraries/text/cbits/measure_off.c
|
|
| 3 | + |
|
| 4 | +# "runtime call to function foo through pointer to incorrect function
|
|
| 5 | +# type" is unfortunately pretty common (e.g. evac_fn in rts) and
|
|
| 6 | +# impact the signal to noise ratio of UBSan warnings. gcc doesn't
|
|
| 7 | +# implement this instrumentation though.
|
|
| 8 | +function:* |
| ... | ... | @@ -274,12 +274,21 @@ See also Note [Width of parameters] for some more motivation. |
| 274 | 274 | |
| 275 | 275 | #define W64_TO_WDS(n) ((n * sizeof(StgWord64) / sizeof(StgWord)))
|
| 276 | 276 | |
| 277 | +// Returns a pointer to the stack location.
|
|
| 278 | +#define SafeSpWP(n) \
|
|
| 279 | + ( ((WITHIN_CAP_CHUNK_BOUNDS_W(n)) ? Sp_plusW(n) : slow_spw(Sp, cap->r.rCurrentTSO->stackobj, n)))
|
|
| 280 | +#define SafeSpBP(off_w) \
|
|
| 281 | + ( (WITHIN_CAP_CHUNK_BOUNDS_W((1+(off_w))/sizeof(StgWord))) ? \
|
|
| 282 | + Sp_plusB(off_w) : \
|
|
| 283 | + (void*)((ptrdiff_t)((ptrdiff_t)(off_w) % (ptrdiff_t)sizeof(StgWord)) + (StgWord8*)slow_spw(Sp, cap->r.rCurrentTSO->stackobj, (off_w)/sizeof(StgWord))) \
|
|
| 284 | + )
|
|
| 285 | + |
|
| 277 | 286 | // Always safe to use - Return the value at the address
|
| 278 | 287 | #define ReadSpW(n) (*((StgWord*) SafeSpWP(n)))
|
| 279 | 288 | //Argument is offset in multiples of word64
|
| 280 | 289 | #define ReadSpW64(n) (*((StgWord64*) SafeSpWP(W64_TO_WDS(n))))
|
| 281 | 290 | // Perhaps confusingly this still reads a full word, merely the offset is in bytes.
|
| 282 | -#define ReadSpB(n) (*((StgWord*) SafeSpBP(n)))
|
|
| 291 | +#define ReadSpB(n) (*((StgUnalignedWord*) SafeSpBP(n)))
|
|
| 283 | 292 | |
| 284 | 293 | /* Note [PUSH_L underflow]
|
| 285 | 294 | ~~~~~~~~~~~~~~~~~~~~~~~
|
| ... | ... | @@ -326,15 +335,6 @@ See ticket #25750 |
| 326 | 335 | |
| 327 | 336 | */
|
| 328 | 337 | |
| 329 | -// Returns a pointer to the stack location.
|
|
| 330 | -#define SafeSpWP(n) \
|
|
| 331 | - ( ((WITHIN_CAP_CHUNK_BOUNDS_W(n)) ? Sp_plusW(n) : slow_spw(Sp, cap->r.rCurrentTSO->stackobj, n)))
|
|
| 332 | -#define SafeSpBP(off_w) \
|
|
| 333 | - ( (WITHIN_CAP_CHUNK_BOUNDS_W((1+(off_w))/sizeof(StgWord))) ? \
|
|
| 334 | - Sp_plusB(off_w) : \
|
|
| 335 | - (void*)((ptrdiff_t)((ptrdiff_t)(off_w) % (ptrdiff_t)sizeof(StgWord)) + (StgWord8*)slow_spw(Sp, cap->r.rCurrentTSO->stackobj, (off_w)/sizeof(StgWord))) \
|
|
| 336 | - )
|
|
| 337 | - |
|
| 338 | 338 | |
| 339 | 339 | |
| 340 | 340 | /* Note [Interpreter subword primops]
|
| ... | ... | @@ -2904,57 +2904,106 @@ run_BCO: |
| 2904 | 2904 | NEXT_INSTRUCTION; \
|
| 2905 | 2905 | }
|
| 2906 | 2906 | |
| 2907 | +/* Note [Cmm arithmetic in interpretBCO]
|
|
| 2908 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
| 2909 | + |
|
| 2910 | +interpretBCO implements Cmm arithmetic primops by loading operands
|
|
| 2911 | +from the stack as C integers, applying C arithmetic operation, then
|
|
| 2912 | +storing the result back to the stack. But there are subtle differences
|
|
| 2913 | +in Cmm and C arithmetic operations:
|
|
| 2914 | + |
|
| 2915 | +- The Cmm type system only tracks operand sizes for integer types, and
|
|
| 2916 | + doesn't track signedness (#20652)
|
|
| 2917 | +- Cmm arithmetic operations are allowed to overflow based on two's
|
|
| 2918 | + complement wrap-around semantics
|
|
| 2919 | + |
|
| 2920 | +Meanwhile in C:
|
|
| 2921 | + |
|
| 2922 | +- The C type system tracks signedness
|
|
| 2923 | +- Signed overflow is undefined behavior
|
|
| 2924 | +- Subword operands are implicitly promoted to int
|
|
| 2925 | + |
|
| 2926 | +Consider an example where we do an `MO_Mul W16` on both 0xFFFF.
|
|
| 2927 | +Previously we would load each operand as a word, cast to a subword and
|
|
| 2928 | +do the multiplication. But C actually does multiplication on int,
|
|
| 2929 | +which is 32-bit on most platforms, and now a signed overflow occurs!
|
|
| 2930 | + |
|
| 2931 | +To perform Cmm arithmetic without tripping on C undefined behavior, we
|
|
| 2932 | +now:
|
|
| 2933 | + |
|
| 2934 | +- Always specify unsigned C operand type for the Cmm primop, unless
|
|
| 2935 | + signed operand is absolutely needed for correctness (e.g. signed
|
|
| 2936 | + comparison or right shift)
|
|
| 2937 | +- Explicitly promote operands to a C type no smaller than a host word,
|
|
| 2938 | + so either StgInt or StgWord, depending on the signedness of ty,
|
|
| 2939 | + hence the TYPE_IS_SIGNED macro
|
|
| 2940 | +*/
|
|
| 2941 | + |
|
| 2942 | +#define TYPE_IS_SIGNED(ty) ((ty)-1 < (ty)1)
|
|
| 2943 | + |
|
| 2907 | 2944 | // op :: ty -> ty -> ty
|
| 2908 | 2945 | #define SIZED_BIN_OP(op,ty) \
|
| 2909 | 2946 | { \
|
| 2910 | 2947 | if(sizeof(ty) == 8) { \
|
| 2911 | - ty r = ((ty) ReadSpW64(0)) op ((ty) ReadSpW64(1)); \
|
|
| 2948 | + ty r = ((ty) ReadSpW64(0)) op ((ty) ReadSpW64(1)); \
|
|
| 2912 | 2949 | Sp_addW64(1); \
|
| 2913 | 2950 | SpW64(0) = (StgWord64) r; \
|
| 2951 | + } else if (TYPE_IS_SIGNED(ty)) { \
|
|
| 2952 | + ty r = ((StgInt)(ty)ReadSpW(0)) op ((StgInt)(ty)ReadSpW(1)); \
|
|
| 2953 | + Sp_addW(1); \
|
|
| 2954 | + SpW(0) = (StgWord) r; \
|
|
| 2914 | 2955 | } else { \
|
| 2915 | - ty r = ((ty) ReadSpW(0)) op ((ty) ReadSpW(1)); \
|
|
| 2956 | + ty r = ((StgWord)(ty)ReadSpW(0)) op ((StgWord)(ty)ReadSpW(1)); \
|
|
| 2916 | 2957 | Sp_addW(1); \
|
| 2917 | 2958 | SpW(0) = (StgWord) r; \
|
| 2918 | 2959 | }; \
|
| 2919 | - NEXT_INSTRUCTION; \
|
|
| 2960 | + NEXT_INSTRUCTION; \
|
|
| 2920 | 2961 | }
|
| 2921 | 2962 | |
| 2922 | 2963 | // op :: ty -> Int -> ty
|
| 2923 | -#define SIZED_BIN_OP_TY_INT(op,ty) \
|
|
| 2924 | -{ \
|
|
| 2925 | - if(sizeof(ty) > sizeof(StgWord)) { \
|
|
| 2926 | - ty r = ((ty) ReadSpW64(0)) op ((StgInt) ReadSpW(2)); \
|
|
| 2927 | - Sp_addW(1); \
|
|
| 2928 | - SpW64(0) = (StgWord64) r; \
|
|
| 2929 | - } else { \
|
|
| 2930 | - ty r = ((ty) ReadSpW(0)) op ((StgInt) ReadSpW(1)); \
|
|
| 2931 | - Sp_addW(1); \
|
|
| 2932 | - SpW(0) = (StgWord) r; \
|
|
| 2933 | - }; \
|
|
| 2934 | - NEXT_INSTRUCTION; \
|
|
| 2964 | +#define SIZED_BIN_OP_TY_INT(op,ty) \
|
|
| 2965 | +{ \
|
|
| 2966 | + if(sizeof(ty) > sizeof(StgWord)) { \
|
|
| 2967 | + ty r = ((ty) ReadSpW64(0)) op ((StgInt) ReadSpW(2)); \
|
|
| 2968 | + Sp_addW(1); \
|
|
| 2969 | + SpW64(0) = (StgWord64) r; \
|
|
| 2970 | + } else if (TYPE_IS_SIGNED(ty)) { \
|
|
| 2971 | + ty r = ((StgInt)(ty) ReadSpW(0)) op ((StgInt) ReadSpW(1)); \
|
|
| 2972 | + Sp_addW(1); \
|
|
| 2973 | + SpW(0) = (StgWord) r; \
|
|
| 2974 | + } else { \
|
|
| 2975 | + ty r = ((StgWord)(ty) ReadSpW(0)) op ((StgInt) ReadSpW(1)); \
|
|
| 2976 | + Sp_addW(1); \
|
|
| 2977 | + SpW(0) = (StgWord) r; \
|
|
| 2978 | + }; \
|
|
| 2979 | + NEXT_INSTRUCTION; \
|
|
| 2935 | 2980 | }
|
| 2936 | 2981 | |
| 2937 | 2982 | // op :: ty -> ty -> Int
|
| 2938 | -#define SIZED_BIN_OP_TY_TY_INT(op,ty) \
|
|
| 2939 | -{ \
|
|
| 2940 | - if(sizeof(ty) > sizeof(StgWord)) { \
|
|
| 2941 | - ty r = ((ty) ReadSpW64(0)) op ((ty) ReadSpW64(1)); \
|
|
| 2942 | - Sp_addW(3); \
|
|
| 2943 | - SpW(0) = (StgWord) r; \
|
|
| 2944 | - } else { \
|
|
| 2945 | - ty r = ((ty) ReadSpW(0)) op ((ty) ReadSpW(1)); \
|
|
| 2946 | - Sp_addW(1); \
|
|
| 2947 | - SpW(0) = (StgWord) r; \
|
|
| 2948 | - }; \
|
|
| 2949 | - NEXT_INSTRUCTION; \
|
|
| 2983 | +#define SIZED_BIN_OP_TY_TY_INT(op,ty) \
|
|
| 2984 | +{ \
|
|
| 2985 | + if(sizeof(ty) > sizeof(StgWord)) { \
|
|
| 2986 | + StgInt r = ((ty) ReadSpW64(0)) op ((ty) ReadSpW64(1)); \
|
|
| 2987 | + Sp_addW(3); \
|
|
| 2988 | + SpW(0) = (StgWord) r; \
|
|
| 2989 | + } else if (TYPE_IS_SIGNED(ty)) { \
|
|
| 2990 | + StgInt r = ((StgInt)(ty) ReadSpW(0)) op ((StgInt)(ty) ReadSpW(1)); \
|
|
| 2991 | + Sp_addW(1); \
|
|
| 2992 | + SpW(0) = (StgWord) r; \
|
|
| 2993 | + } else { \
|
|
| 2994 | + StgInt r = ((StgWord)(ty) ReadSpW(0)) op ((StgWord)(ty) ReadSpW(1)); \
|
|
| 2995 | + Sp_addW(1); \
|
|
| 2996 | + SpW(0) = (StgWord) r; \
|
|
| 2997 | + }; \
|
|
| 2998 | + NEXT_INSTRUCTION; \
|
|
| 2950 | 2999 | }
|
| 2951 | 3000 | |
| 2952 | - INSTRUCTION(bci_OP_ADD_64): SIZED_BIN_OP(+, StgInt64)
|
|
| 2953 | - INSTRUCTION(bci_OP_SUB_64): SIZED_BIN_OP(-, StgInt64)
|
|
| 2954 | - INSTRUCTION(bci_OP_AND_64): SIZED_BIN_OP(&, StgInt64)
|
|
| 2955 | - INSTRUCTION(bci_OP_XOR_64): SIZED_BIN_OP(^, StgInt64)
|
|
| 2956 | - INSTRUCTION(bci_OP_OR_64): SIZED_BIN_OP(|, StgInt64)
|
|
| 2957 | - INSTRUCTION(bci_OP_MUL_64): SIZED_BIN_OP(*, StgInt64)
|
|
| 3001 | + INSTRUCTION(bci_OP_ADD_64): SIZED_BIN_OP(+, StgWord64)
|
|
| 3002 | + INSTRUCTION(bci_OP_SUB_64): SIZED_BIN_OP(-, StgWord64)
|
|
| 3003 | + INSTRUCTION(bci_OP_AND_64): SIZED_BIN_OP(&, StgWord64)
|
|
| 3004 | + INSTRUCTION(bci_OP_XOR_64): SIZED_BIN_OP(^, StgWord64)
|
|
| 3005 | + INSTRUCTION(bci_OP_OR_64): SIZED_BIN_OP(|, StgWord64)
|
|
| 3006 | + INSTRUCTION(bci_OP_MUL_64): SIZED_BIN_OP(*, StgWord64)
|
|
| 2958 | 3007 | INSTRUCTION(bci_OP_SHL_64): SIZED_BIN_OP_TY_INT(<<, StgWord64)
|
| 2959 | 3008 | INSTRUCTION(bci_OP_LSR_64): SIZED_BIN_OP_TY_INT(>>, StgWord64)
|
| 2960 | 3009 | INSTRUCTION(bci_OP_ASR_64): SIZED_BIN_OP_TY_INT(>>, StgInt64)
|
| ... | ... | @@ -2972,15 +3021,15 @@ run_BCO: |
| 2972 | 3021 | INSTRUCTION(bci_OP_S_LE_64): SIZED_BIN_OP_TY_TY_INT(<=, StgInt64)
|
| 2973 | 3022 | |
| 2974 | 3023 | INSTRUCTION(bci_OP_NOT_64): UN_SIZED_OP(~, StgWord64)
|
| 2975 | - INSTRUCTION(bci_OP_NEG_64): UN_SIZED_OP(-, StgInt64)
|
|
| 3024 | + INSTRUCTION(bci_OP_NEG_64): UN_SIZED_OP(-, StgWord64)
|
|
| 2976 | 3025 | |
| 2977 | 3026 | |
| 2978 | - INSTRUCTION(bci_OP_ADD_32): SIZED_BIN_OP(+, StgInt32)
|
|
| 2979 | - INSTRUCTION(bci_OP_SUB_32): SIZED_BIN_OP(-, StgInt32)
|
|
| 2980 | - INSTRUCTION(bci_OP_AND_32): SIZED_BIN_OP(&, StgInt32)
|
|
| 2981 | - INSTRUCTION(bci_OP_XOR_32): SIZED_BIN_OP(^, StgInt32)
|
|
| 2982 | - INSTRUCTION(bci_OP_OR_32): SIZED_BIN_OP(|, StgInt32)
|
|
| 2983 | - INSTRUCTION(bci_OP_MUL_32): SIZED_BIN_OP(*, StgInt32)
|
|
| 3027 | + INSTRUCTION(bci_OP_ADD_32): SIZED_BIN_OP(+, StgWord32)
|
|
| 3028 | + INSTRUCTION(bci_OP_SUB_32): SIZED_BIN_OP(-, StgWord32)
|
|
| 3029 | + INSTRUCTION(bci_OP_AND_32): SIZED_BIN_OP(&, StgWord32)
|
|
| 3030 | + INSTRUCTION(bci_OP_XOR_32): SIZED_BIN_OP(^, StgWord32)
|
|
| 3031 | + INSTRUCTION(bci_OP_OR_32): SIZED_BIN_OP(|, StgWord32)
|
|
| 3032 | + INSTRUCTION(bci_OP_MUL_32): SIZED_BIN_OP(*, StgWord32)
|
|
| 2984 | 3033 | INSTRUCTION(bci_OP_SHL_32): SIZED_BIN_OP_TY_INT(<<, StgWord32)
|
| 2985 | 3034 | INSTRUCTION(bci_OP_LSR_32): SIZED_BIN_OP_TY_INT(>>, StgWord32)
|
| 2986 | 3035 | INSTRUCTION(bci_OP_ASR_32): SIZED_BIN_OP_TY_INT(>>, StgInt32)
|
| ... | ... | @@ -2998,15 +3047,15 @@ run_BCO: |
| 2998 | 3047 | INSTRUCTION(bci_OP_S_LE_32): SIZED_BIN_OP_TY_TY_INT(<=, StgInt32)
|
| 2999 | 3048 | |
| 3000 | 3049 | INSTRUCTION(bci_OP_NOT_32): UN_SIZED_OP(~, StgWord32)
|
| 3001 | - INSTRUCTION(bci_OP_NEG_32): UN_SIZED_OP(-, StgInt32)
|
|
| 3050 | + INSTRUCTION(bci_OP_NEG_32): UN_SIZED_OP(-, StgWord32)
|
|
| 3002 | 3051 | |
| 3003 | 3052 | |
| 3004 | - INSTRUCTION(bci_OP_ADD_16): SIZED_BIN_OP(+, StgInt16)
|
|
| 3005 | - INSTRUCTION(bci_OP_SUB_16): SIZED_BIN_OP(-, StgInt16)
|
|
| 3006 | - INSTRUCTION(bci_OP_AND_16): SIZED_BIN_OP(&, StgInt16)
|
|
| 3007 | - INSTRUCTION(bci_OP_XOR_16): SIZED_BIN_OP(^, StgInt16)
|
|
| 3008 | - INSTRUCTION(bci_OP_OR_16): SIZED_BIN_OP(|, StgInt16)
|
|
| 3009 | - INSTRUCTION(bci_OP_MUL_16): SIZED_BIN_OP(*, StgInt16)
|
|
| 3053 | + INSTRUCTION(bci_OP_ADD_16): SIZED_BIN_OP(+, StgWord16)
|
|
| 3054 | + INSTRUCTION(bci_OP_SUB_16): SIZED_BIN_OP(-, StgWord16)
|
|
| 3055 | + INSTRUCTION(bci_OP_AND_16): SIZED_BIN_OP(&, StgWord16)
|
|
| 3056 | + INSTRUCTION(bci_OP_XOR_16): SIZED_BIN_OP(^, StgWord16)
|
|
| 3057 | + INSTRUCTION(bci_OP_OR_16): SIZED_BIN_OP(|, StgWord16)
|
|
| 3058 | + INSTRUCTION(bci_OP_MUL_16): SIZED_BIN_OP(*, StgWord16)
|
|
| 3010 | 3059 | INSTRUCTION(bci_OP_SHL_16): SIZED_BIN_OP_TY_INT(<<, StgWord16)
|
| 3011 | 3060 | INSTRUCTION(bci_OP_LSR_16): SIZED_BIN_OP_TY_INT(>>, StgWord16)
|
| 3012 | 3061 | INSTRUCTION(bci_OP_ASR_16): SIZED_BIN_OP_TY_INT(>>, StgInt16)
|
| ... | ... | @@ -3024,15 +3073,15 @@ run_BCO: |
| 3024 | 3073 | INSTRUCTION(bci_OP_S_LE_16): SIZED_BIN_OP(<=, StgInt16)
|
| 3025 | 3074 | |
| 3026 | 3075 | INSTRUCTION(bci_OP_NOT_16): UN_SIZED_OP(~, StgWord16)
|
| 3027 | - INSTRUCTION(bci_OP_NEG_16): UN_SIZED_OP(-, StgInt16)
|
|
| 3076 | + INSTRUCTION(bci_OP_NEG_16): UN_SIZED_OP(-, StgWord16)
|
|
| 3028 | 3077 | |
| 3029 | 3078 | |
| 3030 | - INSTRUCTION(bci_OP_ADD_08): SIZED_BIN_OP(+, StgInt8)
|
|
| 3031 | - INSTRUCTION(bci_OP_SUB_08): SIZED_BIN_OP(-, StgInt8)
|
|
| 3032 | - INSTRUCTION(bci_OP_AND_08): SIZED_BIN_OP(&, StgInt8)
|
|
| 3033 | - INSTRUCTION(bci_OP_XOR_08): SIZED_BIN_OP(^, StgInt8)
|
|
| 3034 | - INSTRUCTION(bci_OP_OR_08): SIZED_BIN_OP(|, StgInt8)
|
|
| 3035 | - INSTRUCTION(bci_OP_MUL_08): SIZED_BIN_OP(*, StgInt8)
|
|
| 3079 | + INSTRUCTION(bci_OP_ADD_08): SIZED_BIN_OP(+, StgWord8)
|
|
| 3080 | + INSTRUCTION(bci_OP_SUB_08): SIZED_BIN_OP(-, StgWord8)
|
|
| 3081 | + INSTRUCTION(bci_OP_AND_08): SIZED_BIN_OP(&, StgWord8)
|
|
| 3082 | + INSTRUCTION(bci_OP_XOR_08): SIZED_BIN_OP(^, StgWord8)
|
|
| 3083 | + INSTRUCTION(bci_OP_OR_08): SIZED_BIN_OP(|, StgWord8)
|
|
| 3084 | + INSTRUCTION(bci_OP_MUL_08): SIZED_BIN_OP(*, StgWord8)
|
|
| 3036 | 3085 | INSTRUCTION(bci_OP_SHL_08): SIZED_BIN_OP_TY_INT(<<, StgWord8)
|
| 3037 | 3086 | INSTRUCTION(bci_OP_LSR_08): SIZED_BIN_OP_TY_INT(>>, StgWord8)
|
| 3038 | 3087 | INSTRUCTION(bci_OP_ASR_08): SIZED_BIN_OP_TY_INT(>>, StgInt8)
|
| ... | ... | @@ -3050,7 +3099,7 @@ run_BCO: |
| 3050 | 3099 | INSTRUCTION(bci_OP_S_LE_08): SIZED_BIN_OP_TY_TY_INT(<=, StgInt8)
|
| 3051 | 3100 | |
| 3052 | 3101 | INSTRUCTION(bci_OP_NOT_08): UN_SIZED_OP(~, StgWord8)
|
| 3053 | - INSTRUCTION(bci_OP_NEG_08): UN_SIZED_OP(-, StgInt8)
|
|
| 3102 | + INSTRUCTION(bci_OP_NEG_08): UN_SIZED_OP(-, StgWord8)
|
|
| 3054 | 3103 | |
| 3055 | 3104 | INSTRUCTION(bci_OP_INDEX_ADDR_64):
|
| 3056 | 3105 | {
|
| ... | ... | @@ -3130,7 +3179,7 @@ run_BCO: |
| 3130 | 3179 | StgPtr p;
|
| 3131 | 3180 | W_ ret[2]; // max needed
|
| 3132 | 3181 | W_ *arguments[stk_offset]; // max needed
|
| 3133 | - void *argptrs[nargs];
|
|
| 3182 | + void *argptrs[nargs > 0 ? nargs : 1]; // the size of a variable length array must be positive
|
|
| 3134 | 3183 | void (*fn)(void);
|
| 3135 | 3184 | |
| 3136 | 3185 | if (cif->rtype == &ffi_type_void) {
|
| ... | ... | @@ -147,6 +147,8 @@ typedef uint16_t StgHalfWord; |
| 147 | 147 | #error GHC untested on this architecture: sizeof(void *) != 4 or 8
|
| 148 | 148 | #endif
|
| 149 | 149 | |
| 150 | +typedef StgWord StgUnalignedWord __attribute__((aligned(1)));
|
|
| 151 | + |
|
| 150 | 152 | #define W_MASK (sizeof(W_)-1)
|
| 151 | 153 | |
| 152 | 154 | /*
|
| ... | ... | @@ -91,6 +91,19 @@ flag thread-sanitizer |
| 91 | 91 | in @rts/include/rts/TSANUtils.h@.
|
| 92 | 92 | default: False
|
| 93 | 93 | manual: True
|
| 94 | +flag ubsan
|
|
| 95 | + description:
|
|
| 96 | + Link with -fsanitize=undefined, to be enabled when building with
|
|
| 97 | + UndefinedBehaviorSanitizer.
|
|
| 98 | + default: False
|
|
| 99 | + manual: True
|
|
| 100 | +flag shared-libsan
|
|
| 101 | + description:
|
|
| 102 | + Link with -shared-libsan, to guarantee only one copy of the
|
|
| 103 | + sanitizer runtimes exist in the address space. See
|
|
| 104 | + needSharedLibSAN in hadrian/src/Flavour.hs.
|
|
| 105 | + default: False
|
|
| 106 | + manual: True
|
|
| 94 | 107 | |
| 95 | 108 | library
|
| 96 | 109 | -- rts is a wired in package and
|
| ... | ... | @@ -200,6 +213,12 @@ library |
| 200 | 213 | cc-options: -fsanitize=thread
|
| 201 | 214 | ld-options: -fsanitize=thread
|
| 202 | 215 | |
| 216 | + if flag(ubsan)
|
|
| 217 | + ld-options: -fsanitize=undefined
|
|
| 218 | + |
|
| 219 | + if flag(shared-libsan)
|
|
| 220 | + ld-options: -shared-libsan
|
|
| 221 | + |
|
| 203 | 222 | if os(linux)
|
| 204 | 223 | -- the RTS depends upon libc. while this dependency is generally
|
| 205 | 224 | -- implicitly added by `cc`, we must explicitly add it here to ensure
|
| ... | ... | @@ -186,6 +186,9 @@ class TestConfig: |
| 186 | 186 | # Are we running in a ThreadSanitizer-instrumented build?
|
| 187 | 187 | self.have_thread_sanitizer = False
|
| 188 | 188 | |
| 189 | + # Are we running with UndefinedBehaviorSanitizer enabled?
|
|
| 190 | + self.have_ubsan = False
|
|
| 191 | + |
|
| 189 | 192 | # Do symbols use leading underscores?
|
| 190 | 193 | self.leading_underscore = False
|
| 191 | 194 |
| ... | ... | @@ -1090,6 +1090,8 @@ def llvm_build ( ) -> bool: |
| 1090 | 1090 | def have_thread_sanitizer( ) -> bool:
|
| 1091 | 1091 | return config.have_thread_sanitizer
|
| 1092 | 1092 | |
| 1093 | +def have_ubsan( ) -> bool:
|
|
| 1094 | + return config.have_ubsan
|
|
| 1093 | 1095 | |
| 1094 | 1096 | def gcc_as_cmmp() -> bool:
|
| 1095 | 1097 | return config.cmm_cpp_is_gcc
|