|
Kyle McMartin |
cd1fc13 |
commit eea6dad2b3ae91189caa91145dd133bae0398d21
|
|
Kyle McMartin |
cd1fc13 |
Author: Kyle McMartin <kyle@redhat.com>
|
|
Kyle McMartin |
cd1fc13 |
Date: Fri Jun 20 11:14:09 2014 +0100
|
|
Kyle McMartin |
cd1fc13 |
|
|
Kyle McMartin |
cd1fc13 |
Similarly to the AArch64 patch, set DF_STATIC_TLS for consistency with
|
|
Kyle McMartin |
cd1fc13 |
other architectures when we emit IE relocs in a shared library.
|
|
Kyle McMartin |
cd1fc13 |
|
|
Kyle McMartin |
cd1fc13 |
* elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
|
|
Kyle McMartin |
cd1fc13 |
emitting initial-exec relocs when not linking an executable.
|
|
Kyle McMartin |
cd1fc13 |
|
|
Kyle McMartin |
cd1fc13 |
--- a/bfd/elf32-arm.c
|
|
Kyle McMartin |
cd1fc13 |
+++ b/bfd/elf32-arm.c
|
|
Kyle McMartin |
cd1fc13 |
@@ -12711,6 +12711,9 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
|
Kyle McMartin |
cd1fc13 |
default: tls_type = GOT_NORMAL; break;
|
|
Kyle McMartin |
cd1fc13 |
}
|
|
Kyle McMartin |
cd1fc13 |
|
|
Kyle McMartin |
cd1fc13 |
+ if (!info->executable && (tls_type & GOT_TLS_IE))
|
|
Kyle McMartin |
cd1fc13 |
+ info->flags |= DF_STATIC_TLS;
|
|
Kyle McMartin |
cd1fc13 |
+
|
|
Kyle McMartin |
cd1fc13 |
if (h != NULL)
|
|
Kyle McMartin |
cd1fc13 |
{
|
|
Kyle McMartin |
cd1fc13 |
h->got.refcount++;
|
|
Kyle McMartin |
cd1fc13 |
--- a/ld/testsuite/ld-arm/tls-gdierelax2.d
|
|
Kyle McMartin |
cd1fc13 |
+++ b/ld/testsuite/ld-arm/tls-gdierelax2.d
|
|
Kyle McMartin |
cd1fc13 |
@@ -11,13 +11,13 @@ Disassembly of section .text:
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: e59f0004 ldr r0, \[pc, #4\] ; .*
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: e79f0000 ldr r0, \[pc, r0\]
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: e1a00000 nop ; .*
|
|
Kyle McMartin |
cd1fc13 |
- [0-9a-f]+: 00008098 .word 0x00008098
|
|
Kyle McMartin |
cd1fc13 |
- [0-9a-f]+: 0000809c .word 0x0000809c
|
|
Kyle McMartin |
cd1fc13 |
+ [0-9a-f]+: 000080a0 .word 0x000080a0
|
|
Kyle McMartin |
cd1fc13 |
+ [0-9a-f]+: 000080a4 .word 0x000080a4
|
|
Kyle McMartin |
cd1fc13 |
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+ <bar>:
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: 4801 ldr r0, \[pc, #4\] ; .*
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: 4478 add r0, pc
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: 6800 ldr r0, \[r0, #0\]
|
|
Kyle McMartin |
cd1fc13 |
[0-9a-f]+: 46c0 nop ; .*
|
|
Kyle McMartin |
cd1fc13 |
- [0-9a-f]+: 0000808a .word 0x0000808a
|
|
Kyle McMartin |
cd1fc13 |
- [0-9a-f]+: 0000808c .word 0x0000808c
|
|
Kyle McMartin |
cd1fc13 |
+ [0-9a-f]+: 00008092 .word 0x00008092
|
|
Kyle McMartin |
cd1fc13 |
+ [0-9a-f]+: 00008094 .word 0x00008094
|