diff options
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; |