* struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
authorIan Lance Taylor <ian@airs.com>
Fri, 11 Jun 1999 21:07:46 +0000 (21:07 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 11 Jun 1999 21:07:46 +0000 (21:07 +0000)
* symbols.c: Likewise.
* config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
sy_next field when taking address, rather than symbol_next.

gas/ChangeLog
gas/config/obj-aout.c
gas/struc-symbol.h
gas/symbols.c

index 6c86b95b0c14bac8e96714dc6f3512408ad8aebd..3a0a2e8940cce43d6cb20874921d9bd937885fd1 100644 (file)
@@ -1,3 +1,20 @@
+1999-06-12  Ian Lance Taylor  <ian@zembu.com>
+
+       * config/tc-i386.c (i386_immediate): Remove unused label
+       seg_unimplemented.
+
+       * struc-symbol.h: Put local_symbol code in ifdef BFD_ASSEMBLER.
+       * symbols.c: Likewise.
+       * config/obj-aout.c (obj_crawl_symbol_chain): Refer directly to
+       sy_next field when taking address, rather than symbol_next.
+
+       * dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
+       offsetT.
+       (out_set_addr): Don't use BYTES_PER_ADDRESS.  Instead, get the
+       value from the output file architecture.
+       (dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
+       * dwarf2dbg.h: Change bfd_vma to addressT.
+
 1999-06-11  Ian Lance Taylor  <ian@zembu.com>
 
        * dwarf2dbg.h: Use PARAMS in function declarations.
index 5465ef493c121ff94fdb9320b1a130d7de9a8a75..98db46105e219862a7f28b9d1dfe7b720a6a7da1 100644 (file)
@@ -512,7 +512,7 @@ obj_crawl_symbol_chain (headers)
            }
          else                  /* .Stabd case. */
            symbolP->sy_name_offset = 0;
-         symbolPP = &(symbol_next (symbolP));
+         symbolPP = &symbolP->sy_next;
        }
       else
        {
index 1087c2b9f44faaf3ce7d90e81bc88e0241b1828b..75735661bf2c01b22ebcf064b9ad4e59cf3d439d 100644 (file)
@@ -90,6 +90,8 @@ struct symbol
 #endif
 };
 
+#ifdef BFD_ASSEMBLER
+
 /* A pointer in the symbol may point to either a complete symbol
    (struct symbol above) or to a local symbol (struct local_symbol
    defined here).  The symbol code can detect the case by examining
@@ -137,6 +139,8 @@ struct local_symbol
 #define local_symbol_get_real_symbol(l) ((l)->u.lsy_sym)
 #define local_symbol_set_real_symbol(l, s) ((l)->u.lsy_sym = (s))
 
+#endif /* BFD_ASSEMBLER */
+
 #endif /* __struc_symbol_h__ */
 
 /* end of struc-symbol.h */
index d47371ed67abbc7045db972f4368b5c503895a72..dae202f7922e9d9864981cea75f5cb766d8227a2 100644 (file)
@@ -354,6 +354,7 @@ colon (sym_name)            /* just seen "x:" - rattle symbols & frags */
        */
       if (LOCAL_SYMBOL_CHECK (symbolP))
        {
+#ifdef BFD_ASSEMBLER
          struct local_symbol *locsym = (struct local_symbol *) symbolP;
 
          if (locsym->lsy_section != undefined_section
@@ -368,6 +369,7 @@ colon (sym_name)            /* just seen "x:" - rattle symbols & frags */
          locsym->lsy_section = now_seg;
          local_symbol_set_frag (locsym, frag_now);
          locsym->lsy_offset = frag_now_fix ();
+#endif
        }
       else if (!S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP))
        {
@@ -615,8 +617,6 @@ symbol_find_base (name, strip_underscore)
      CONST char *name;
      int strip_underscore;
 {
-  struct local_symbol *locsym;
-
   if (strip_underscore && *name == '_')
     name++;
 
@@ -649,9 +649,15 @@ symbol_find_base (name, strip_underscore)
       *copy = '\0';
     }
 
-  locsym = (struct local_symbol *) hash_find (local_hash, name);
-  if (locsym != NULL)
-    return (symbolS *) locsym;
+#ifdef BFD_ASSEMBLER
+  {
+    struct local_symbol *locsym;
+
+    locsym = (struct local_symbol *) hash_find (local_hash, name);
+    if (locsym != NULL)
+      return (symbolS *) locsym;
+  }
+#endif
 
   return ((symbolS *) hash_find (sy_hash, name));
 }
