PR ld/5398
authorNick Clifton <nickc@redhat.com>
Thu, 29 Nov 2007 08:14:22 +0000 (08:14 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 29 Nov 2007 08:14:22 +0000 (08:14 +0000)
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not complain if
  there is no glue bfd, just return.

bfd/ChangeLog
bfd/elf32-arm.c

index e78868e500e2607315b522b75bd77cb2b93348b9..df02dfbc24614b747f76f3c3e15b97a4db9df425 100644 (file)
@@ -1,3 +1,9 @@
+2007-11-29  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/5398
+       * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not
+       complain if there is no glue bfd, just return.
+
 2007-11-28  Nick Clifton  <nickc@redhat.com>
 
        * elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to
index 0e8e4239e7ad09199bb01ddf6d0f85663d613762..811d65185d8efdeb2f252ad16f21b2e9f6aeac57 100644 (file)
@@ -3116,13 +3116,13 @@ bfd_elf32_arm_process_before_allocation (bfd *abfd,
   if (link_info->relocatable)
     return TRUE;
 
-  /* Here we have a bfd that is to be included on the link.  We have a hook
-     to do reloc rummaging, before section sizes are nailed down.  */
+  /* Here we have a bfd that is to be included on the link.  We have a
+     hook to do reloc rummaging, before section sizes are nailed down.  */
   globals = elf32_arm_hash_table (link_info);
-  check_use_blx (globals);
 
   BFD_ASSERT (globals != NULL);
-  BFD_ASSERT (globals->bfd_of_glue_owner != NULL);
+
+  check_use_blx (globals);
 
   if (globals->byteswap_code && !bfd_big_endian (abfd))
     {
@@ -3131,6 +3131,12 @@ bfd_elf32_arm_process_before_allocation (bfd *abfd,
       return FALSE;
     }
 
+  /* PR 5398: If we have not decided to include any loadable sections in
+     the output then we will not have a glue owner bfd.  This is OK, it
+     just means that there is nothing else for us to do here.  */
+  if (globals->bfd_of_glue_owner == NULL)
+    return TRUE;
+
   /* Rummage around all the relocs and map the glue vectors.  */
   sec = abfd->sections;