aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2003-02-25 04:39:32 +0000
committerAlan Modra <amodra@gmail.com>2003-02-25 04:39:32 +0000
commit4fabe71ea97e3d8c3241fe923619a7ad7f688842 (patch)
tree00e00a9282bef07ac16df6074a12866b40deba37
parent3f9a32bd0be95e8849906f47e660f1ab94045eff (diff)
downloadgdb-4fabe71ea97e3d8c3241fe923619a7ad7f688842.zip
gdb-4fabe71ea97e3d8c3241fe923619a7ad7f688842.tar.gz
gdb-4fabe71ea97e3d8c3241fe923619a7ad7f688842.tar.bz2
* 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 eb0e000..bf733ca 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 bcc7d1f..7d2d2e2 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;