* coffcode.h (coff_slurp_symbol_table): Set BSF_NOT_AT_END for an
authorIan Lance Taylor <ian@airs.com>
Mon, 9 Oct 1995 15:40:38 +0000 (15:40 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 9 Oct 1995 15:40:38 +0000 (15:40 +0000)
XCOFF XTY_LD symbol.

bfd/ChangeLog
bfd/coffcode.h

index 1475adea56da479f991a56cb61ad742f0df0a860..b6de77e54d681be8b1d5eb5e28152bcf636c9e40 100644 (file)
@@ -1,5 +1,8 @@
 Mon Oct  9 11:24:08 1995  Ian Lance Taylor  <ian@cygnus.com>
 
+       * coffcode.h (coff_slurp_symbol_table): Set BSF_NOT_AT_END for an
+       XCOFF XTY_LD symbol.
+
        * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
        _bfd_read_ar_hdr_fn.
        * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
index 1f280f94fc6bf287a6820755a87b8430067bf571..eabbc4c622ad02f35700d6d13c2ab9964c9be1b4 100644 (file)
@@ -2476,6 +2476,15 @@ coff_slurp_symbol_table (abfd)
              /* A C_HIDEXT symbol is not global.  */
              if (src->u.syment.n_sclass == C_HIDEXT)
                dst->symbol.flags = BSF_LOCAL;
+             /* A XTY_LD symbol should not go at the end.  */
+             if (src->u.syment.n_numaux > 0)
+               {
+                 combined_entry_type *auxp;
+
+                 auxp = src + src->u.syment.n_numaux;
+                 if (SMTYP_SMTYP (auxp->u.auxent.x_csect.x_smtyp) == XTY_LD)
+                   dst->symbol.flags |= BSF_NOT_AT_END;
+               }
 #endif
 
              break;
@@ -2549,9 +2558,9 @@ coff_slurp_symbol_table (abfd)
              dst->symbol.flags = BSF_DEBUGGING;
              dst->symbol.value = src->u.syment.n_value;
 
-             /* The value is actually a symbol index.  Save a pointer to
-          the symbol instead of the index.  FIXME: This should use a
-          union.  */
+             /* The value is actually a symbol index.  Save a pointer
+                to the symbol instead of the index.  FIXME: This
+                should use a union.  */
              src->u.syment.n_value =
                (long) (native_symbols + src->u.syment.n_value);
              src->fix_value = 1;