Do not discard debugobj files created by GCC v8 LTO wrapper.
Resolves: #1543912
This commit is contained in:
parent
92298b1c04
commit
c05cfd7b3e
39
binutils-debug-section-marking.patch
Normal file
39
binutils-debug-section-marking.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
--- binutils.orig/bfd/elflink.c 2018-03-14 10:14:49.729271271 +0000
|
||||||
|
+++ binutils-2.30/bfd/elflink.c 2018-03-14 10:15:15.748967793 +0000
|
||||||
|
@@ -12785,7 +12785,7 @@ _bfd_elf_gc_mark_hook (asection *sec,
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* Return the global debug definition section. */
|
||||||
|
+/* Return the debug definition section. */
|
||||||
|
|
||||||
|
static asection *
|
||||||
|
elf_gc_mark_debug_section (asection *sec ATTRIBUTE_UNUSED,
|
||||||
|
@@ -12794,11 +12794,22 @@ elf_gc_mark_debug_section (asection *sec
|
||||||
|
struct elf_link_hash_entry *h,
|
||||||
|
Elf_Internal_Sym *sym ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
- if (h != NULL
|
||||||
|
- && (h->root.type == bfd_link_hash_defined
|
||||||
|
- || h->root.type == bfd_link_hash_defweak)
|
||||||
|
- && (h->root.u.def.section->flags & SEC_DEBUGGING) != 0)
|
||||||
|
- return h->root.u.def.section;
|
||||||
|
+ if (h != NULL)
|
||||||
|
+ {
|
||||||
|
+ /* Return the global debug definition section. */
|
||||||
|
+ if ((h->root.type == bfd_link_hash_defined
|
||||||
|
+ || h->root.type == bfd_link_hash_defweak)
|
||||||
|
+ && (h->root.u.def.section->flags & SEC_DEBUGGING) != 0)
|
||||||
|
+ return h->root.u.def.section;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ /* Return the local debug definition section. */
|
||||||
|
+ asection *isec = bfd_section_from_elf_index (sec->owner,
|
||||||
|
+ sym->st_shndx);
|
||||||
|
+ if ((isec->flags & SEC_DEBUGGING) != 0)
|
||||||
|
+ return isec;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
@ -62,7 +62,7 @@
|
|||||||
Summary: A GNU collection of binary utilities
|
Summary: A GNU collection of binary utilities
|
||||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||||
Version: 2.30
|
Version: 2.30
|
||||||
Release: 12%{?dist}
|
Release: 13%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: https://sourceware.org/binutils
|
URL: https://sourceware.org/binutils
|
||||||
@ -184,6 +184,11 @@ Patch16: binutils-2.28-ignore-gold-duplicates.patch
|
|||||||
# Lifetime: Fixed in 2.31.
|
# Lifetime: Fixed in 2.31.
|
||||||
Patch17: binutils-ifunc-relocs-in-notes.patch
|
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
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
Provides: bundled(libiberty)
|
Provides: bundled(libiberty)
|
||||||
@ -326,6 +331,7 @@ using libelf instead of BFD.
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
%patch17 -p1
|
%patch17 -p1
|
||||||
|
%patch18 -p1
|
||||||
|
|
||||||
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
||||||
|
|
||||||
@ -734,6 +740,9 @@ exit 0
|
|||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 14 2018 Nick Clifton <nickc@redhat.com> 2.30-13
|
||||||
|
- Do not discard debugobj files created by GCC v8 LTO wrapper. (#1543912 and RHBZ 84847 and PR 20882)
|
||||||
|
|
||||||
* Fri Mar 09 2018 Nick Clifton <nickc@redhat.com> 2.30-12
|
* Fri Mar 09 2018 Nick Clifton <nickc@redhat.com> 2.30-12
|
||||||
- Treat relocs against s390x IFUNC symbols in note sections as relocs against the FUNC symbol instead.
|
- Treat relocs against s390x IFUNC symbols in note sections as relocs against the FUNC symbol instead.
|
||||||
- Combined previous patches into one which covers all ifunc supporting architectures.
|
- Combined previous patches into one which covers all ifunc supporting architectures.
|
||||||
|
Loading…
Reference in New Issue
Block a user