/* BFD back-end for IBM RS/6000 "XCOFF64" files.
- Copyright (C) 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2000-2016 Free Software Foundation, Inc.
Written Clinton Popetz.
Contributed by Cygnus Support.
static unsigned int _bfd_xcoff64_swap_lineno_out
(bfd *, void *, void *);
static bfd_boolean _bfd_xcoff64_put_symbol_name
- (bfd *, struct bfd_strtab_hash *, struct internal_syment *, const char *);
+ (struct bfd_link_info *, struct bfd_strtab_hash *,
+ struct internal_syment *, const char *);
static bfd_boolean _bfd_xcoff64_put_ldsymbol_name
(bfd *, struct xcoff_loader_info *, struct internal_ldsym *, const char *);
static void _bfd_xcoff64_swap_sym_in
in->_n._n_n._n_zeroes = 0;
in->_n._n_n._n_offset = H_GET_32 (abfd, ext->e_offset);
in->n_value = H_GET_64 (abfd, ext->e_value);
- in->n_scnum = H_GET_16 (abfd, ext->e_scnum);
+ in->n_scnum = (short) H_GET_16 (abfd, ext->e_scnum);
in->n_type = H_GET_16 (abfd, ext->e_type);
in->n_sclass = H_GET_8 (abfd, ext->e_sclass);
in->n_numaux = H_GET_8 (abfd, ext->e_numaux);
}
static bfd_boolean
-_bfd_xcoff64_put_symbol_name (bfd *abfd, struct bfd_strtab_hash *strtab,
+_bfd_xcoff64_put_symbol_name (struct bfd_link_info *info,
+ struct bfd_strtab_hash *strtab,
struct internal_syment *sym,
const char *name)
{
bfd_boolean hash;
bfd_size_type indx;
- hash = TRUE;
-
- if ((abfd->flags & BFD_TRADITIONAL_FORMAT) != 0)
- hash = FALSE;
-
+ hash = !info->traditional_format;
indx = _bfd_stringtab_add (strtab, name, hash, FALSE);
if (indx == (bfd_size_type) -1)
}
else
{
- BFD_ASSERT (info->relocatable
+ BFD_ASSERT (bfd_link_relocatable (info)
|| (h->flags & XCOFF_DEF_DYNAMIC) != 0
|| (h->flags & XCOFF_IMPORT) != 0);
}