+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.
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;
}
}
}
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