From 2717ee493cc799b27a0984c6422c19bd3513fe5b Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 30 Nov 2021 02:45:18 +0100 Subject: [PATCH] haskell.compiler.ghc921: check if ld.gold is available in useLdGold Since 4c75874560d114032e3d3ee0e6ffe9dd880a3859 it is possible to introspect if ld.gold is contained in the used bintools, so we can also check if it is available before deciding to use it as done in the other GHC derivations in 0908812372ad7f983645530de1d32e1563adacd3. (cherry picked from commit b2e47081059a37d6edbd7f1d89066cb7f640297e) --- pkgs/development/compilers/ghc/9.2.1.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/ghc/9.2.1.nix b/pkgs/development/compilers/ghc/9.2.1.nix index 923dc7957d08..7217b6711e16 100644 --- a/pkgs/development/compilers/ghc/9.2.1.nix +++ b/pkgs/development/compilers/ghc/9.2.1.nix @@ -127,7 +127,8 @@ let # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues. # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 # see #84670 and #49071 for more background. - useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl); + useLdGold = targetPlatform.linker == "gold" || + (targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl); runtimeDeps = [ targetPackages.stdenv.cc.bintools