cross/binutils-*: upgrade to 2.38
This commit is contained in:
parent
a98736733e
commit
31517bf321
9 changed files with 9 additions and 861 deletions
|
@ -3,8 +3,8 @@
|
||||||
# Based on: main/binutils
|
# Based on: main/binutils
|
||||||
|
|
||||||
pkgname=binutils-aarch64
|
pkgname=binutils-aarch64
|
||||||
pkgver=2.37
|
pkgver=2.38
|
||||||
pkgrel=4
|
pkgrel=0
|
||||||
pkgdesc="Tools necessary to build programs for aarch64 targets"
|
pkgdesc="Tools necessary to build programs for aarch64 targets"
|
||||||
url="https://www.gnu.org/software/binutils/"
|
url="https://www.gnu.org/software/binutils/"
|
||||||
makedepends="gettext libtool autoconf automake bison texinfo"
|
makedepends="gettext libtool autoconf automake bison texinfo"
|
||||||
|
@ -16,8 +16,6 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
|
||||||
ld-bfd-mips.patch
|
ld-bfd-mips.patch
|
||||||
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
||||||
binutils-mips-disable-assert.patch
|
binutils-mips-disable-assert.patch
|
||||||
bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
|
|
||||||
defang-no-split.patch
|
|
||||||
"
|
"
|
||||||
builddir="$srcdir/binutils-$pkgver"
|
builddir="$srcdir/binutils-$pkgver"
|
||||||
|
|
||||||
|
@ -42,14 +40,6 @@ fi
|
||||||
# 2.28-r1:
|
# 2.28-r1:
|
||||||
# - CVE-2017-7614
|
# - CVE-2017-7614
|
||||||
|
|
||||||
prepare() {
|
|
||||||
default_prepare
|
|
||||||
|
|
||||||
# Remove existing empty man pages to force them to be regenerated.
|
|
||||||
# Workaround for https://gitlab.alpinelinux.org/alpine/aports/-/issues/13034
|
|
||||||
find "$builddir" -name '[a-z]*\.[0-9]*' -empty -delete
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
_target="$(arch_to_hostspec aarch64)"
|
_target="$(arch_to_hostspec aarch64)"
|
||||||
"$builddir"/configure \
|
"$builddir"/configure \
|
||||||
|
@ -81,12 +71,10 @@ package() {
|
||||||
|
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 binutils-2.37.tar.xz
|
8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d binutils-2.38.tar.xz
|
||||||
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
|
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
|
||||||
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
|
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
|
||||||
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
|
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
|
||||||
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
||||||
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
|
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
|
||||||
10a0074583d2cc4598710c7e434ba7088da074b105f4f5e951fc61af7150ad62adf60a7c98f6fd13b1771f169e45a5a1ef618240c6893d3f0f3d93fd768a03c6 bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
|
|
||||||
4652f092c9376f0cb7fd6c72cb37ff7c15c1c6e3408fac79329b7f41a7925c98eb35989a9a040682130988a36401901d6d95afa44f0ce50caa85ee478db6bf03 defang-no-split.patch
|
|
||||||
"
|
"
|
||||||
|
|
|
@ -1,234 +0,0 @@
|
||||||
Upstream: yes
|
|
||||||
URL: https://sourceware.org/bugzilla/show_bug.cgi?id=28138
|
|
||||||
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
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
From 2dad02b6d46eef438cbd14d8511487b056628a38 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sergei Trofimovich <siarheit@google.com>
|
|
||||||
Date: Mon, 26 Jul 2021 22:51:18 +0100
|
|
||||||
Subject: [PATCH 1/1] texi2pod.pl: add no-op --no-split option support
|
|
||||||
[PR28144]
|
|
||||||
|
|
||||||
Change 2faf902da ("generate single html manual page by default")
|
|
||||||
added use of --no-split option to makeinfo. binutils reuses
|
|
||||||
makeinfo options for texi2pod.pl wrapper. Unsupported option
|
|
||||||
led to silent manpage truncation.
|
|
||||||
|
|
||||||
The change adds no-op option support.
|
|
||||||
|
|
||||||
etc/
|
|
||||||
PR 28144
|
|
||||||
* texi2pod.pl: Handle no-op --no-split option.
|
|
||||||
|
|
||||||
(cherry picked from commit 96a7037cd8573cf065aa6b12baca68696f96d9ca)
|
|
||||||
---
|
|
||||||
etc/texi2pod.pl | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/etc/texi2pod.pl b/etc/texi2pod.pl
|
|
||||||
index 11f70d156be..dcf2b437640 100644
|
|
||||||
--- a/etc/texi2pod.pl
|
|
||||||
+++ b/etc/texi2pod.pl
|
|
||||||
@@ -59,6 +59,8 @@ while ($_ = shift) {
|
|
||||||
$flag = shift;
|
|
||||||
}
|
|
||||||
push (@ipath, $flag);
|
|
||||||
+ } elsif (/^--no-split$/) {
|
|
||||||
+ # ignore option for makeinfo compatibility
|
|
||||||
} elsif (/^-/) {
|
|
||||||
usage();
|
|
||||||
} else {
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
# Based on: main/binutils
|
# Based on: main/binutils
|
||||||
|
|
||||||
pkgname=binutils-armhf
|
pkgname=binutils-armhf
|
||||||
pkgver=2.37
|
pkgver=2.38
|
||||||
pkgrel=4
|
pkgrel=0
|
||||||
pkgdesc="Tools necessary to build programs for armhf targets"
|
pkgdesc="Tools necessary to build programs for armhf targets"
|
||||||
url="https://www.gnu.org/software/binutils/"
|
url="https://www.gnu.org/software/binutils/"
|
||||||
makedepends="gettext libtool autoconf automake bison texinfo"
|
makedepends="gettext libtool autoconf automake bison texinfo"
|
||||||
|
@ -16,8 +16,6 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
|
||||||
ld-bfd-mips.patch
|
ld-bfd-mips.patch
|
||||||
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
||||||
binutils-mips-disable-assert.patch
|
binutils-mips-disable-assert.patch
|
||||||
bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
|
|
||||||
defang-no-split.patch
|
|
||||||
"
|
"
|
||||||
builddir="$srcdir/binutils-$pkgver"
|
builddir="$srcdir/binutils-$pkgver"
|
||||||
|
|
||||||
|
@ -42,14 +40,6 @@ fi
|
||||||
# 2.28-r1:
|
# 2.28-r1:
|
||||||
# - CVE-2017-7614
|
# - CVE-2017-7614
|
||||||
|
|
||||||
prepare() {
|
|
||||||
default_prepare
|
|
||||||
|
|
||||||
# Remove existing empty man pages to force them to be regenerated.
|
|
||||||
# Workaround for https://gitlab.alpinelinux.org/alpine/aports/-/issues/13034
|
|
||||||
find "$builddir" -name '[a-z]*\.[0-9]*' -empty -delete
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
_target="$(arch_to_hostspec armhf)"
|
_target="$(arch_to_hostspec armhf)"
|
||||||
"$builddir"/configure \
|
"$builddir"/configure \
|
||||||
|
@ -81,12 +71,10 @@ package() {
|
||||||
|
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 binutils-2.37.tar.xz
|
8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d binutils-2.38.tar.xz
|
||||||
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
|
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
|
||||||
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
|
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
|
||||||
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
|
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
|
||||||
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
||||||
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
|
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
|
||||||
10a0074583d2cc4598710c7e434ba7088da074b105f4f5e951fc61af7150ad62adf60a7c98f6fd13b1771f169e45a5a1ef618240c6893d3f0f3d93fd768a03c6 bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
|
|
||||||
4652f092c9376f0cb7fd6c72cb37ff7c15c1c6e3408fac79329b7f41a7925c98eb35989a9a040682130988a36401901d6d95afa44f0ce50caa85ee478db6bf03 defang-no-split.patch
|
|
||||||
"
|
"
|
||||||
|
|
|
@ -1,234 +0,0 @@
|
||||||
Upstream: yes
|
|
||||||
URL: https://sourceware.org/bugzilla/show_bug.cgi?id=28138
|
|
||||||
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
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
From 2dad02b6d46eef438cbd14d8511487b056628a38 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sergei Trofimovich <siarheit@google.com>
|
|
||||||
Date: Mon, 26 Jul 2021 22:51:18 +0100
|
|
||||||
Subject: [PATCH 1/1] texi2pod.pl: add no-op --no-split option support
|
|
||||||
[PR28144]
|
|
||||||
|
|
||||||
Change 2faf902da ("generate single html manual page by default")
|
|
||||||
added use of --no-split option to makeinfo. binutils reuses
|
|
||||||
makeinfo options for texi2pod.pl wrapper. Unsupported option
|
|
||||||
led to silent manpage truncation.
|
|
||||||
|
|
||||||
The change adds no-op option support.
|
|
||||||
|
|
||||||
etc/
|
|
||||||
PR 28144
|
|
||||||
* texi2pod.pl: Handle no-op --no-split option.
|
|
||||||
|
|
||||||
(cherry picked from commit 96a7037cd8573cf065aa6b12baca68696f96d9ca)
|
|
||||||
---
|
|
||||||
etc/texi2pod.pl | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/etc/texi2pod.pl b/etc/texi2pod.pl
|
|
||||||
index 11f70d156be..dcf2b437640 100644
|
|
||||||
--- a/etc/texi2pod.pl
|
|
||||||
+++ b/etc/texi2pod.pl
|
|
||||||
@@ -59,6 +59,8 @@ while ($_ = shift) {
|
|
||||||
$flag = shift;
|
|
||||||
}
|
|
||||||
push (@ipath, $flag);
|
|
||||||
+ } elsif (/^--no-split$/) {
|
|
||||||
+ # ignore option for makeinfo compatibility
|
|
||||||
} elsif (/^-/) {
|
|
||||||
usage();
|
|
||||||
} else {
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
# Based on: main/binutils
|
# Based on: main/binutils
|
||||||
|
|
||||||
pkgname=binutils-armv7
|
pkgname=binutils-armv7
|
||||||
pkgver=2.37
|
pkgver=2.38
|
||||||
pkgrel=4
|
pkgrel=0
|
||||||
pkgdesc="Tools necessary to build programs for armv7 targets"
|
pkgdesc="Tools necessary to build programs for armv7 targets"
|
||||||
url="https://www.gnu.org/software/binutils/"
|
url="https://www.gnu.org/software/binutils/"
|
||||||
makedepends="gettext libtool autoconf automake bison texinfo"
|
makedepends="gettext libtool autoconf automake bison texinfo"
|
||||||
|
@ -16,8 +16,6 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
|
||||||
ld-bfd-mips.patch
|
ld-bfd-mips.patch
|
||||||
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
||||||
binutils-mips-disable-assert.patch
|
binutils-mips-disable-assert.patch
|
||||||
bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
|
|
||||||
defang-no-split.patch
|
|
||||||
"
|
"
|
||||||
builddir="$srcdir/binutils-$pkgver"
|
builddir="$srcdir/binutils-$pkgver"
|
||||||
|
|
||||||
|
@ -42,14 +40,6 @@ fi
|
||||||
# 2.28-r1:
|
# 2.28-r1:
|
||||||
# - CVE-2017-7614
|
# - CVE-2017-7614
|
||||||
|
|
||||||
prepare() {
|
|
||||||
default_prepare
|
|
||||||
|
|
||||||
# Remove existing empty man pages to force them to be regenerated.
|
|
||||||
# Workaround for https://gitlab.alpinelinux.org/alpine/aports/-/issues/13034
|
|
||||||
find "$builddir" -name '[a-z]*\.[0-9]*' -empty -delete
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
_target="$(arch_to_hostspec armv7)"
|
_target="$(arch_to_hostspec armv7)"
|
||||||
"$builddir"/configure \
|
"$builddir"/configure \
|
||||||
|
@ -81,12 +71,10 @@ package() {
|
||||||
|
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 binutils-2.37.tar.xz
|
8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d binutils-2.38.tar.xz
|
||||||
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
|
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
|
||||||
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
|
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
|
||||||
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
|
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
|
||||||
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
|
||||||
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
|
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
|
||||||
10a0074583d2cc4598710c7e434ba7088da074b105f4f5e951fc61af7150ad62adf60a7c98f6fd13b1771f169e45a5a1ef618240c6893d3f0f3d93fd768a03c6 bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
|
|
||||||
4652f092c9376f0cb7fd6c72cb37ff7c15c1c6e3408fac79329b7f41a7925c98eb35989a9a040682130988a36401901d6d95afa44f0ce50caa85ee478db6bf03 defang-no-split.patch
|
|
||||||
"
|
"
|
||||||
|
|
|
@ -1,234 +0,0 @@
|
||||||
Upstream: yes
|
|
||||||
URL: https://sourceware.org/bugzilla/show_bug.cgi?id=28138
|
|
||||||
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
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
From 2dad02b6d46eef438cbd14d8511487b056628a38 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sergei Trofimovich <siarheit@google.com>
|
|
||||||
Date: Mon, 26 Jul 2021 22:51:18 +0100
|
|
||||||
Subject: [PATCH 1/1] texi2pod.pl: add no-op --no-split option support
|
|
||||||
[PR28144]
|
|
||||||
|
|
||||||
Change 2faf902da ("generate single html manual page by default")
|
|
||||||
added use of --no-split option to makeinfo. binutils reuses
|
|
||||||
makeinfo options for texi2pod.pl wrapper. Unsupported option
|
|
||||||
led to silent manpage truncation.
|
|
||||||
|
|
||||||
The change adds no-op option support.
|
|
||||||
|
|
||||||
etc/
|
|
||||||
PR 28144
|
|
||||||
* texi2pod.pl: Handle no-op --no-split option.
|
|
||||||
|
|
||||||
(cherry picked from commit 96a7037cd8573cf065aa6b12baca68696f96d9ca)
|
|
||||||
---
|
|
||||||
etc/texi2pod.pl | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/etc/texi2pod.pl b/etc/texi2pod.pl
|
|
||||||
index 11f70d156be..dcf2b437640 100644
|
|
||||||
--- a/etc/texi2pod.pl
|
|
||||||
+++ b/etc/texi2pod.pl
|
|
||||||
@@ -59,6 +59,8 @@ while ($_ = shift) {
|
|
||||||
$flag = shift;
|
|
||||||
}
|
|
||||||
push (@ipath, $flag);
|
|
||||||
+ } elsif (/^--no-split$/) {
|
|
||||||
+ # ignore option for makeinfo compatibility
|
|
||||||
} elsif (/^-/) {
|
|
||||||
usage();
|
|
||||||
} else {
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
Loading…
Reference in a new issue