aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.h7
2 files changed, 9 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fe6f5db..43c326c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
+ when word size of input matches output word size.
+
2002-03-12 Andreas Jaeger <aj@suse.de>
* cpu-i386.c (i386_compatible): New. Use it instead of
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 2edbed0..bdd03bc 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -5320,10 +5320,11 @@ elf_bfd_final_link (abfd, info)
for (p = o->link_order_head; p != NULL; p = p->next)
{
if (p->type == bfd_indirect_link_order
- && (bfd_get_flavour (p->u.indirect.section->owner)
- == bfd_target_elf_flavour))
+ && (bfd_get_flavour ((sub = p->u.indirect.section->owner))
+ == bfd_target_elf_flavour)
+ && (sub->arch_info->bits_per_word
+ == abfd->arch_info->bits_per_word))
{
- sub = p->u.indirect.section->owner;
if (! sub->output_has_begun)
{
if (! elf_link_input_bfd (&finfo, sub))