Blame binutils-debug-section-marking.patch
|
Nick Clifton |
ee826a |
--- binutils.orig/bfd/elflink.c 2018-03-14 10:14:49.729271271 +0000
|
|
Nick Clifton |
ee826a |
+++ binutils-2.30/bfd/elflink.c 2018-03-14 10:15:15.748967793 +0000
|
|
Nick Clifton |
ee826a |
@@ -12785,7 +12785,7 @@ _bfd_elf_gc_mark_hook (asection *sec,
|
|
Nick Clifton |
ee826a |
return NULL;
|
|
Nick Clifton |
ee826a |
}
|
|
Nick Clifton |
ee826a |
|
|
Nick Clifton |
ee826a |
-/* Return the global debug definition section. */
|
|
Nick Clifton |
ee826a |
+/* Return the debug definition section. */
|
|
Nick Clifton |
ee826a |
|
|
Nick Clifton |
ee826a |
static asection *
|
|
Nick Clifton |
ee826a |
elf_gc_mark_debug_section (asection *sec ATTRIBUTE_UNUSED,
|
|
Nick Clifton |
ee826a |
@@ -12794,11 +12794,22 @@ elf_gc_mark_debug_section (asection *sec
|
|
Nick Clifton |
ee826a |
struct elf_link_hash_entry *h,
|
|
Nick Clifton |
ee826a |
Elf_Internal_Sym *sym ATTRIBUTE_UNUSED)
|
|
Nick Clifton |
ee826a |
{
|
|
Nick Clifton |
ee826a |
- if (h != NULL
|
|
Nick Clifton |
ee826a |
- && (h->root.type == bfd_link_hash_defined
|
|
Nick Clifton |
ee826a |
- || h->root.type == bfd_link_hash_defweak)
|
|
Nick Clifton |
ee826a |
- && (h->root.u.def.section->flags & SEC_DEBUGGING) != 0)
|
|
Nick Clifton |
ee826a |
- return h->root.u.def.section;
|
|
Nick Clifton |
ee826a |
+ if (h != NULL)
|
|
Nick Clifton |
ee826a |
+ {
|
|
Nick Clifton |
ee826a |
+ /* Return the global debug definition section. */
|
|
Nick Clifton |
ee826a |
+ if ((h->root.type == bfd_link_hash_defined
|
|
Nick Clifton |
ee826a |
+ || h->root.type == bfd_link_hash_defweak)
|
|
Nick Clifton |
ee826a |
+ && (h->root.u.def.section->flags & SEC_DEBUGGING) != 0)
|
|
Nick Clifton |
ee826a |
+ return h->root.u.def.section;
|
|
Nick Clifton |
ee826a |
+ }
|
|
Nick Clifton |
ee826a |
+ else
|
|
Nick Clifton |
ee826a |
+ {
|
|
Nick Clifton |
ee826a |
+ /* Return the local debug definition section. */
|
|
Nick Clifton |
ee826a |
+ asection *isec = bfd_section_from_elf_index (sec->owner,
|
|
Nick Clifton |
ee826a |
+ sym->st_shndx);
|
|
Nick Clifton |
ee826a |
+ if ((isec->flags & SEC_DEBUGGING) != 0)
|
|
Nick Clifton |
ee826a |
+ return isec;
|
|
Nick Clifton |
ee826a |
+ }
|
|
Nick Clifton |
ee826a |
|
|
Nick Clifton |
ee826a |
return NULL;
|
|
Nick Clifton |
ee826a |
}
|