aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2015-12-01 11:40:25 +1030
committerAlan Modra <amodra@gmail.com>2015-12-01 13:40:04 +1030
commitb560e2acdd41fe6b6228b11c2d82ad2a96188153 (patch)
treea04f48bcc4100177a67c176ff389c9494816995b /bfd/cofflink.c
parentbinutils/configure update (diff)
downloadbinutils-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.c8
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);