@@ -43,13 +43,15 @@ let
4343 kill $RISERV_PID
4444 '';
4545 configureFlags = lib.optional hostPlatform.isAarch32 "--disable-split-sections";
46− setupBuildFlags = map (opt: "--ghc-option=" + opt) (lib.optionals isLinuxCross
46+ setupBuildFlags = map (opt: "--ghc-option=" + opt) ((lib.optionals isLinuxCross
4747 [ "-fexternal-interpreter"
4848 "-pgmi" "${qemuIservWrapper}/bin/iserv-wrapper"
4949 "-L${gmp}/lib"
50− ]) ++ lib.optionals hostPlatform.isAarch32 (map (opt: "--gcc-option=" + opt) [ "-fno-pic" "-fno-plt" ])
51− # Required to work-around https://gitlab.haskell.org/ghc/ghc/issues/15275
52− ++ lib.optionals hostPlatform.isAarch64 [ "-fPIC" "--gcc-option=-fPIC" ];
50+ # Required to work-around https://gitlab.haskell.org/ghc/ghc/issues/15275
51+ ] ++ lib.optionals hostPlatform.isAarch64 ["-fPIC"]))
52+ ++ lib.optionals hostPlatform.isAarch32 (map (opt: "--gcc-option=" + opt) [ "-fno-pic" "-fno-plt" ])
53+ # Also for GHC #15275
54+ ++ lib.optionals hostPlatform.isAarch64 ["--gcc-option=-fPIC"];
5355 qemuTestWrapper = writeScriptBin "test-wrapper" ''
5456 #!${stdenv.shell}
5557 set -euo pipefail