* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
objects.
This commit is contained in:
parent
931758afc4
commit
35a0f41580
2 changed files with 24 additions and 12 deletions
|
@ -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>
|
2003-10-14 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
|
* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
|
||||||
|
|
|
@ -2217,7 +2217,6 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
|
||||||
flagword out_flags;
|
flagword out_flags;
|
||||||
flagword in_flags;
|
flagword in_flags;
|
||||||
bfd_boolean flags_compatible = TRUE;
|
bfd_boolean flags_compatible = TRUE;
|
||||||
bfd_boolean null_input_bfd = TRUE;
|
|
||||||
asection *sec;
|
asection *sec;
|
||||||
|
|
||||||
/* Check if we have the same endianess. */
|
/* Check if we have the same endianess. */
|
||||||
|
@ -2268,21 +2267,29 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
|
||||||
if (in_flags == out_flags)
|
if (in_flags == out_flags)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
/* Check to see if the input BFD actually contains any sections.
|
/* Check to see if the input BFD actually contains any sections. If
|
||||||
If not, its flags may not have been initialised either, but it cannot
|
not, its flags may not have been initialised either, but it
|
||||||
actually cause any incompatibility. */
|
cannot actually cause any incompatibility. Do not short-circuit
|
||||||
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
|
dynamic objects; their section list may be emptied by
|
||||||
|
elf_link_add_object_symbols. */
|
||||||
|
|
||||||
|
if (!(ibfd->flags & DYNAMIC))
|
||||||
{
|
{
|
||||||
/* Ignore synthetic glue sections. */
|
bfd_boolean null_input_bfd = TRUE;
|
||||||
if (strcmp (sec->name, ".glue_7")
|
|
||||||
&& strcmp (sec->name, ".glue_7t"))
|
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
|
||||||
{
|
{
|
||||||
null_input_bfd = FALSE;
|
/* Ignore synthetic glue sections. */
|
||||||
break;
|
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. */
|
/* Complain about various flag mismatches. */
|
||||||
if (EF_ARM_EABI_VERSION (in_flags) != EF_ARM_EABI_VERSION (out_flags))
|
if (EF_ARM_EABI_VERSION (in_flags) != EF_ARM_EABI_VERSION (out_flags))
|
||||||
|
|
Loading…
Reference in a new issue