diff options
author | John Ericson <git@JohnEricson.me> | 2021-06-08 16:42:13 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-08 16:42:13 -0400 |
commit | 4f97d789369588700b3b06eca81f5f0085da5d81 (patch) | |
tree | 912296393c100bb8239d1560a1103a33190e32ee | |
parent | 118b28a127c79dbae8c513742fbb17f300407a4b (diff) | |
parent | 036eef1d1e5d902486ca6a3f7c48f0a31e3c053c (diff) | |
download | nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.tar nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.tar.gz nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.tar.bz2 nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.tar.lz nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.tar.xz nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.tar.zst nixpkgs-4f97d789369588700b3b06eca81f5f0085da5d81.zip |
Merge pull request #126205 from sternenseemann/ghc-linker-checks
ghc: check for targetPlatform.linker to determine if gold is available
-rw-r--r-- | pkgs/development/compilers/ghc/8.10.4.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.8.4.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/9.0.1.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/head.nix | 5 |
4 files changed, 12 insertions, 8 deletions
diff --git a/pkgs/development/compilers/ghc/8.10.4.nix b/pkgs/development/compilers/ghc/8.10.4.nix index 9c514efc282..fe42d0c1c6a 100644 --- a/pkgs/development/compilers/ghc/8.10.4.nix +++ b/pkgs/development/compilers/ghc/8.10.4.nix @@ -89,9 +89,10 @@ let targetCC = builtins.head toolsForTarget; - # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 + # 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.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl; + useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl); runtimeDeps = [ targetPackages.stdenv.cc.bintools diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix index fcb7db617d0..002d83ef6be 100644 --- a/pkgs/development/compilers/ghc/8.8.4.nix +++ b/pkgs/development/compilers/ghc/8.8.4.nix @@ -98,9 +98,10 @@ let targetCC = builtins.head toolsForTarget; - # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 + # 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.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl; + useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl); runtimeDeps = [ targetPackages.stdenv.cc.bintools diff --git a/pkgs/development/compilers/ghc/9.0.1.nix b/pkgs/development/compilers/ghc/9.0.1.nix index a110d587874..f5a6b5f32fa 100644 --- a/pkgs/development/compilers/ghc/9.0.1.nix +++ b/pkgs/development/compilers/ghc/9.0.1.nix @@ -90,9 +90,10 @@ let targetCC = builtins.head toolsForTarget; - # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 + # 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.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl; + useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl); runtimeDeps = [ targetPackages.stdenv.cc.bintools diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index e1c1cdf8dc5..ec236731afd 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -100,9 +100,10 @@ let targetCC = builtins.head toolsForTarget; - # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 + # 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.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl; + useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl); runtimeDeps = [ targetPackages.stdenv.cc.bintools |