Only search for an interworking bfd if there are input bfds.
authorNick Clifton <nickc@redhat.com>
Wed, 7 Aug 2002 15:22:41 +0000 (15:22 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 7 Aug 2002 15:22:41 +0000 (15:22 +0000)
ld/ChangeLog
ld/emultempl/armelf.em

index a9acfe8..a587652 100644 (file)
@@ -1,3 +1,8 @@
+2002-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * emultempl/armelf.em (arm_elf_before_allocation): Only search for
+       an interworking bfd if there are input bfds. (107501)
+
 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
 
        * emultempl/aix.em (gld*_before_parse): Set default arch.  Reverts
index 6f3cfc3..0e65c04 100644 (file)
@@ -100,18 +100,20 @@ arm_elf_before_allocation ()
   /* Call the standard elf routine.  */
   gld${EMULATION_NAME}_before_allocation ();
 
-  /* The interworking bfd must be the last one in the link.  */
-  bfd_for_interwork = NULL;
-  for (tem = link_info.input_bfds; tem != NULL; tem = tem->link_next)
-    tem->output_has_begun = false;
-
-  lang_for_each_statement (arm_elf_set_bfd_for_interworking);
-  ASSERT (bfd_for_interwork != NULL);
-  for (tem = link_info.input_bfds; tem != NULL; tem = tem->link_next)
-    tem->output_has_begun = false;
+  if (link_info.input_bfds != NULL)
+    {
+      /* The interworking bfd must be the last one in the link.  */
+      bfd_for_interwork = NULL;
+      for (tem = link_info.input_bfds; tem != NULL; tem = tem->link_next)
+       tem->output_has_begun = false;
 
-  bfd_elf32_arm_get_bfd_for_interworking (bfd_for_interwork, &link_info);
+      lang_for_each_statement (arm_elf_set_bfd_for_interworking);
+      ASSERT (bfd_for_interwork != NULL);
+      for (tem = link_info.input_bfds; tem != NULL; tem = tem->link_next)
+       tem->output_has_begun = false;
 
+      bfd_elf32_arm_get_bfd_for_interworking (bfd_for_interwork, &link_info);
+    }
   /* We should be able to set the size of the interworking stub section.  */
 
   /* Here we rummage through the found bfds to collect glue information.  */