summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-08-07 04:33:58 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-08-10 09:45:22 -0400
commit5bc489cac104717f09be73f2b578719bcc1e3fcb (patch)
treee53516da9f7f2287291406b06ecbf786348d0b62
parentf95bbdcae3e6710a92dd8244321677eef91890de (diff)
downloadhaskell-5bc489cac104717f09be73f2b578719bcc1e3fcb.tar.gz
gitlab-ci: Fix ARMv7 build
It appears that the CI refactoring carried out in 5ff690b8474c74e9c968ef31e568c1ad0fe719a1 failed to carry over some critical configuration: setting the build/host/target platforms and forcing use of a non-broken linker.
-rwxr-xr-x.gitlab/gen_ci.hs11
-rw-r--r--.gitlab/jobs.yaml15
2 files changed, 21 insertions, 5 deletions
diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs
index 2e373121f2..41fbcc105c 100755
--- a/.gitlab/gen_ci.hs
+++ b/.gitlab/gen_ci.hs
@@ -325,8 +325,15 @@ opsysVariables _ FreeBSD13 = mconcat
]
opsysVariables ARMv7 (Linux distro) =
distroVariables distro <>
- mconcat [ -- ld.gold is affected by #16177 and therefore cannot be used.
- "CONFIGURE_ARGS" =: "LD=ld.lld"
+ mconcat [ "CONFIGURE_ARGS" =: "--host=armv7-linux-gnueabihf --build=armv7-linux-gnueabihf --target=armv7-linux-gnueabihf"
+ -- N.B. We disable ld.lld explicitly here because it appears to fail
+ -- non-deterministically on ARMv7. See #18280.
+ , "LD" =: "ld.gold"
+ , "GccUseLdOpt" =: "-fuse-ld=gold"
+ -- Awkwardly, this appears to be necessary to work around a
+ -- live-lock exhibited by the CPython (at least in 3.9 and 3.8)
+ -- interpreter on ARMv7
+ , "HADRIAN_ARGS" =: "--test-verbose=3"
]
opsysVariables _ (Linux distro) = distroVariables distro
opsysVariables AArch64 (Darwin {}) =
diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml
index b8fff93bf4..ab55f0ac27 100644
--- a/.gitlab/jobs.yaml
+++ b/.gitlab/jobs.yaml
@@ -232,7 +232,10 @@
"BIGNUM_BACKEND": "gmp",
"BIN_DIST_NAME": "ghc-armv7-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "LD=ld.lld ",
+ "CONFIGURE_ARGS": "--host=armv7-linux-gnueabihf --build=armv7-linux-gnueabihf --target=armv7-linux-gnueabihf ",
+ "GccUseLdOpt": "-fuse-ld=gold",
+ "HADRIAN_ARGS": "--test-verbose=3",
+ "LD": "ld.gold",
"TEST_ENV": "armv7-linux-deb10-validate"
}
},
@@ -529,7 +532,10 @@
"BIGNUM_BACKEND": "gmp",
"BIN_DIST_NAME": "ghc-armv7-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
- "CONFIGURE_ARGS": "LD=ld.lld ",
+ "CONFIGURE_ARGS": "--host=armv7-linux-gnueabihf --build=armv7-linux-gnueabihf --target=armv7-linux-gnueabihf ",
+ "GccUseLdOpt": "-fuse-ld=gold",
+ "HADRIAN_ARGS": "--test-verbose=3",
+ "LD": "ld.gold",
"TEST_ENV": "armv7-linux-deb10-validate",
"XZ_OPT": "-9"
}
@@ -2156,8 +2162,11 @@
"BIGNUM_BACKEND": "gmp",
"BIN_DIST_NAME": "ghc-armv7-linux-deb10-release",
"BUILD_FLAVOUR": "release",
- "CONFIGURE_ARGS": "LD=ld.lld ",
+ "CONFIGURE_ARGS": "--host=armv7-linux-gnueabihf --build=armv7-linux-gnueabihf --target=armv7-linux-gnueabihf ",
+ "GccUseLdOpt": "-fuse-ld=gold",
+ "HADRIAN_ARGS": "--test-verbose=3",
"IGNORE_PERF_FAILURES": "all",
+ "LD": "ld.gold",
"TEST_ENV": "armv7-linux-deb10-release",
"XZ_OPT": "-9"
}