From a50c18456ead8f239ca5af06ad7e418f6659ddce Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 26 Apr 2002 12:59:23 +0000 Subject: [PATCH] * elflink.h (elf_bfd_final_link): Ensure input bfd class is the same as the output before calling elf_link_input_bfd. --- bfd/ChangeLog | 3 +++ bfd/elflink.h | 14 ++------------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9aff0f9aee7..5bbce0e8dcd 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ 2002-04-26 Alan Modra + * elflink.h (elf_bfd_final_link): Ensure input bfd class is the + same as the output before calling elf_link_input_bfd. + * coffcode.h (coff_compute_section_file_positions): Set section_tail after shuffling section list. diff --git a/bfd/elflink.h b/bfd/elflink.h index d43d8612d15..06035b31bee 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -5347,21 +5347,11 @@ elf_bfd_final_link (abfd, info) { for (p = o->link_order_head; p != NULL; p = p->next) { - Elf_Internal_Shdr *rhdr; - if (p->type == bfd_indirect_link_order - && (bfd_get_flavour (p->u.indirect.section->owner) + && (bfd_get_flavour ((sub = p->u.indirect.section->owner)) == bfd_target_elf_flavour) - && (((rhdr = &elf_section_data (p->u.indirect.section)->rel_hdr) - ->sh_entsize == 0) - || rhdr->sh_entsize == sizeof (Elf_External_Rel) - || rhdr->sh_entsize == sizeof (Elf_External_Rela)) - && (((rhdr = elf_section_data (p->u.indirect.section)->rel_hdr2) - == NULL) - || rhdr->sh_entsize == sizeof (Elf_External_Rel) - || rhdr->sh_entsize == sizeof (Elf_External_Rela))) + && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass) { - sub = p->u.indirect.section->owner; if (! sub->output_has_begun) { if (! elf_link_input_bfd (&finfo, sub)) -- 2.30.2