diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c56b48d609..b7f235bed6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2014-06-20 Kyle McMartin + + * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when + emitting initial-exec relocs when not linking an executable. + 2014-06-16 Will Newton * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index ca64c7bf1a..1c6965eb11 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -12711,6 +12711,9 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, default: tls_type = GOT_NORMAL; break; } + if (!info->executable && (tls_type & GOT_TLS_IE)) + info->flags |= DF_STATIC_TLS; + if (h != NULL) { h->got.refcount++;