aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/binutils/0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch65
-rw-r--r--main/binutils/APKBUILD10
-rw-r--r--main/binutils/CVE-2021-3487.patch72
3 files changed, 21 insertions, 126 deletions
diff --git a/main/binutils/0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch b/main/binutils/0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
index 5de937f4fc..6e1fa7731c 100644
--- a/main/binutils/0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
+++ b/main/binutils/0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
@@ -1,39 +1,24 @@
-From b1faf99f3e546df2cd302bb1ad36a2078224fe8b Mon Sep 17 00:00:00 2001
+From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
-Date: Fri, 30 Oct 2020 16:59:48 -0600
+Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
+This revert is needed to avoid wrongly tagging objects with the incompatible
+IBM long double ABI, which is not supported by musl and will result in
+linking errors if used.
+
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
- bfd/ChangeLog | 6 ------
- bfd/elf32-tic6x.c | 3 ---
- ld/ChangeLog | 6 ------
- ld/ldlang.c | 9 ++++-----
- 4 files changed, 4 insertions(+), 20 deletions(-)
+ bfd/elf32-tic6x.c | 3 ---
+ ld/ldlang.c | 10 ++++------
+ 2 files changed, 4 insertions(+), 9 deletions(-)
-diff --git a/bfd/ChangeLog b/bfd/ChangeLog
-index 9fac12538a..b5461494e8 100644
---- a/bfd/ChangeLog
-+++ b/bfd/ChangeLog
-@@ -1422,12 +1422,6 @@
- accessing root.u.def of symbols. Also check root.u.def.section
- is non-NULL. Reverse tests so as to make the logic positive.
-
--2020-05-01 Alan Modra <amodra@gmail.com>
--
-- PR 25882
-- * elf32-tic6x.c (elf32_tic6x_merge_attributes): Don't transfer
-- Tag_ABI_PIC or Tag_ABI_PID from dynamic objects to the output.
--
- 2020-05-01 Alan Modra <amodra@gmail.com>
-
- PR 25882
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
-index b8b916bfd3..91bb6a10b1 100644
+index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
-@@ -3748,9 +3748,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
+@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
@@ -43,36 +28,20 @@ index b8b916bfd3..91bb6a10b1 100644
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
-diff --git a/ld/ChangeLog b/ld/ChangeLog
-index 4eec7d2977..b93452f70c 100644
---- a/ld/ChangeLog
-+++ b/ld/ChangeLog
-@@ -1319,12 +1319,6 @@
- * testsuite/ld-aarch64/farcall-group.d: New test driver.
- * testsuite/ld-aarch64/aarch64-elf.exp: Run the new test.
-
--2020-05-01 Alan Modra <amodra@gmail.com>
--
-- PR 25882
-- * ldlang.c (lang_check): Call bfd_merge_private_bfd_data for
-- shared libraries.
--
- 2020-05-01 Alan Modra <amodra@gmail.com>
-
- * po/BLD-POTFILES.in: Regenerate.
diff --git a/ld/ldlang.c b/ld/ldlang.c
-index 9977195074..173d8ec349 100644
+index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
-@@ -6972,12 +6972,11 @@ lang_check (void)
+@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
-- else if ((input_bfd->flags & DYNAMIC) != 0
-- || bfd_count_sections (input_bfd) != 0)
+- else if (!file->flags.just_syms
+- && ((input_bfd->flags & DYNAMIC) != 0
+- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
@@ -82,5 +51,5 @@ index 9977195074..173d8ec349 100644
/* If we aren't supposed to warn about mismatched input
--
-2.29.2
+2.33.0
diff --git a/main/binutils/APKBUILD b/main/binutils/APKBUILD
index 79c74bfe8b..58c8a01789 100644
--- a/main/binutils/APKBUILD
+++ b/main/binutils/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=binutils
-pkgver=2.35.2
-pkgrel=2
+pkgver=2.37
+pkgrel=0
pkgdesc="Tools necessary to build programs"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
@@ -15,7 +15,6 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
gold-mips.patch
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
- CVE-2021-3487.patch
binutils-mips-disable-assert.patch
"
builddir="$srcdir/$pkgname-$pkgver"
@@ -129,11 +128,10 @@ gold() {
}
sha512sums="
-9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348 binutils-2.35.2.tar.xz
+5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 binutils-2.37.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
-642c617db6c6e491f78f053d60f3aa369bad7bf8c1bc7ce267de6cf8fddf6c0d4cf63ce8c8f6e2f225dedbce7cb930d8e87e168fd8f72ca0837c77266ee2b5f8 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
-b08384ed124a74ad3a424db370c107230f09a54378502ca4385deb738f7cf799857f2af0db52709c7eeab8fa6c0a3d972f891396cce1e2834a21f67682fc4355 CVE-2021-3487.patch
+70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
"
diff --git a/main/binutils/CVE-2021-3487.patch b/main/binutils/CVE-2021-3487.patch
deleted file mode 100644
index db99ae73d9..0000000000
--- a/main/binutils/CVE-2021-3487.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 647cebce12a6b0a26960220caff96ff38978cf24 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Thu, 26 Nov 2020 17:08:33 +0000
-Subject: [PATCH] Prevent a memory allocation failure when parsing corrupt
- DWARF debug sections.
-
- PR 26946
- * dwarf2.c (read_section): Check for debug sections with excessive
- sizes.
-
-diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
-index 977bf43a6a1..8bbfc81d3e7 100644
---- a/bfd/dwarf2.c
-+++ b/bfd/dwarf2.c
-@@ -531,22 +531,24 @@ read_section (bfd * abfd,
- bfd_byte ** section_buffer,
- bfd_size_type * section_size)
- {
-- asection *msec;
- const char *section_name = sec->uncompressed_name;
- bfd_byte *contents = *section_buffer;
-- bfd_size_type amt;
-
- /* The section may have already been read. */
- if (contents == NULL)
- {
-+ bfd_size_type amt;
-+ asection *msec;
-+ ufile_ptr filesize;
-+
- msec = bfd_get_section_by_name (abfd, section_name);
-- if (! msec)
-+ if (msec == NULL)
- {
- section_name = sec->compressed_name;
- if (section_name != NULL)
- msec = bfd_get_section_by_name (abfd, section_name);
- }
-- if (! msec)
-+ if (msec == NULL)
- {
- _bfd_error_handler (_("DWARF error: can't find %s section."),
- sec->uncompressed_name);
-@@ -554,12 +556,23 @@ read_section (bfd * abfd,
- return FALSE;
- }
-
-- *section_size = msec->rawsize ? msec->rawsize : msec->size;
-+ amt = bfd_get_section_limit_octets (abfd, msec);
-+ filesize = bfd_get_file_size (abfd);
-+ if (amt >= filesize)
-+ {
-+ /* PR 26946 */
-+ _bfd_error_handler (_("DWARF error: section %s is larger than its filesize! (0x%lx vs 0x%lx)"),
-+ section_name, (long) amt, (long) filesize);
-+ bfd_set_error (bfd_error_bad_value);
-+ return FALSE;
-+ }
-+ *section_size = amt;
- /* Paranoia - alloc one extra so that we can make sure a string
- section is NUL terminated. */
-- amt = *section_size + 1;
-+ amt += 1;
- if (amt == 0)
- {
-+ /* Paranoia - this should never happen. */
- bfd_set_error (bfd_error_no_memory);
- return FALSE;
- }
---
-2.27.0
-