/* Plugin control for the GNU linker.
- Copyright (C) 2010-2020 Free Software Foundation, Inc.
+ Copyright (C) 2010-2021 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
{
- elf_symbol_type *elfsym = elf_symbol_from (abfd, asym);
+ elf_symbol_type *elfsym = elf_symbol_from (asym);
unsigned char visibility;
if (!elfsym)
this by making the symbol appear to be undefined.
NB: We change the previous definition in the IR object to
- undefweak only after all LTO symbols have been read. */
- else if (info->lto_all_symbols_read
+ undefweak only after all LTO symbols have been read or for
+ non-ELF targets. */
+ else if ((info->lto_all_symbols_read
+ || bfd_get_flavour (abfd) != bfd_target_elf_flavour)
&& (((h->type == bfd_link_hash_defweak
|| h->type == bfd_link_hash_defined)
&& is_ir_dummy_bfd (sym_bfd = h->u.def.section->owner))