diff --git a/overlays/bootstrap.nix b/overlays/bootstrap.nix index fdbcfdd429..6bb858a820 100644 --- a/overlays/bootstrap.nix +++ b/overlays/bootstrap.nix @@ -144,7 +144,7 @@ in { ++ fromUntil "8.6.5" "8.9" ./patches/ghc/ghc-8.6.5-atomic-arm-arch.patch ++ final.lib.optional (version == "8.6.5") ./patches/ghc/MR3214-writable-rel-ro-data.patch ++ final.lib.optional (version == "8.8.1") ./patches/ghc/ghc-8.8.1-reinstallable-lib-ghc.patch - ++ fromUntil "8.8.2" "8.9" ./patches/ghc/ghc-8.8.2-reinstallable-lib-ghc.patch + ++ fromUntil "8.8.2" "8.9" ./patches/ghc/ghc-8.8.2-reinstallable-lib-ghc.patch ++ final.lib.optional (version == "8.6.4") ./patches/ghc/ghc-8.6.4-better-plusSimplCountErrors.patch ++ final.lib.optional (versionAtLeast "8.6.4" && versionLessThan "9.0" && final.stdenv.isDarwin) ./patches/ghc/ghc-macOS-loadArchive-fix.patch ++ final.lib.optional (versionAtLeast "8.4.4" && versionLessThan "8.10" && final.stdenv.isDarwin) ./patches/ghc/ghc-darwin-gcc-version-fix.patch diff --git a/overlays/linux-cross.nix b/overlays/linux-cross.nix index 4a262f3702..c1c92115e8 100644 --- a/overlays/linux-cross.nix +++ b/overlays/linux-cross.nix @@ -35,22 +35,23 @@ let unset configureFlags PORT=$((5000 + $RANDOM % 5000)) (>&2 echo "---> Starting remote-iserv on port $PORT") - ${qemu}/bin/qemu-${qemuSuffix} ${remote-iserv.override { enableDebugRTS = true; enableDWARF = true; }}/bin/remote-iserv tmp $PORT & + ${qemu}/bin/qemu-${qemuSuffix} ${remote-iserv}/bin/remote-iserv tmp $PORT & (>&2 echo "---| remote-iserv should have started on $PORT") RISERV_PID="$!" ${iserv-proxy}/bin/iserv-proxy $@ 127.0.0.1 "$PORT" - (>&2 echo "---> killing remote-iserv...") + (>&2 echo "---> killing remote-iserve...") kill $RISERV_PID ''; configureFlags = lib.optional hostPlatform.isAarch32 "--disable-split-sections"; - setupBuildFlags = (map (opt: "--ghc-option=" + opt) (lib.optionals isLinuxCross + setupBuildFlags = map (opt: "--ghc-option=" + opt) ((lib.optionals isLinuxCross [ "-fexternal-interpreter" "-pgmi" "${qemuIservWrapper}/bin/iserv-wrapper" "-L${gmp}/lib" # Required to work-around https://gitlab.haskell.org/ghc/ghc/issues/15275 - ])) ++ (map (opt: "--gcc-option=" + opt) (lib.optionals (hostPlatform.isAarch32 || hostPlatform.isAarch64) - [ "-fPIC" "-fno-plt" ])); - + ] ++ lib.optionals hostPlatform.isAarch64 ["-fPIC"])) + ++ lib.optionals hostPlatform.isAarch32 (map (opt: "--gcc-option=" + opt) [ "-fno-pic" "-fno-plt" ]) + # Also for GHC #15275 + ++ lib.optionals hostPlatform.isAarch64 ["--gcc-option=-fPIC"]; qemuTestWrapper = writeScriptBin "test-wrapper" '' #!${stdenv.shell} set -euo pipefail diff --git a/overlays/musl.nix b/overlays/musl.nix index 9544923742..2befc2bff1 100644 --- a/overlays/musl.nix +++ b/overlays/musl.nix @@ -3,7 +3,7 @@ final: prev: prev.lib.optionalAttrs prev.stdenv.hostPlatform.isMusl ({ busybox-sandbox-shell = prev.busybox-sandbox-shell.override { inherit (final) busybox; }; # we don't want the static output to be split. That just - # messes with the z -> libz mapping. We can't have a conditonal + # messes with the z -> libz mapping. We can't have a conditional # z -> libz / z -> libz.static mapping without threading the # package configuration in. That seems a bit overkill. zlib = prev.zlib.override { splitStaticOutput = false; };