diff options
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/elf.c | 13 |
2 files changed, 19 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b39acb1..00afa81 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2019-08-23 Nick Clifton <nickc@redhat.com> + + PR 24456 + * elf.c (bfd_section_from_shdr): Issue an informative warning + message and continue processing other sections after encountering + a reloc section for a section which already has other relocs + associated with it. + 2019-08-23 Alan Modra <amodra@gmail.com> PR 24933 @@ -2466,9 +2466,18 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex) else p_hdr = &esdt->rel.hdr; - /* PR 17512: file: 0b4f81b7. */ + /* PR 17512: file: 0b4f81b7. + Also see PR 24456, for a file which deliberately has two reloc + sections. */ if (*p_hdr != NULL) - goto fail; + { + _bfd_error_handler + /* xgettext:c-format */ + (_("%pB: warning: multiple relocation sections for section %pA \ +found - ignoring all but the first"), + abfd, target_sect); + goto success; + } hdr2 = (Elf_Internal_Shdr *) bfd_alloc (abfd, sizeof (*hdr2)); if (hdr2 == NULL) goto fail; |