aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl/armelf.em
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emultempl/armelf.em')
-rw-r--r--ld/emultempl/armelf.em3
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index 54af832..3e594cb 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -78,8 +78,11 @@ arm_elf_set_bfd_for_interworking (lang_statement_union_type *statement)
ASSERT (output_section->owner == output_bfd);
+ /* Don't attach the interworking stubs to a dynamic object, to
+ 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;