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