ports/core (3.7): binutils: 2.35.2 -> 2.37
![](https://secure.gravatar.com/avatar/df8330968b6df8cd1c1942c5fb4b720c.jpg?s=120&d=mm&r=g)
commit afb882b1a900565070933a40ca8c6e94296fd8ab Author: Tim Biermann <tbier@posteo.de> Date: Sat Dec 11 19:33:57 2021 +0100 binutils: 2.35.2 -> 2.37 diff --git a/binutils/.footprint b/binutils/.footprint index 576dd4ff..f1588adf 100644 --- a/binutils/.footprint +++ b/binutils/.footprint @@ -21,7 +21,6 @@ drwxr-xr-x root/root usr/bin/ drwxr-xr-x root/root usr/include/ -rw-r--r-- root/root usr/include/ansidecl.h -rw-r--r-- root/root usr/include/bfd.h --rw-r--r-- root/root usr/include/bfd_stdint.h -rw-r--r-- root/root usr/include/bfdlink.h -rw-r--r-- root/root usr/include/ctf-api.h -rw-r--r-- root/root usr/include/ctf.h @@ -44,6 +43,8 @@ drwxr-xr-x root/root usr/include/libiberty/ -rw-r--r-- root/root usr/include/plugin-api.h -rw-r--r-- root/root usr/include/symcat.h drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/bfd-plugins/ +-rwxr-xr-x root/root usr/lib/bfd-plugins/libdep.so drwxr-xr-x root/root usr/lib/ldscripts/ -rw-r--r-- root/root usr/lib/ldscripts/elf32_x86_64.x -rw-r--r-- root/root usr/lib/ldscripts/elf32_x86_64.xbn @@ -177,10 +178,10 @@ drwxr-xr-x root/root usr/lib/ldscripts/ -rw-r--r-- root/root usr/lib/ldscripts/elf_x86_64.xu -rw-r--r-- root/root usr/lib/ldscripts/elf_x86_64.xw -rw-r--r-- root/root usr/lib/ldscripts/elf_x86_64.xwe --rwxr-xr-x root/root usr/lib/libbfd-2.35.2.so +-rwxr-xr-x root/root usr/lib/libbfd-2.37.so -rw-r--r-- root/root usr/lib/libbfd.a -rwxr-xr-x root/root usr/lib/libbfd.la -lrwxrwxrwx root/root usr/lib/libbfd.so -> libbfd-2.35.2.so +lrwxrwxrwx root/root usr/lib/libbfd.so -> libbfd-2.37.so -rw-r--r-- root/root usr/lib/libctf-nobfd.a -rwxr-xr-x root/root usr/lib/libctf-nobfd.la lrwxrwxrwx root/root usr/lib/libctf-nobfd.so -> libctf-nobfd.so.0.0.0 @@ -192,10 +193,10 @@ lrwxrwxrwx root/root usr/lib/libctf.so -> libctf.so.0.0.0 lrwxrwxrwx root/root usr/lib/libctf.so.0 -> libctf.so.0.0.0 -rwxr-xr-x root/root usr/lib/libctf.so.0.0.0 -rw-r--r-- root/root usr/lib/libiberty.a --rwxr-xr-x root/root usr/lib/libopcodes-2.35.2.so +-rwxr-xr-x root/root usr/lib/libopcodes-2.37.so -rw-r--r-- root/root usr/lib/libopcodes.a -rwxr-xr-x root/root usr/lib/libopcodes.la -lrwxrwxrwx root/root usr/lib/libopcodes.so -> libopcodes-2.35.2.so +lrwxrwxrwx root/root usr/lib/libopcodes.so -> libopcodes-2.37.so drwxr-xr-x root/root usr/share/ drwxr-xr-x root/root usr/share/man/ drwxr-xr-x root/root usr/share/man/man1/ diff --git a/binutils/.signature b/binutils/.signature index 605a0551..fe02bf5b 100644 --- a/binutils/.signature +++ b/binutils/.signature @@ -1,5 +1,6 @@ untrusted comment: verify with /etc/ports/core.pub -RWRJc1FUaeVeqlgHyvcijz2Kgxx89tjzoIr1VvY6y6qGLTKkJbiXDSvRH4NzQ70KE8XGCOnzBT2oJzgWnBNHFDEx4bqUngzNIQg= -SHA256 (Pkgfile) = aeee3c170678ae2f95d26d25b623bafaa162cd4d307dc3968e7db163dca63e68 -SHA256 (.footprint) = 018f2f411ba6e94e067535b3e8ce1f4c9d6d131ca345f208e97837825f5c5a4e -SHA256 (binutils-2.35.2.tar.xz) = dcd5b0416e7b0a9b24bed76cd8c6c132526805761863150a26d016415b8bdc7b +RWRJc1FUaeVeqoXQABzUYsdcqv2mX6K/h3hGOnFMEZx4Hhd8yy5FqK5bj/B95gOeEWfw9eBHlag4Qj35C2SazXffbQjdwQZDoww= +SHA256 (Pkgfile) = e3b8a34ea68ede149412d967524c8b646de71d8c550234bc8e39c021349d0971 +SHA256 (.footprint) = c3bf3cdddb84aefc9632031b3c68aee20d3948478dad8ada0183920d30c6483b +SHA256 (binutils-2.37.tar.xz) = 820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c +SHA256 (binutils-2.37-upstream_fix-1.patch) = bd852a3959553b4e90bc60e2db4842f461329fe6d4089c9a3e24d8db285ed81e diff --git a/binutils/Pkgfile b/binutils/Pkgfile index 296ff6d2..e6e0af7e 100644 --- a/binutils/Pkgfile +++ b/binutils/Pkgfile @@ -4,30 +4,39 @@ # Depends on: zlib flex name=binutils -version=2.35.2 +version=2.37 release=1 -source=(http://ftpmirror.gnu.org/gnu/$name/$name-$version.tar.xz) +source=(http://ftpmirror.gnu.org/gnu/$name/$name-$version.tar.xz + binutils-2.37-upstream_fix-1.patch) build() { - sed -i '/^SUBDIRS/s/doc//' $name-$version/bfd/Makefile.in - sed -i '/^SUBDIRS/s/doc//' $name-$version/binutils/Makefile.in - - mkdir build - cd build - - ../$name-$version/configure --prefix=/usr \ - --enable-shared \ - --disable-nls \ - --enable-ld=default \ - --enable-gold=yes \ - --enable-plugins \ - --enable-install-libiberty \ - --disable-werror \ - --with-system-zlib - - make tooldir=/usr - make tooldir=/usr DESTDIR=$PKG install - - rm -r $PKG/usr/share/info - sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.la + patch -Np1 -d $name-$version -i $SRC/binutils-2.37-upstream_fix-1.patch + + # fix empty manpages + sed -i '63d' $name-$version/etc/texi2pod.pl + find -name \*.1 -delete + + sed -i '/^SUBDIRS/s/doc//' $name-$version/bfd/Makefile.in + sed -i '/^SUBDIRS/s/doc//' $name-$version/binutils/Makefile.in + + mkdir build + cd build + + ../$name-$version/configure --prefix=/usr \ + --enable-shared \ + --disable-nls \ + --enable-ld=default \ + --enable-gold=yes \ + --enable-lto \ + --enable-plugins \ + --enable-install-libiberty \ + --disable-werror \ + --with-system-zlib \ + --with-bugurl=https://crux.nu/bugs/ + + make tooldir=/usr + make tooldir=/usr DESTDIR=$PKG install + + rm -r $PKG/usr/share/info + sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.la } diff --git a/binutils/binutils-2.37-upstream_fix-1.patch b/binutils/binutils-2.37-upstream_fix-1.patch new file mode 100644 index 00000000..eec8bf22 --- /dev/null +++ b/binutils/binutils-2.37-upstream_fix-1.patch @@ -0,0 +1,239 @@ +Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org> +Date: 2021-08-13 +Initial Package Version: 2.37 +Upstream Status: Committed +Origin: Upstream +Description: bfd: Close the file descriptor if there is no archive fd + +From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" <hjl.tools@gmail.com> +Date: Mon, 26 Jul 2021 05:59:55 -0700 +Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd + +Close the file descriptor if there is no archive plugin file descriptor +to avoid running out of file descriptors on thin archives with many +archive members. + +bfd/ + + PR ld/28138 + * plugin.c (bfd_plugin_close_file_descriptor): Close the file + descriptor there is no archive plugin file descriptor. + +ld/ + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for + native build. + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. + * testsuite/ld-plugin/pr28138.c: New file. + * testsuite/ld-plugin/pr28138-1.c: Likewise. + * testsuite/ld-plugin/pr28138-2.c: Likewise. + * testsuite/ld-plugin/pr28138-3.c: Likewise. + * testsuite/ld-plugin/pr28138-4.c: Likewise. + * testsuite/ld-plugin/pr28138-5.c: Likewise. + * testsuite/ld-plugin/pr28138-6.c: Likewise. + * testsuite/ld-plugin/pr28138-7.c: Likewise. + +(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) +(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) +--- + bfd/plugin.c | 8 +++++++ + ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ + 10 files changed, 104 insertions(+) + create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c + create mode 100644 ld/testsuite/ld-plugin/pr28138.c + +diff --git a/bfd/plugin.c b/bfd/plugin.c +index 6cfa2b66470..3bab8febe88 100644 +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + ++ /* Close the file descriptor if there is no archive plugin file ++ descriptor. */ ++ if (abfd->archive_plugin_fd == -1) ++ { ++ close (fd); ++ return; ++ } ++ + abfd->archive_plugin_fd_open_count--; + /* Dup the archive plugin file descriptor for later use, which + will be closed by _bfd_archive_close_and_cleanup. */ +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index def69e43ab3..999d911ce6a 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { + } + } + ++run_cc_link_tests [list \ ++ [list \ ++ "Build pr28138.a" \ ++ "-T" "" \ ++ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ ++ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ ++ ] \ ++ [list \ ++ "Build pr28138.o" \ ++ "" "" \ ++ {pr28138.c} {} \ ++ ] \ ++] ++ ++set exec_output [run_host_cmd "sh" \ ++ "-c \"ulimit -n 20; \ ++ $CC -Btmpdir/ld -o tmpdir/pr28138 \ ++ tmpdir/pr28138.o tmpdir/pr28138.a\""] ++set exec_output [prune_warnings $exec_output] ++if [string match "" $exec_output] then { ++ if { [isnative] } { ++ set exec_output [run_host_cmd "tmpdir/pr28138" ""] ++ if [string match "PASS" $exec_output] then { ++ pass "PR ld/28138" ++ } else { ++ fail "PR ld/28138" ++ } ++ } else { ++ pass "PR ld/28138" ++ } ++} else { ++ fail "PR ld/28138" ++} ++ + set testname "Build liblto-11.a" + remote_file host delete "tmpdir/liblto-11.a" + set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] +diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c +new file mode 100644 +index 00000000000..51d119e1642 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-1.c +@@ -0,0 +1,6 @@ ++extern int a0(void); ++int ++a1(void) ++{ ++ return 1 + a0(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c +new file mode 100644 +index 00000000000..1120cd797e9 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-2.c +@@ -0,0 +1,6 @@ ++extern int a1(void); ++int ++a2(void) ++{ ++ return 1 + a1(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c +new file mode 100644 +index 00000000000..ec464947ee6 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-3.c +@@ -0,0 +1,6 @@ ++extern int a2(void); ++int ++a3(void) ++{ ++ return 1 + a2(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c +new file mode 100644 +index 00000000000..475701b2c5c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-4.c +@@ -0,0 +1,6 @@ ++extern int a3(void); ++int ++a4(void) ++{ ++ return 1 + a3(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c +new file mode 100644 +index 00000000000..e24f86c363e +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-5.c +@@ -0,0 +1,6 @@ ++extern int a4(void); ++int ++a5(void) ++{ ++ return 1 + a4(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c +new file mode 100644 +index 00000000000..b5b938bdb21 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-6.c +@@ -0,0 +1,6 @@ ++extern int a5(void); ++int ++a6(void) ++{ ++ return 1 + a5(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c +new file mode 100644 +index 00000000000..4ef75bf0f0c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-7.c +@@ -0,0 +1,6 @@ ++extern int a6(void); ++int ++a7(void) ++{ ++ return 1 + a6(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c +new file mode 100644 +index 00000000000..68252c9f382 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138.c +@@ -0,0 +1,20 @@ ++#include <stdio.h> ++ ++extern int a7(void); ++ ++int ++a0(void) ++{ ++ return 0; ++} ++ ++int ++main() ++{ ++ if (a7() == 7) ++ { ++ printf ("PASS\n"); ++ return 0; ++ } ++ return 1; ++} +-- +2.27.0 +
participants (1)
-
crux@crux.nu