Do not abort if tcbit is still set. Issue an error message instead.
authorNick Clifton <nickc@redhat.com>
Thu, 25 Jan 2001 20:26:17 +0000 (20:26 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 25 Jan 2001 20:26:17 +0000 (20:26 +0000)
Fix compile time warnings

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

index 9cd3ed0adf7647f7a4c1155eee82dcff79fa6e30..c3a423dd3859dbdaed19d1c011fcaf078eca88b4 100644 (file)
@@ -1,3 +1,10 @@
+2001-01-25  Nick Clifton  <nickc@redhat.com>
+
+       * config/tc-m68k.c (tc_gen_reloc): Do not abort if tcbit is
+       still set.  Issue an error message instead.
+       (md_estimate_size_before_relax): Delete unused variable
+       'buffer_address'.  Fixup parentheses around if statement.
+       
 2001-01-23  Kazu Hirata  <kazu@hxi.com>
 
        * as.c: Fix formatting.
index efd015fe0675e208b06126653d95d4f3efbada8a..7b1926c37b185ba2854fc4ffd17f8e6c9fd29cb5 100644 (file)
@@ -874,8 +874,18 @@ tc_gen_reloc (section, fixp)
   arelent *reloc;
   bfd_reloc_code_real_type code;
 
+  /* If the tcbit is set, then this was a fixup of a negative value
+     that was never resolved.  We do not have a reloc to handle this,
+     so just return.  We assume that other code will have detected this
+     situation and produced a helpful error message, so we just tell the
+     user that the reloc cannot be produced.  */
   if (fixp->fx_tcbit)
-    abort ();
+    {
+      if (fixp->fx_addsy)
+       as_bad (_("Unable to produce reloc against symbol '%s'"),
+               S_GET_NAME (fixp->fx_addsy));
+      return NULL;
+    }
 
   if (fixp->fx_r_type != BFD_RELOC_NONE)
     {
@@ -4564,7 +4574,6 @@ md_estimate_size_before_relax (fragP, segment)
      segT segment;
 {
   int old_fix;
-  register char *buffer_address = fragP->fr_fix + fragP->fr_literal;
 
   old_fix = fragP->fr_fix;
 
@@ -4652,8 +4661,8 @@ md_estimate_size_before_relax (fragP, segment)
     case TAB (DBCCLBR, SZ_UNDEF):
     case TAB (DBCCABSJ, SZ_UNDEF):
       {
-       if (S_GET_SEGMENT (fragP->fr_symbol) == segment
-           && relaxable_symbol (fragP->fr_symbol)
+       if ((S_GET_SEGMENT (fragP->fr_symbol) == segment
+            && relaxable_symbol (fragP->fr_symbol))
            || flag_short_refs)
          {
            fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT);