diff options
author | Alan Modra <amodra@gmail.com> | 2015-12-01 11:40:25 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-12-01 13:40:04 +1030 |
commit | b560e2acdd41fe6b6228b11c2d82ad2a96188153 (patch) | |
tree | a04f48bcc4100177a67c176ff389c9494816995b /bfd/cofflink.c | |
parent | binutils/configure update (diff) | |
download | binutils-gdb-b560e2acdd41fe6b6228b11c2d82ad2a96188153.tar.gz binutils-gdb-b560e2acdd41fe6b6228b11c2d82ad2a96188153.tar.bz2 binutils-gdb-b560e2acdd41fe6b6228b11c2d82ad2a96188153.zip |
Don't use BFD_TRADITIONAL_FORMAT flag in COFF support
info->traditional_format is available, or can be easily made
available. This relegates BFD_TRADITIONAL_FORMAT to AOUT use only.
* coff-rs6000.c (_bfd_xcoff_put_symbol_name): Replace abfd param
with info param. Test info->traditional_format rather than
BFD_TRADITIONAL_FORMAT flag.
* coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Likewise.
* libxcoff.h (struct xcoff_backend_data_rec): Update
_xcoff_put_symbol_name prototype.
(bfd_xcoff_put_symbol_name): Add info param.
* xcofflink.c (xcoff_find_tc0): Update bfd_xcoff_put_symbol_name call.
(xcoff_write_global_symbol): Likewise.
(xcoff_link_input_bfd): Test info->traditional_format rather than
BFD_TRADITIONAL_FORMAT flag.
* cofflink.c (_bfd_coff_final_link): Likewise.
(_bfd_coff_link_input_bfd, _bfd_coff_write_global_sym): Likewise.
Diffstat (limited to 'bfd/cofflink.c')
-rw-r--r-- | bfd/cofflink.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bfd/cofflink.c b/bfd/cofflink.c index 8d98fec2146..13d773aca5b 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -906,7 +906,7 @@ _bfd_coff_final_link (bfd *abfd, if (string_size) { - bfd_boolean hash = ! (abfd->flags & BFD_TRADITIONAL_FORMAT); + bfd_boolean hash = !flaginfo.info->traditional_format; bfd_size_type indx; indx = _bfd_stringtab_add (flaginfo.strtab, @@ -1413,7 +1413,7 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd) if (! flaginfo->info->keep_memory) copy = TRUE; hash = TRUE; - if ((output_bfd->flags & BFD_TRADITIONAL_FORMAT) != 0) + if (flaginfo->info->traditional_format) hash = FALSE; if (! _bfd_coff_get_external_symbols (input_bfd)) @@ -1591,7 +1591,7 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd) /* If this is an enum, struct, or union tag, see if we have already output an identical type. */ if (! skip - && (flaginfo->output_bfd->flags & BFD_TRADITIONAL_FORMAT) == 0 + && !flaginfo->info->traditional_format && (isym.n_sclass == C_ENTAG || isym.n_sclass == C_STRTAG || isym.n_sclass == C_UNTAG) @@ -2602,7 +2602,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data) bfd_size_type indx; hash = TRUE; - if ((output_bfd->flags & BFD_TRADITIONAL_FORMAT) != 0) + if (flaginfo->info->traditional_format) hash = FALSE; indx = _bfd_stringtab_add (flaginfo->strtab, h->root.root.string, hash, FALSE); |