if (!info->shared
&& (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0
&& ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
- || h->root.type == bfd_link_hash_undefweak
- || h->root.type == bfd_link_hash_undefined))
+ || (hplink->root.dynamic_sections_created
+ && (h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_undefined))))
{
/* Make sure this symbol is output as a dynamic symbol.
Undefined weak syms won't yet be marked as dynamic. */
}
}
- if (hplink->sgot->_raw_size != 0)
+ if (hplink->sgot != NULL && hplink->sgot->_raw_size != 0)
{
/* Fill in the first entry in the global offset table.
We use it to point to our dynamic section, if we have one. */
->this_hdr.sh_entsize = GOT_ENTRY_SIZE;
}
- if (hplink->splt->_raw_size != 0)
+ if (hplink->splt != NULL && hplink->splt->_raw_size != 0)
{
/* Set plt entry size. */
elf_section_data (hplink->splt->output_section)