* elflink.c (bfd_elf_final_link): When counting the relocations,
        if the header size has not been set yet then assume that it will
        match the output section's reloc type.
This commit is contained in:
Nick Clifton
2009-02-12 15:06:55 +00:00
parent d401d98a57
commit 2c2b4ed43a
2 changed files with 14 additions and 2 deletions

View File

@@ -10228,8 +10228,13 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
bfd_size_type entsize1;
entsize1 = esdi->rel_hdr.sh_entsize;
BFD_ASSERT (entsize1 == bed->s->sizeof_rel
|| entsize1 == bed->s->sizeof_rela);
/* PR 9827: If the header size has not been set yet then
assume that it will match the output section's reloc type. */
if (entsize1 == 0)
entsize1 = o->use_rela_p ? bed->s->sizeof_rela : bed->s->sizeof_rel;
else
BFD_ASSERT (entsize1 == bed->s->sizeof_rel
|| entsize1 == bed->s->sizeof_rela);
same_size = !o->use_rela_p == (entsize1 == bed->s->sizeof_rel);
if (!same_size)