* elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
authorAlan Modra <amodra@gmail.com>
Wed, 13 Mar 2002 02:56:08 +0000 (02:56 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 13 Mar 2002 02:56:08 +0000 (02:56 +0000)
when word size of input matches output word size.

bfd/ChangeLog
bfd/elflink.h

index fe6f5db1e29df0ae5ade7faad8ca1d82aaa9a897..43c326c6b651dd0983d649126dfed0162dd0f8f7 100644 (file)
@@ -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
index 2edbed0c9267b800963c62f512df9b398cbf0299..bdd03bccda67971376e406be92f7fc9d4692e840 100644 (file)
@@ -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))