66b412
--- binutils.orig/bfd/elf.c	2019-09-10 10:57:33.391081672 +0100
66b412
+++ binutils-2.27/bfd/elf.c	2019-09-10 10:59:55.355010766 +0100
66b412
@@ -2324,9 +2324,18 @@ bfd_section_from_shdr (bfd *abfd, unsign
66b412
 	else
66b412
 	  p_hdr = &esdt->rel.hdr;
66b412
 
66b412
-	/* PR 17512: file: 0b4f81b7.  */
66b412
+	/* PR 17512: file: 0b4f81b7.
66b412
+	   Also see PR 24456, for a file which deliberately has two reloc
66b412
+	   sections.  */
66b412
 	if (*p_hdr != NULL)
66b412
-	  goto fail;
66b412
+	  {
66b412
+	    _bfd_error_handler
66b412
+	      /* xgettext:c-format */
66b412
+	      (_("%B: warning: multiple relocation sections for section %A \
66b412
+found - ignoring all but the first"),
66b412
+	       abfd, target_sect);
66b412
+	    goto success;
66b412
+	  }
66b412
 	hdr2 = (Elf_Internal_Shdr *) bfd_alloc (abfd, sizeof (*hdr2));
66b412
 	if (hdr2 == NULL)
66b412
 	  goto fail;