From: Nick Clifton Date: Fri, 23 Aug 2019 12:22:02 +0000 (+0100) Subject: Stop the BFD library from failing when encountering a second set of relocs for the... X-Git-Tag: binutils-2_33~123 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a7ba389645d178c43100ec47e513389ae8bf8f93;p=platform%2Fupstream%2Fbinutils.git Stop the BFD library from failing when encountering a second set of relocs for the same section. 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. --- 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 + + 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 PR 24933 diff --git a/bfd/elf.c b/bfd/elf.c index 42ae162..5a061c9 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -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;