diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/binutils/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/misc/binutils/default.nix | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix index b352e63a27cc..559268521460 100644 --- a/nixpkgs/pkgs/development/tools/misc/binutils/default.nix +++ b/nixpkgs/pkgs/development/tools/misc/binutils/default.nix @@ -2,12 +2,13 @@ , fetchFromGitHub, fetchurl, zlib, autoreconfHook, gettext # Enabling all targets increases output size to a multiple. , withAllTargets ? false, libbfd, libopcodes -, enableShared ? true +, enableShared ? !stdenv.hostPlatform.isStatic , noSysDirs , gold ? !stdenv.buildPlatform.isDarwin || stdenv.hostPlatform == stdenv.targetPlatform , bison ? null , flex , texinfo +, perl }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -18,10 +19,7 @@ let reuseLibs = enableShared && withAllTargets; - # Remove gold-symbol-visibility patch when updating, the proper fix - # is now upstream. - # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3 - version = "2.31.1"; + version = "2.34"; basename = "binutils"; # The targetPrefix prepended to binary names to allow multiple binuntils on the # PATH to both be usable. @@ -36,7 +34,7 @@ let # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl { url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2"; - sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z"; + sha256 = "1rin1f5c7wm4n3piky6xilcrpf2s0n3dd5vqq8irrxkcic3i1w49"; }); in @@ -69,26 +67,26 @@ stdenv.mkDerivation { # cross-compiling. ./always-search-rpath.patch - ] ++ lib.optionals (!stdenv.targetPlatform.isVc4) - [ - # https://sourceware.org/bugzilla/show_bug.cgi?id=22868 - ./gold-symbol-visibility.patch - - # https://sourceware.org/bugzilla/show_bug.cgi?id=23428 - # un-break features so linking against musl doesn't produce crash-only binaries - ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch - ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch - ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch - ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch; + ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch + ++ # This patch was suggested by Nick Clifton to fix + # https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + # It can be removed when that 7-year-old bug is closed. + # This binutils bug causes GHC to emit broken binaries on armv7, and + # indeed GHC will refuse to compile with a binutils suffering from it. See + # this comment for more information: + # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333 + lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch; outputs = [ "out" "info" "man" ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ bison + perl + texinfo ] ++ (lib.optionals stdenv.targetPlatform.isiOS [ autoreconfHook - ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ]; + ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ flex ]; buildInputs = [ zlib gettext ]; inherit noSysDirs; |