* 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 07bf67f42312de838bbaa7a53a6fb1c7c1f5fba5..3cf66b30f07f85f3536e2f410e7fbca9d8ee835e 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 588041bc26e5e71392cf871766e316e00085ba17..a597dbc62629f8d9cd7615b85bf23a7a8c272f54 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",