diff --git a/SOURCES/binutils-ppc64le-note-merge.patch b/SOURCES/binutils-ppc64le-note-merge.patch index 3619c55..47d2aee 100644 --- a/SOURCES/binutils-ppc64le-note-merge.patch +++ b/SOURCES/binutils-ppc64le-note-merge.patch @@ -12,3 +12,31 @@ if (is_open_note (pnote)) { if (start) +--- binutils.orig/binutils/objcopy.c 2021-02-22 16:04:09.390542219 +0000 ++++ binutils-2.30/binutils/objcopy.c 2021-02-22 16:04:32.214392597 +0000 +@@ -2195,23 +2195,8 @@ merge_gnu_build_notes (bfd * ab + break; + + case 8: +- if (! is_64bit (abfd)) +- { +- start = bfd_get_32 (abfd, pnote->note.descdata); +- end = bfd_get_32 (abfd, pnote->note.descdata + 4); +- } +- else +- { +- start = bfd_get_64 (abfd, pnote->note.descdata); +- /* FIXME: For version 1 and 2 notes we should try to +- calculate the end address by finding a symbol whose +- value is START, and then adding in its size. +- +- For now though, since v1 and v2 was not intended to +- handle gaps, we chose an artificially large end +- address. */ +- end = (bfd_vma) 0x7ffffffffffffffUL; +- } ++ start = bfd_get_32 (abfd, pnote->note.descdata); ++ end = bfd_get_32 (abfd, pnote->note.descdata + 4); + break; + + case 16: diff --git a/SPECS/binutils.spec b/SPECS/binutils.spec index 011f86d..7f2e146 100644 --- a/SPECS/binutils.spec +++ b/SPECS/binutils.spec @@ -43,7 +43,7 @@ Summary: A GNU collection of binary utilities Name: binutils%{?name_cross}%{?_with_debug:-debug} Version: 2.30 -Release: 92%{?dist} +Release: 93%{?dist} License: GPLv3+ URL: https://sourceware.org/binutils @@ -1215,6 +1215,9 @@ exit 0 #---------------------------------------------------------------------------- %changelog +* Thu Feb 18 2021 Nick Clifton - 2.30-93 +- Fix merging ppc64le notes. (#1928936) + * Thu Feb 18 2021 Nick Clifton - 2.30-92 - Fix merging ppc64le notes. (#1928936)