(s_reserve): If section passed isn't bss, don't spew remainder of input file in
authorKen Raeburn <raeburn@cygnus>
Tue, 5 Apr 1994 18:16:37 +0000 (18:16 +0000)
committerKen Raeburn <raeburn@cygnus>
Tue, 5 Apr 1994 18:16:37 +0000 (18:16 +0000)
error message.
(tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
message with reloc type and try to process remainder of file.

gas/config/tc-sparc.c

index 4274dedbc9745e3b52fa9bf62d51175476dc55c1..7574e16be000c27f75f87551f2deb2c1521cfdcb 100644 (file)
@@ -202,7 +202,7 @@ s_reserve (ignore)
   if (strncmp (input_line_pointer, ",\"bss\"", 6) != 0
       && strncmp (input_line_pointer, ",\".bss\"", 7) != 0)
     {
-      as_bad ("bad .reserve segment: `%s'", input_line_pointer);
+      as_bad ("bad .reserve segment -- expected BSS segment", input_line_pointer);
       return;
     }
 
@@ -2110,7 +2110,13 @@ tc_gen_reloc (section, fixp)
       abort ();
     }
   reloc->howto = bfd_reloc_type_lookup (stdoutput, code);
-  assert (reloc->howto != 0);
+  if (reloc->howto == 0)
+    {
+      as_bad_where (fixp->fx_file, fixp->fx_line,
+                   "internal error: can't export reloc type %d",
+                   fixp->fx_r_type);
+      return 0;
+    }
   assert (!fixp->fx_pcrel == !reloc->howto->pc_relative);
 
   /* @@ Why fx_addnumber sometimes and fx_offset other times?  */