diff options
author | Nick Clifton <nickc@redhat.com> | 2019-08-23 13:22:02 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-08-23 13:22:02 +0100 |
commit | a7ba389645d178c43100ec47e513389ae8bf8f93 (patch) | |
tree | a7649e5de50bd8aa8e8f8021d880fe4d30ac46dd /bfd | |
parent | 2600d80ccd04666f28608364be74d7ee552977ae (diff) | |
download | gdb-a7ba389645d178c43100ec47e513389ae8bf8f93.zip gdb-a7ba389645d178c43100ec47e513389ae8bf8f93.tar.gz gdb-a7ba389645d178c43100ec47e513389ae8bf8f93.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-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; |