* elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
authorJeff Law <law@redhat.com>
Wed, 16 Oct 1996 04:18:51 +0000 (04:18 +0000)
committerJeff Law <law@redhat.com>
Wed, 16 Oct 1996 04:18:51 +0000 (04:18 +0000)
        accept a reloc against an undefined sybmol!
jeez.  I'm going to go sit in the corner and hide.

bfd/ChangeLog
bfd/elf32-v850.c

index 245b7bbec258a15397715e8f536de5ea37a21306..bee588fe470b3dd9651ed2f75533e19e5286a8f1 100644 (file)
@@ -1,4 +1,9 @@
 start-sanitize-v850
+Tue Oct 15 22:17:37 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
+       accept a reloc against an undefined sybmol!
+
 Tue Oct 15 16:17:28 1996  Stu Grossman  (grossman@critters.cygnus.com)
 
        * elf32-v850.c:  Define elf_symbol_leading_char to be '_'.
index 626a21daafb278c641c8b6c069741bc8463e64f2..b2dfbc3f0d869447ebbbb53ebcf4bcfe47bd2bc5 100644 (file)
@@ -264,6 +264,12 @@ bfd_elf32_v850_reloc (abfd, reloc, symbol, data, isection, obfd, err)
       return bfd_reloc_continue;
     }
 
+  /* Catch relocs involving undefined symbols.  */
+  if (bfd_is_und_section (symbol->section)
+      && (symbol->flags & BSF_WEAK) == 0
+      && obfd == NULL)
+    return bfd_reloc_undefined;
+
   /* We handle final linking of some relocs ourselves.  */
     {
       long relocation, insn;