diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-10-09 15:40:38 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-10-09 15:40:38 +0000 |
commit | 3f2c5b2d2fb7171734850b46358b9f0e7f2a7f31 (patch) | |
tree | 4963cee163106c2927a0a5223e81a489aa841041 /bfd/coffcode.h | |
parent | 0322af0d62ca8173c0c5c512acbf1ca070637a88 (diff) | |
download | gdb-3f2c5b2d2fb7171734850b46358b9f0e7f2a7f31.zip gdb-3f2c5b2d2fb7171734850b46358b9f0e7f2a7f31.tar.gz gdb-3f2c5b2d2fb7171734850b46358b9f0e7f2a7f31.tar.bz2 |
* coffcode.h (coff_slurp_symbol_table): Set BSF_NOT_AT_END for an
XCOFF XTY_LD symbol.
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r-- | bfd/coffcode.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 1f280f9..eabbc4c 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -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; |