* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic

objects.
This commit is contained in:
Daniel Jacobowitz 2003-10-27 17:33:44 +00:00
parent 931758afc4
commit 35a0f41580
2 changed files with 24 additions and 12 deletions

View file

@ -1,3 +1,8 @@
2003-10-27 Daniel Jacobowitz <drow@mvista.com>
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
objects.
2003-10-14 Richard Sandiford <rsandifo@redhat.com>
* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.

View file

@ -2217,7 +2217,6 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
flagword out_flags;
flagword in_flags;
bfd_boolean flags_compatible = TRUE;
bfd_boolean null_input_bfd = TRUE;
asection *sec;
/* Check if we have the same endianess. */
@ -2268,21 +2267,29 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
if (in_flags == out_flags)
return TRUE;
/* Check to see if the input BFD actually contains any sections.
If not, its flags may not have been initialised either, but it cannot
actually cause any incompatibility. */
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
/* Check to see if the input BFD actually contains any sections. If
not, its flags may not have been initialised either, but it
cannot actually cause any incompatibility. Do not short-circuit
dynamic objects; their section list may be emptied by
elf_link_add_object_symbols. */
if (!(ibfd->flags & DYNAMIC))
{
/* Ignore synthetic glue sections. */
if (strcmp (sec->name, ".glue_7")
&& strcmp (sec->name, ".glue_7t"))
bfd_boolean null_input_bfd = TRUE;
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
{
null_input_bfd = FALSE;
break;
/* Ignore synthetic glue sections. */
if (strcmp (sec->name, ".glue_7")
&& strcmp (sec->name, ".glue_7t"))
{
null_input_bfd = FALSE;
break;
}
}
if (null_input_bfd)
return TRUE;
}
if (null_input_bfd)
return TRUE;
/* Complain about various flag mismatches. */
if (EF_ARM_EABI_VERSION (in_flags) != EF_ARM_EABI_VERSION (out_flags))