diff options
author | Nick Clifton <nickc@redhat.com> | 2008-08-26 11:11:17 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-08-26 11:11:17 +0000 |
commit | 8716772cc56cb5beb0cbea672eed1b10d6486484 (patch) | |
tree | e7cbf5e2d7a95efec2543777fd44a8f9034f2ddd /ld | |
parent | 6429b084782c31cb40056a47eead0b65796b4d1e (diff) | |
download | gdb-8716772cc56cb5beb0cbea672eed1b10d6486484.zip gdb-8716772cc56cb5beb0cbea672eed1b10d6486484.tar.gz gdb-8716772cc56cb5beb0cbea672eed1b10d6486484.tar.bz2 |
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.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 10 | ||||
-rw-r--r-- | ld/emultempl/armelf.em | 14 |
2 files changed, 12 insertions, 12 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 95ad24e..8123c0a 100644 --- a/ld/ChangeLog +++ b/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. diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em index d1d68c0..8d8a8fa 100644 --- a/ld/emultempl/armelf.em +++ b/ld/emultempl/armelf.em @@ -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 |