diff --git a/.gitignore b/.gitignore index 9ac00a2..a6c355e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ build-sources /binutils-2.29.1.tar.xz /binutils-2.19.50.0.1-output-format.sed /binutils-2.30.tar.xz +/binutils-2.30.90.tar.xz diff --git a/binutils-2.29-revert-PLT-elision.patch b/binutils-2.29-revert-PLT-elision.patch index ac1eeaf..c5478f0 100644 --- a/binutils-2.29-revert-PLT-elision.patch +++ b/binutils-2.29-revert-PLT-elision.patch @@ -44,18 +44,6 @@ diff -rup binutils.orig/ld/testsuite/ld-i386/pr19636-2e.d binutils-2.29.1/ld/tes Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name #... -diff -rup binutils.orig/ld/testsuite/ld-i386/pr20830.d binutils-2.29.1/ld/testsuite/ld-i386/pr20830.d ---- binutils.orig/ld/testsuite/ld-i386/pr20830.d 2017-11-15 13:32:39.332065299 +0000 -+++ binutils-2.29.1/ld/testsuite/ld-i386/pr20830.d 2017-11-15 15:04:43.205165384 +0000 -@@ -19,7 +19,7 @@ Contents of the .eh_frame section: - DW_CFA_offset: r8 \(eip\) at cfa-4 - DW_CFA_nop - DW_CFA_nop -- -+#pass - 0+18 00000010 0000001c FDE cie=00000000 pc=00000188..00000193 - DW_CFA_nop - DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pltgot-1.d binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-1.d --- binutils.orig/ld/testsuite/ld-x86-64/pltgot-1.d 2017-11-15 13:32:39.415064300 +0000 +++ binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-1.d 2017-11-15 15:08:39.333375801 +0000 @@ -119,7 +107,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a.d binutils-2.29.1/ld/tes DW_CFA_nop +#pass - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a-now.d --- binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d 2017-11-15 13:32:39.413064324 +0000 @@ -130,7 +118,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.29.1/ld DW_CFA_nop +#pass - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b.d --- binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d 2017-11-15 13:32:39.413064324 +0000 @@ -142,7 +130,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.29.1/ld/tes - +#pass + - 0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194 + 0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144 DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b-now.d @@ -155,7 +143,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.29.1/ld - +#pass + - 0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000188..0000000000000194 + 0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144 DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038a.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr21038a.d @@ -168,7 +156,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038a.d binutils-2.29.1/ld/tes - +#pass + - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038a-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr21038a-now.d @@ -181,7 +169,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038a-now.d binutils-2.29.1/ld - +#pass + - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000238..0000000000000244 + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038b.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr21038b.d @@ -193,7 +181,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038b.d binutils-2.29.1/ld/tes DW_CFA_nop +#pass - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038b-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr21038b-now.d --- binutils.orig/ld/testsuite/ld-x86-64/pr21038b-now.d 2017-11-15 13:32:39.416064288 +0000 @@ -205,7 +193,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038b-now.d binutils-2.29.1/ld - +#pass + - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000248..000000000000024d + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038c.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr21038c.d @@ -218,7 +206,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038c.d binutils-2.29.1/ld/tes - +#pass + - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1 + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231 DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038c-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr21038c-now.d @@ -231,7 +219,7 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr21038c-now.d binutils-2.29.1/ld - +#pass + - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000290..00000000000002a1 + 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231 DW_CFA_nop DW_CFA_nop diff -rup binutils.orig/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.29.1/ld/testsuite/ld-x86-64/tlspic2.rd @@ -265,3 +253,14 @@ diff -rup binutils.orig/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.29.1/ld/tes /* Since STT_GNU_IFUNC symbol must go through PLT, we handle it here if it is defined and referenced in a non-shared object. */ if (h->type == STT_GNU_IFUNC +--- binutils.orig/ld/testsuite/ld-i386/pr20830.d 2018-07-09 09:49:51.277239857 +0100 ++++ binutils-2.30.90/ld/testsuite/ld-i386/pr20830.d 2018-07-09 10:32:41.113356733 +0100 +@@ -19,7 +19,7 @@ Contents of the .eh_frame section: + DW_CFA_offset: r8 \(eip\) at cfa-4 + DW_CFA_nop + DW_CFA_nop +- ++#pass + 0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133 + DW_CFA_nop + DW_CFA_nop diff --git a/binutils-fix-testsuite-failures.patch b/binutils-fix-testsuite-failures.patch index 6ec4151..b8a1a56 100644 --- a/binutils-fix-testsuite-failures.patch +++ b/binutils-fix-testsuite-failures.patch @@ -321,17 +321,6 @@ diff -rup binutils.orig/gold/testsuite/Makefile.in binutils-2.30/gold/testsuite/ # Get the offset from an S-record line to the start of the data. proc srec_off { l } { ---- binutils.orig/ld/testsuite/ld-x86-64/pr14207.d 2018-05-31 16:14:12.614540068 +0100 -+++ binutils-2.30/ld/testsuite/ld-x86-64/pr14207.d 2018-06-01 11:02:02.438444359 +0100 -@@ -13,7 +13,7 @@ Program Headers: - LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0001c8 0x0001c8 R 0x200000 - LOAD 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW 0x200000 - DYNAMIC 0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW 0x8 -- GNU_RELRO 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.8 0x0004.8 R 0x1 -+ GNU_RELRO 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.. 0x0004.8 R 0x1 - - Section to Segment mapping: - Segment Sections... --- binutils.orig/ld/testsuite/ld-x86-64/pr22001-1b.err 2018-05-31 16:14:12.621539991 +0100 +++ binutils-2.30/ld/testsuite/ld-x86-64/pr22001-1b.err 2018-06-01 11:02:58.554805393 +0100 @@ -1,2 +1,2 @@ @@ -480,39 +469,6 @@ diff -rup binutils.orig/gold/testsuite/Makefile.in binutils-2.30/gold/testsuite/ run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o" # Now try linking a C++ program with global constructors and ---- binutils.orig/ld/testsuite/ld-elf/tls.exp 2018-05-31 16:14:12.665539507 +0100 -+++ binutils-2.30/ld/testsuite/ld-elf/tls.exp 2018-06-01 14:17:13.223211181 +0100 -@@ -37,15 +37,18 @@ if { [which $CC] == 0 } { - return - } - --run_ld_link_tests [list \ -- [list \ -- "Build pr22263-1" \ -- "-pie -e _start -z text" \ -- "" \ -- "" \ -- { pr22263-1a.c pr22263-1b.c } \ -- {{readelf -r pr22263-1.rd}} \ -- "pr22263-1" \ -- "-fPIE -O2" \ -- ] \ --] -+# The s390x system compiler miscompiles these tests. -+if { ! [istarget s390x-*-*] } { -+ run_ld_link_tests [list \ -+ [list \ -+ "Build pr22263-1" \ -+ "-pie -e _start -z text" \ -+ "" \ -+ "" \ -+ { pr22263-1a.c pr22263-1b.c } \ -+ {{readelf -r pr22263-1.rd}} \ -+ "pr22263-1" \ -+ "-fPIE -O2" \ -+ ] \ -+ ] -+} --- binutils.orig/ld/testsuite/ld-elf/indirect.exp 2018-05-31 16:14:12.649539683 +0100 +++ binutils-2.30/ld/testsuite/ld-elf/indirect.exp 2018-06-01 14:32:22.949232924 +0100 @@ -156,12 +156,26 @@ set run_tests { @@ -681,3 +637,21 @@ diff -rup binutils.orig/gold/testsuite/Makefile.in binutils-2.30/gold/testsuite/ if {![ar_simple_create $ar "" "tmpdir/libtext.a" "tmpdir/text.o"] || \ ![ar_simple_create $ar "" "tmpdir/libempty.a" ""]} { +--- binutils.orig/ld/testsuite/ld-elf/tls.exp 2018-07-09 09:49:50.488248175 +0100 ++++ binutils-2.30.90/ld/testsuite/ld-elf/tls.exp 2018-07-09 10:46:26.449688046 +0100 +@@ -39,7 +39,9 @@ if [istarget "sparc*-*-*"] { + append AFLAGS_PIC " -K PIC" + } + +-run_ld_link_tests [list \ ++# The s390x system compiler miscompiles these tests. ++if { ! [istarget s390x-*-*] } { ++ run_ld_link_tests [list \ + [list \ + "Build pr22263-1" \ + "-pie -e _start -z text" \ +@@ -51,3 +53,4 @@ run_ld_link_tests [list \ + "-fPIE -O2" \ + ] \ + ] ++} diff --git a/binutils.spec b/binutils.spec index bbe8e2b..a3016bb 100644 --- a/binutils.spec +++ b/binutils.spec @@ -68,8 +68,8 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} -Version: 2.30 -Release: 26%{?dist} +Version: 2.30.90 +Release: 1%{?dist} License: GPLv3+ URL: https://sourceware.org/binutils @@ -77,7 +77,9 @@ URL: https://sourceware.org/binutils # too many controversial patches so we stick with the official FSF version # instead. -Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz +# Source: http://ftp.gnu.org/gnu/binutils/binutils-% {version}.tar.xz +Source: https://sourceware.org/pub/binutils/snapshots/binutils-%{version}.tar.xz + Source2: binutils-2.19.50.0.1-output-format.sed @@ -100,7 +102,7 @@ Patch02: binutils-2.25-version.patch # Purpose: Exports the demangle.h header file (associated with the libiberty # sources) with the binutils-devel rpm. # Lifetime: Permanent. This is a RHEL/Fedora specific patch. -Patch03: binutils-2.22.52.0.1-export-demangle.h.patch +Patch03: binutils-2.31-export-demangle.h.patch # Purpose: Disables the check in the BFD library's bfd.h header file that # config.h has been included before the bfd.h header. See BZ @@ -116,7 +118,7 @@ Patch04: binutils-2.22.52.0.4-no-config-h-check.patch # Purpose: Import H.J.Lu's Kernel LTO patch. # Lifetime: Permanent, but needs continual updating. # FIXME: Try removing.... -Patch05: binutils-2.26-lto.patch +# Patch05: binutils-2.26-lto.patch # Purpose: Include the filename concerned in readelf error messages. This # makes readelf's output more helpful when it is run on multiple @@ -149,152 +151,9 @@ Patch08: binutils-readelf-other-sym-info.patch # FIXME: Find related bug. Decide on permanency. Patch09: binutils-2.27-aarch64-ifunc.patch -# Purpose: Remove support for inserting PowerPC Speculation Barrier -# instructions from the linker. (It has been deprecated in -# favour of a hardware fix). -# Lifetime: Fixed in 2.30.1 and/or 2.31. -Patch10: binutils-revert-PowerPC-speculation-barriers.patch - -# Purpose: Stop readelf/objdump for searching for DWO links unless -# explicitly requested by the user. -# Lifetime: Fixed in 2.30.1 and/or 2.31. -Patch11: binutils-skip-dwo-search-if-not-needed.patch - -# Purpose: Fix a bug in the BFD linker's layout algorithm which ended up -# placing executable and non-executable pages in the same segment. -# Lifetime: Fixed in 2.30.1 and/or 2.31. -Patch12: binutils-page-to-segment-assignment.patch - -# Purpose: Fix a bug in ld for linking against AARCH64 UEFI -# Lifetime: Fixed in 2.30.1 and/or 2.31 -Patch13: binutils-2.30-allow_R_AARCH64-symbols.patch - -# Purpose: Stop strip from replacing unknown relocs with null relocs. Make -# it return an error status and not strip the file instead. -# Lifetime: Fixed in 2.31. -Patch14: binutils-strip-unknown-relocs.patch - -# Purpose: Improves objdump's function for locating a symbol to match a -# given address, so that it uses a binary chop algorithm. -# Lifetime: Fixed in 2.31. -Patch15: binutils-speed-up-objdump.patch - -# Purpose: Ignore duplicate indirect symbols generated by GOLD. -# Lifetime: Permanent. -# FIXME: This problem needs to be resolved in the FSF sources, but the -# GOLD maintainers seem to be reluctant to address the issue. -Patch16: binutils-2.28-ignore-gold-duplicates.patch - -# Purpose: Treat relocs against STT_GNU_IFUNC symbols in note sections as -# if they were relocs against STT_FUNC symbols instead. -# Lifetime: Fixed in 2.31. -Patch17: binutils-ifunc-relocs-in-notes.patch - -# Purpose: Do not discard debug only object files created by GCC v8's -# LTO wrapper. -# Lifetime: Fixed in 2.31. -Patch18: binutils-debug-section-marking.patch - -# Purpose: Fix the GOLD linker's handling of PROTECTED symbols from the -# LLVM plugin. -# Lifetime: Fixed in 2.31 (probably - check...). -Patch19: binutils-gold-llvm-plugin.patch - -# Purpose: Enhance the assembler so that it will automatically generate -# GNU Build attribute notes if none are present in the inputs. -# Lifetime: Fixed in 2.31 -Patch20: binutils-gas-build-notes.patch - -# Purpose: Fix a seg-fault triggered by running objdump on a corrupt AOUT -# format file. -# Lifetime: Fixed in 2.31 -Patch21: binutils-CVE-2018-7642.patch - -# Purpose: Fix a seg-fault triggered by running readelf or objdump on a -# file containing corrupt DWARF debug information. -# Lifetime: Fixed in 2.31 -Patch22: binutils-CVE-2018-7643.patch - -# Purpose: Fix a seg-fault triggered by running objdump on a corrupt COFF -# format file. -# Lifetime: Fixed in 2.31 -Patch23: binutils-CVE-2018-7208.patch - -# Purpose: Fix a seg-fault triggered by running readelf or objdump on a -# file containing corrupt DWARF debug information. -# Lifetime: Fixed in 2.31 -Patch24: binutils-CVE-2018-10372.patch - -# Purpose: Fix another seg-fault triggered by running readelf or objdump on a -# file containing corrupt DWARF debug information. -# Lifetime: Fixed in 2.31 -Patch25: binutils-CVE-2018-10373.patch - -# Purpose: Fix a seg-fault triggered by running objcopy on a corrupt ELF -# file. -# Lifetime: Fixed in 2.31 -Patch26: binutils-CVE-2018-7570.patch - -# Purpose: Fix a seg-fault triggered by running objcopy on a large ELF -# file on a 32-bit host machine. -# Lifetime: Fixed in 2.31 -Patch27: binutils-CVE-2018-6323.patch - -# Purpose: Fix a seg-fault triggered by running nm on a corrupt ELF file. -# Lifetime: Fixed in 2.31 -Patch28: binutils-CVE-2018-6759.patch - -# Purpose: Fix a seg-fault triggered by running nm on a file containing -# corrupt DWARF information. -# Lifetime: Fixed in 2.31 -Patch29: binutils-CVE-2018-7569.patch - -# Purpose: Fix a seg-fault triggered by running nm on a file containing -# corrupt DWARF information. -# Lifetime: Fixed in 2.31 -Patch30: binutils-CVE-2018-7568.patch - -# Purpose: Fix a seg-fault triggered by running objcopy on a corrupt -# PE format file. -# Lifetime: Fixed in 2.31 -Patch31: binutils-CVE-2018-10534.patch - -# Purpose: Fix a seg-fault triggered by running objcopy on a corrupt -# ELF format file. -# Lifetime: Fixed in 2.31 -Patch32: binutils-CVE-2018-10535.patch - -# Purpose: Have the x86 linker resolve relocations against the _end, -# __bss_start and -edata symbols locally. -# Lifetime: Fixed in 2.31 -Patch33: binutils-x86-local-relocs.patch - -# Purpose: Stop the assembler from generating GNU build notes against -# linkonce sections. -# Lifetime: Fixed in 2.31 -Patch34: binutils-linkonce-notes.patch - -# Purpose: Fix a seg-fault triggered by running objcopy on a corrupt -# PE format file. -# Lifetime: Fixed in 2.31 -Patch35: binutils-CVE-2018-8945.patch - -# Purpose: Fix handling of local version symbols by the x86 linker. -# Lifetime: Fixed in 2.31 -Patch36: binutils-x86-local-version.patch - # Purpose: Fix linker testsuite failures -# Lifetime: Fixed in 2.31 (probably) -Patch37: binutils-fix-testsuite-failures.patch - -# Purpose: Correct warning messages about incompatible PowerPC IEEE -# long double sizes in different binaries. -# Lifetime: Fixed in 2.31. -Patch38: binutils-PowerPC-IEEE-long-double-warnings.patch - -# Purpose: Fix the generation of relocations for assembler generated notes. -# Lifetime: Fixed in 2.31. -Patch39: binutils-missing-notes.patch +# Lifetime: Fixed in 2.32 (probably) +Patch10: binutils-fix-testsuite-failures.patch #---------------------------------------------------------------------------- @@ -424,41 +283,12 @@ using libelf instead of BFD. %patch02 -p1 %patch03 -p1 %patch04 -p1 -%patch05 -p1 +# %patch05 -p1 %patch06 -p1 %patch07 -p1 %patch08 -p1 %patch09 -p1 %patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -866,11 +696,14 @@ exit 0 #---------------------------------------------------------------------------- %changelog +* Mon Jul 9 2018 Peter Robinson 2.30.90-1 +- Rebase to a snapshot of the soon-to-be-created 2.31 FSF release. + * Fri Jul 6 2018 Peter Robinson 2.30-26 -- Fix the generation of relocations for assembler created notes. +- Fix the generation of relocations for assembler created notes. (#1598551) * Wed Jul 4 2018 Peter Robinson 2.30-25 -- Minor spec cleanups and fixes +- Minor spec cleanups and fixes. * Mon Jun 18 2018 Nick Clifton 2.30-24 - When installing both ld.bfd and ld.gold, do not reset the current alternative if upgrading. (#1592069) diff --git a/sources b/sources index dc81fad..c35ee22 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (binutils-2.30.tar.xz) = e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 -SHA512 (binutils-2.19.50.0.1-output-format.sed) = 2f8686b0c8af13c98cda056824c2820416f6e2d003f70b78ccf5314525b9ee3684d421dfa83e638a2d42d06ea4d4bdaf5226b64d6ec26f7ff59c44ffb2a23dd2 +SHA512 (binutils-2.30.90.tar.xz) = 927ffb2bf771d93e58f482521ed31e94cecf5e5257adbc7e279ef24d1b0cd230f2c2254934520d99c2dbeab89e9d1471ca58bc0872a2d150dc2cee39c7df3527