* config/tc-alpha.c (tc_gen_reloc): Output a sensible error
authorIan Lance Taylor <ian@airs.com>
Wed, 19 Jun 1996 17:01:22 +0000 (17:01 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 19 Jun 1996 17:01:22 +0000 (17:01 +0000)
  message if bfd_reloc_type_lookup fails, rather than calling
  assert.

gas/ChangeLog
gas/config/tc-alpha.c

index 07bf67f..3cf66b3 100644 (file)
@@ -1,5 +1,9 @@
 Wed Jun 19 11:31:50 1996  Ian Lance Taylor  <ian@cygnus.com>
 
+       * config/tc-alpha.c (tc_gen_reloc): Output a sensible error
+       message if bfd_reloc_type_lookup fails, rather than calling
+       assert.
+
        * config/tc-alpha.c (alpha_force_relocation): Add
        BFD_RELOC_12_PCREL to switch.
 
index 588041b..a597dbc 100644 (file)
@@ -442,7 +442,13 @@ tc_gen_reloc (sec, fixp)
     }
   else
     reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
-  assert (reloc->howto != 0);
+  if (reloc->howto == NULL)
+    {
+      as_bad_where (fixp->fx_file, fixp->fx_line,
+                   "cannot represent `%s' relocation in object file",
+                   bfd_get_reloc_code_name (fixp->fx_r_type));
+      return NULL;
+    }
   if (!fixp->fx_pcrel != !reloc->howto->pc_relative)
     {
       as_fatal ("internal error? cannot generate `%s' relocation",