* aoutx.h (aout_link_write_symbols): Rename skip_indirect to
authorIan Lance Taylor <ian@airs.com>
Wed, 14 Sep 1994 23:28:25 +0000 (23:28 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 14 Sep 1994 23:28:25 +0000 (23:28 +0000)
skip_next.  If we find an N_WARNING symbol which has already been
written out, set skip_next.
PR 5634.

bfd/ChangeLog
bfd/aoutx.h

index c6d2991981c6e455861907a19bad3422fc72e865..5e1137d097a62e5bce3a9b539f61071aee13fc3b 100644 (file)
@@ -18,6 +18,10 @@ Wed Sep 14 15:37:19 1994  Jeff Law  (law@snake.cs.utah.edu)
 
 Wed Sep 14 15:06:55 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
 
+       * aoutx.h (aout_link_write_symbols): Rename skip_indirect to
+       skip_next.  If we find an N_WARNING symbol which has already been
+       written out, set skip_next.
+
        * libecoff.h (struct ecoff_tdata): Add field find_buffer.
        * ecoff.c: Include aout/stab_gnu.h.
        (ecoff_find_nearest_line): Handle stabs debugging information.
index c800bb717a3aaa3bdd3dca945904d1fecdf5f62c..042472d5929cb3b48d82f9e868de3be29155108e 100644 (file)
@@ -3609,7 +3609,7 @@ aout_link_write_symbols (finfo, input_bfd)
   struct aout_link_hash_entry **sym_hash;
   int *symbol_map;
   boolean pass;
-  boolean skip_indirect;
+  boolean skip_next;
 
   output_bfd = finfo->output_bfd;
   sym_count = obj_aout_external_sym_count (input_bfd);
@@ -3644,7 +3644,7 @@ aout_link_write_symbols (finfo, input_bfd)
     }
 
   pass = false;
-  skip_indirect = false;
+  skip_next = false;
   sym = obj_aout_external_syms (input_bfd);
   sym_end = sym + sym_count;
   sym_hash = obj_aout_sym_hashes (input_bfd);
@@ -3673,12 +3673,12 @@ aout_link_write_symbols (finfo, input_bfd)
          val = GET_WORD (input_bfd, sym->e_value);
          pass = false;
        }
-      else if (skip_indirect)
+      else if (skip_next)
        {
          /* Skip this symbol, which is the target of an indirect
             symbol that we have changed to no longer be an indirect
             symbol.  */
-         skip_indirect = false;
+         skip_next = false;
          continue;
        }
       else
@@ -3713,8 +3713,9 @@ aout_link_write_symbols (finfo, input_bfd)
              && h->root.type != bfd_link_hash_warning
              && h->written)
            {
-             if ((type & N_TYPE) == N_INDR)
-               skip_indirect = true;
+             if ((type & N_TYPE) == N_INDR
+                 || type == N_WARNING)
+               skip_next = true;
              *symbol_map = h->indx;
              continue;
            }
@@ -3785,7 +3786,7 @@ aout_link_write_symbols (finfo, input_bfd)
                 a case we do not want to output the next symbol,
                 which is the target of the indirection.  */
              if ((type & N_TYPE) == N_INDR)
-               skip_indirect = true;
+               skip_next = true;
 
              symsec = NULL;