@@ -844,6 +850,7 @@ resolve_symbol_value (symp, finalize)
   valueT final_val;
   segT final_seg;
 
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (symp))
     {
       struct local_symbol *locsym = (struct local_symbol *) symp;
@@ -862,6 +869,7 @@ resolve_symbol_value (symp, finalize)
 
       return final_val;
     }
+#endif
 
   if (symp->sy_resolved)
     {
@@ -1566,8 +1574,10 @@ valueT
 S_GET_VALUE (s)
      symbolS *s;
 {
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (s))
     return ((struct local_symbol *) s)->lsy_offset;
+#endif
 
   if (!s->sy_resolved && s->sy_value.X_op != O_constant)
     resolve_symbol_value (s, 1);
@@ -1598,11 +1608,13 @@ S_SET_VALUE (s, val)
      symbolS *s;
      valueT val;
 {
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (s))
     {
       ((struct local_symbol *) s)->lsy_offset = val;
       return;
     }
+#endif
 
   s->sy_value.X_op = O_constant;
   s->sy_value.X_add_number = (offsetT) val;
@@ -1909,11 +1921,13 @@ symbol_set_frag (s, f)
      symbolS *s;
      fragS *f;
 {
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (s))
     {
       local_symbol_set_frag ((struct local_symbol *) s, f);
       return;
     }
+#endif
   s->sy_frag = f;
 }
 
@@ -1923,8 +1937,10 @@ fragS *
 symbol_get_frag (s)
      symbolS *s;
 {
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (s))
     return local_symbol_get_frag ((struct local_symbol *) s);
+#endif
   return s->sy_frag;
 }
 
@@ -2066,11 +2082,13 @@ void
 symbol_mark_resolved (s)
      symbolS *s;
 {
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (s))
     {
       local_symbol_mark_resolved ((struct local_symbol *) s);
       return;
     }
+#endif
   s->sy_resolved = 1;
 }
 
@@ -2080,8 +2098,10 @@ int
 symbol_resolved_p (s)
      symbolS *s;
 {
+#ifdef BFD_ASSEMBLER
   if (LOCAL_SYMBOL_CHECK (s))
     return local_symbol_resolved_p ((struct local_symbol *) s);
+#endif
   return s->sy_resolved;
 }
 
@@ -2260,6 +2280,7 @@ print_symbol_value_1 (file, sym)
 
   if (LOCAL_SYMBOL_CHECK (sym))
     {
+#ifdef BFD_ASSEMBLER
       struct local_symbol *locsym = (struct local_symbol *) sym;
       if (local_symbol_get_frag (locsym) != &zero_address_frag
          && local_symbol_get_frag (locsym) != NULL)
@@ -2267,6 +2288,7 @@ print_symbol_value_1 (file, sym)
       if (local_symbol_resolved_p (locsym))
        fprintf (file, " resolved");
       fprintf (file, " local");
+#endif
     }
   else
     {
@@ -2305,10 +2327,12 @@ print_symbol_value_1 (file, sym)
     {
       indent_level++;
       fprintf (file, "\n%*s<", indent_level * 4, "");
+#ifdef BFD_ASSEMBLER
       if (LOCAL_SYMBOL_CHECK (sym))
        fprintf (file, "constant %lx",
                 (long) ((struct local_symbol *) sym)->lsy_offset);
       else
+#endif
        print_expr_1 (file, &sym->sy_value);
       fprintf (file, ">");
       indent_level--;