From 39ce1a6a19467e6b495ee1858884d0e34513d504 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 29 Nov 2007 08:14:22 +0000 Subject: [PATCH] PR ld/5398 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not complain if there is no glue bfd, just return. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-arm.c | 14 ++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e78868e500e..df02dfbc246 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2007-11-29 Nick Clifton + + 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 * elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 0e8e4239e7a..811d65185d8 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -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; -- 2.30.2