summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2003-02-25 04:39:32 +0000
committerAlan Modra <amodra@bigpond.net.au>2003-02-25 04:39:32 +0000
commit186e2af56c53c2d7bb22a1110443a1244ff02651 (patch)
tree723273bc231171b5292e22a862f3fdd8ad7223f7
parent0f8738a868d86cb9983c7e4c2d96647fd295fffa (diff)
downloadgdb-186e2af56c53c2d7bb22a1110443a1244ff02651.tar.gz
* elflink.h (elf_link_read_relocs_from_section): Don't abort with
wrong reloc sizes.
-rw-r--r--bfd/ChangeLog2
-rw-r--r--bfd/elflink.h5
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index eb0e0006ece..bf733ca76a2 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -3,6 +3,8 @@
* elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
and rel_hdr2 when initially counting input relocs rather than after
creating output reloc sections.
+ (elf_link_read_relocs_from_section): Don't abort with wrong reloc
+ sizes.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
diff --git a/bfd/elflink.h b/bfd/elflink.h
index bcc7d1f7c2c..7d2d2e24eae 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -2579,7 +2579,10 @@ elf_link_read_relocs_from_section (abfd, shdr, external_relocs,
else if (shdr->sh_entsize == sizeof (Elf_External_Rela))
swap_in = bed->s->swap_reloca_in;
else
- abort ();
+ {
+ bfd_set_error (bfd_error_wrong_format);
+ return FALSE;
+ }
erela = external_relocs;
erelaend = erela + NUM_SHDR_ENTRIES (shdr) * shdr->sh_entsize;