mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 19:14:52 +08:00
PR 6727
* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all input sections in all input bfds and always select the last suitable one, so that interworking stubs are always processed after all other input sections. (arm_elf_before_allocation): Remove redundant use of output_has_begun flag.
This commit is contained in:
parent
6429b08478
commit
8716772cc5
10
ld/ChangeLog
10
ld/ChangeLog
@ -1,3 +1,13 @@
|
||||
2008-08-26 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 6727
|
||||
* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Scan all
|
||||
input sections in all input bfds and always select the last
|
||||
suitable one, so that interworking stubs are always processed
|
||||
after all other input sections.
|
||||
(arm_elf_before_allocation): Remove redundant use of
|
||||
output_has_begun flag.
|
||||
|
||||
2008-08-24 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* configure.in: Update a number of obsolete autoconf macros.
|
||||
|
@ -94,12 +94,8 @@ arm_elf_set_bfd_for_interworking (lang_statement_union_type *statement)
|
||||
an empty section, etc. */
|
||||
if ((output_section->flags & SEC_HAS_CONTENTS) != 0
|
||||
&& (i->flags & SEC_NEVER_LOAD) == 0
|
||||
&& ! (i->owner->flags & DYNAMIC)
|
||||
&& ! i->owner->output_has_begun)
|
||||
{
|
||||
bfd_for_interwork = i->owner;
|
||||
bfd_for_interwork->output_has_begun = TRUE;
|
||||
}
|
||||
&& ! (i->owner->flags & DYNAMIC))
|
||||
bfd_for_interwork = i->owner;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -107,18 +103,12 @@ arm_elf_set_bfd_for_interworking (lang_statement_union_type *statement)
|
||||
static void
|
||||
arm_elf_before_allocation (void)
|
||||
{
|
||||
bfd *tem;
|
||||
|
||||
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;
|
||||
|
||||
lang_for_each_statement (arm_elf_set_bfd_for_interworking);
|
||||
for (tem = link_info.input_bfds; tem != NULL; tem = tem->link_next)
|
||||
tem->output_has_begun = FALSE;
|
||||
|
||||
/* If bfd_for_interwork is NULL, then there are no loadable sections
|
||||
with real contents to be linked, so we are not going to have to
|
||||
|
Loading…
Reference in New Issue
Block a user