diff options
Diffstat (limited to 'pkgs/development/tools/misc/binutils')
-rw-r--r-- | pkgs/development/tools/misc/binutils/0001-libtool.m4-update-macos-version-detection-block.patch | 51 | ||||
-rw-r--r-- | pkgs/development/tools/misc/binutils/default.nix | 13 |
2 files changed, 22 insertions, 42 deletions
diff --git a/pkgs/development/tools/misc/binutils/0001-libtool.m4-update-macos-version-detection-block.patch b/pkgs/development/tools/misc/binutils/0001-libtool.m4-update-macos-version-detection-block.patch index e601be3a33082..f487ed7083332 100644 --- a/pkgs/development/tools/misc/binutils/0001-libtool.m4-update-macos-version-detection-block.patch +++ b/pkgs/development/tools/misc/binutils/0001-libtool.m4-update-macos-version-detection-block.patch @@ -1,47 +1,24 @@ -From 33a8dc728eb5da3e1d3439c96810d1f6b2660b89 Mon Sep 17 00:00:00 2001 -From: Andrew Childs <andrew.childs@bibo.com.ph> -Date: Tue, 22 Feb 2022 12:24:46 +0900 +From 368f26bfece3899a8c992cfec66427266918ab80 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode <randy@largeandhighquality.com> +Date: Thu, 4 Jul 2024 12:20:34 -0400 Subject: [PATCH] libtool.m4: update macos version detection block -Includes upstream change -9e8c882517082fe5755f2524d23efb02f1522490 --- - libtool.m4 | 21 ++++++++------------- - 1 file changed, 8 insertions(+), 13 deletions(-) + libtool.m4 | 1 + + 1 file changed, 1 insertion(+) diff --git a/libtool.m4 b/libtool.m4 -index 7a711249304..f452efb4300 100644 +index e36fdd3c0e2..dd4725f8cd1 100644 --- a/libtool.m4 +++ b/libtool.m4 -@@ -996,20 +996,15 @@ _LT_EOF - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) -- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; -+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) -- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; -- darwin*) # darwin 5.x on -- # if running on 10.5 or later, the deployment target defaults -- # to the OS version, if on x86, and 10.4, the deployment -- # target defaults to 10.4. Don't you love it? -- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in -- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) -- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; -- 10.[[012]][[,.]]*) -- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; -- 10.*) -- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; -+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; -+ darwin*) -+ case $MACOSX_DEPLOYMENT_TARGET,$host in -+ 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) -+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; -+ *) -+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac +@@ -1011,6 +1011,7 @@ _LT_EOF + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + *) ++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}dynamic_lookup' + ;; + esac ;; - esac -- -2.34.1 +2.45.1 diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index afee755e43f4b..610f04fd35a53 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -16,6 +16,7 @@ in , perl , substitute , zlib +, CoreServices , enableGold ? withGold stdenv.targetPlatform , enableGoldDefault ? false @@ -57,10 +58,7 @@ stdenv.mkDerivation (finalAttrs: { pname = targetPrefix + "binutils"; inherit version; - # HACK: Ensure that we preserve source from bootstrap binutils to not rebuild LLVM - src = stdenv.__bootPackages.binutils-unwrapped.src - or srcs.${targetPlatform.system} - or srcs.normal; + src = srcs.${targetPlatform.system} or srcs.normal; # WARN: this package is used for bootstrapping fetchurl, and thus cannot use # fetchpatch! All mutable patches (generated by GitHub or cgit) that are @@ -87,6 +85,11 @@ stdenv.mkDerivation (finalAttrs: { # not need to know binutils' BINDIR at all. It's an absolute path # where libraries are stored. ./plugins-no-BINDIR.patch + ] ++ lib.optionals buildPlatform.isDarwin [ + # Note: Conditional to avoid Linux rebuilds on staging-next. Remove the conditional with the next update. + # ld64 needs `-undefined dynamic_lookup` to link `libctf-nobfd.dylib`, but the Darwin + # version detection in `libtool.m4` fails to detect the Darwin version correctly. + ./0001-libtool.m4-update-macos-version-detection-block.patch ] ++ lib.optional targetPlatform.isiOS ./support-ios.patch # Adds AVR-specific options to "size" for compatibility with Atmel's downstream distribution @@ -120,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals targetPlatform.isVc4 [ flex ] ; - buildInputs = [ zlib gettext ]; + buildInputs = [ zlib gettext ] ++ lib.optionals buildPlatform.isDarwin [ CoreServices ]; inherit noSysDirs; |