h = *hpp;
if (h != NULL && h != hlook
- && (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
+ && h->root.type == bfd_link_hash_defined
&& h->root.u.def.section == slook
&& h->root.u.def.value == vlook)
{
return false;
}
- BFD_ASSERT (lsect->rel_section != NULL);
- lsect->rel_section->_raw_size += sizeof (Elf_External_Rela);
+ if (lsect->rel_section)
+ lsect->rel_section->_raw_size += sizeof (Elf_External_Rela);
}
else /* Allocation of a pointer to a local symbol */
if (info->shared)
{
/* If we are generating a shared object, we need to
- output a R_PPC_RELATIVE reloc so that the
+ output a R_<xxx>_RELATIVE reloc so that the
dynamic linker can adjust this GOT entry. */
BFD_ASSERT (lsect->rel_section != NULL);
lsect->rel_section->_raw_size += sizeof (Elf_External_Rela);
BFD_ASSERT (lsect != NULL);
- if (!lsect->section->contents)
- lsect->section->contents = (unsigned char *) bfd_zalloc (output_bfd,
- lsect->section->_raw_size);
-
if (h != NULL) /* global symbol */
{
linker_section_ptr = _bfd_elf_find_pointer_linker_section (h->linker_section_pointer,