* elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for
authorIan Lance Taylor <ian@airs.com>
Tue, 22 Feb 2000 05:52:59 +0000 (05:52 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 22 Feb 2000 05:52:59 +0000 (05:52 +0000)
invalid relocation types, and change them to R_386_NONE.

bfd/ChangeLog
bfd/elf32-i386.c

index d5bf4dd5e9687a1d85bce3170954bd128ff3114f..da0d94da03b73633e57fd95cbc1e50761f3c1968 100644 (file)
@@ -1,3 +1,16 @@
+2000-02-22  Ian Lance Taylor  <ian@zembu.com>
+
+       * 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  <hjl@gnu.org>
+
+        * 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  <alan@spri.levels.unisa.edu.au>
 
        * archures.c (bfd_octets_per_byte): Return unsigned int.
index 08944761d9e216c49a380d2e08add3a758cbd0ea..0153fa872eb98704a98356ac5198b209b472cb18 100644 (file)
@@ -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];
     }
 }