* coffcode.h (coff_slurp_symbol_table): Set BSF_NOT_AT_END for an

XCOFF XTY_LD symbol.
This commit is contained in:
Ian Lance Taylor 1995-10-09 15:40:38 +00:00
parent 0322af0d62
commit 3f2c5b2d2f
2 changed files with 15 additions and 3 deletions

View File

@ -1,5 +1,8 @@
Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com> 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 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
_bfd_read_ar_hdr_fn. _bfd_read_ar_hdr_fn.
* libbfd-in.h (_bfd_read_ar_hdr): Update accordingly. * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.

View File

@ -2476,6 +2476,15 @@ coff_slurp_symbol_table (abfd)
/* A C_HIDEXT symbol is not global. */ /* A C_HIDEXT symbol is not global. */
if (src->u.syment.n_sclass == C_HIDEXT) if (src->u.syment.n_sclass == C_HIDEXT)
dst->symbol.flags = BSF_LOCAL; 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 #endif
break; break;
@ -2549,9 +2558,9 @@ coff_slurp_symbol_table (abfd)
dst->symbol.flags = BSF_DEBUGGING; dst->symbol.flags = BSF_DEBUGGING;
dst->symbol.value = src->u.syment.n_value; dst->symbol.value = src->u.syment.n_value;
/* The value is actually a symbol index. Save a pointer to /* The value is actually a symbol index. Save a pointer
the symbol instead of the index. FIXME: This should use a to the symbol instead of the index. FIXME: This
union. */ should use a union. */
src->u.syment.n_value = src->u.syment.n_value =
(long) (native_symbols + src->u.syment.n_value); (long) (native_symbols + src->u.syment.n_value);
src->fix_value = 1; src->fix_value = 1;