From a432cc3d1ca43fdeeb1f0bf160b3531533629132 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 22 Feb 2000 05:52:59 +0000 Subject: [PATCH] * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for invalid relocation types, and change them to R_386_NONE. --- bfd/ChangeLog | 13 +++++++++++++ bfd/elf32-i386.c | 9 ++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d5bf4dd5e96..da0d94da03b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,16 @@ +2000-02-22 Ian Lance Taylor + + * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for + invalid relocation types, and change them to R_386_NONE. + +2000-02-22 H.J. Lu + + * elflink.h (elf_bfd_final_link): Call output_extsym for global + symbols converted to local symbols even when stripping all + symbols. + (elf_link_output_extsym): Process global symbols converted to + local symbols even if they are being stripped. + 2000-02-21 Alan Modra * archures.c (bfd_octets_per_byte): Return unsigned int. diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 08944761d9e..0153fa872eb 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -231,11 +231,14 @@ elf_i386_info_to_howto_rel (abfd, cache_ptr, dst) cache_ptr->howto = &elf32_i386_vtinherit_howto; else if (type == R_386_GNU_VTENTRY) cache_ptr->howto = &elf32_i386_vtentry_howto; + else if (type < R_386_max + && (type < FIRST_INVALID_RELOC || type > LAST_INVALID_RELOC)) + cache_ptr->howto = &elf_howto_table[(int) type]; else { - BFD_ASSERT (type < R_386_max); - BFD_ASSERT (type < FIRST_INVALID_RELOC || type > LAST_INVALID_RELOC); - cache_ptr->howto = &elf_howto_table[(int) type]; + (*_bfd_error_handler) (_("%s: invalid relocation type %d"), + bfd_get_filename (abfd), (int) type); + cache_ptr->howto = &elf_howto_table[(int) R_386_NONE]; } } -- 2.30.2