diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 18e3a43a18f..14f4b716559 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -608,9 +608,6 @@ elf_i386_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && h->root.type == bfd_link_hash_defined - && (bfd_get_flavour (h->root.u.def.section->owner) - == bfd_target_elf_flavour) && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 @@ -620,6 +617,9 @@ elf_i386_adjust_dynamic_symbol (info, h) & ELF_LINK_HASH_DEF_REGULAR) == 0 && (elf_elfheader (h->root.u.def.section->owner)->e_type == ET_DYN) + && h->root.type == bfd_link_hash_defined + && (bfd_get_flavour (h->root.u.def.section->owner) + == bfd_target_elf_flavour) && h->root.u.def.section->output_section == NULL))); /* If this is a function, put it in the procedure linkage table. We diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index bcce4baaeb8..90130ccab23 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -572,9 +572,6 @@ elf32_sparc_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && h->root.type == bfd_link_hash_defined - && (bfd_get_flavour (h->root.u.def.section->owner) - == bfd_target_elf_flavour) && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 @@ -582,6 +579,9 @@ elf32_sparc_adjust_dynamic_symbol (info, h) & ELF_LINK_HASH_REF_REGULAR) != 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && h->root.type == bfd_link_hash_defined + && (bfd_get_flavour (h->root.u.def.section->owner) + == bfd_target_elf_flavour) && (elf_elfheader (h->root.u.def.section->owner)->e_type == ET_DYN) && h->root.u.def.section->output_section == NULL)));