mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 11:04:18 +08:00
bfd/
* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link. ld/testsuite/ * ld-arm/tls-local-static.s: New test. * ld-arm/tls-local-static.d: New. * ld-arm/arm-elf.exp (tls-local-static): Add test.
This commit is contained in:
parent
dfe0758235
commit
3064e1ff79
@ -1,3 +1,8 @@
|
||||
2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
|
||||
elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
|
||||
|
||||
2013-02-27 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* reloc.c (BFD_RELOC_RL78_CODE): Add.
|
||||
|
@ -13648,14 +13648,18 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
|
||||
&& (local_iplt == NULL
|
||||
|| local_iplt->arm.noncall_refcount == 0))
|
||||
elf32_arm_allocate_irelocs (info, srel, 1);
|
||||
else if ((info->shared && !(*local_tls_type & GOT_TLS_GDESC))
|
||||
|| *local_tls_type & GOT_TLS_GD)
|
||||
elf32_arm_allocate_dynrelocs (info, srel, 1);
|
||||
|
||||
if (info->shared && *local_tls_type & GOT_TLS_GDESC)
|
||||
else if (info->shared || output_bfd->flags & DYNAMIC)
|
||||
{
|
||||
elf32_arm_allocate_dynrelocs (info, htab->root.srelplt, 1);
|
||||
htab->tls_trampoline = -1;
|
||||
if ((info->shared && !(*local_tls_type & GOT_TLS_GDESC))
|
||||
|| *local_tls_type & GOT_TLS_GD)
|
||||
elf32_arm_allocate_dynrelocs (info, srel, 1);
|
||||
|
||||
if (info->shared && *local_tls_type & GOT_TLS_GDESC)
|
||||
{
|
||||
elf32_arm_allocate_dynrelocs (info,
|
||||
htab->root.srelplt, 1);
|
||||
htab->tls_trampoline = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1,4 +1,10 @@
|
||||
013-02-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* ld-arm/tls-local-static.s: New test.
|
||||
* ld-arm/tls-local-static.d: New.
|
||||
* ld-arm/arm-elf.exp (tls-local-static): Add test.
|
||||
|
||||
2013-02-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/15167
|
||||
* ld-unique/unique.exp: Add a test for shared library with
|
||||
|
@ -142,6 +142,9 @@ set armelftests_common {
|
||||
{"TLS descseq relaxation BE32" "-T arm-dyn.ld -EB" "" "-mbig-endian" {tls-descrelax-be32.s}
|
||||
{{objdump -fdw tls-descrelax-be32.d}}
|
||||
"tls-descrelax-be32"}
|
||||
{"TLS local PIC symbol static link" "-T arm.ld" "" "" {tls-local-static.s}
|
||||
{{objdump -fdw tls-local-static.d}}
|
||||
"tls-local-static"}
|
||||
{"Thumb entry point" "-T arm.ld" "" "" {thumb-entry.s}
|
||||
{{readelf -h thumb-entry.d}}
|
||||
"thumb-entry"}
|
||||
|
11
ld/testsuite/ld-arm/tls-local-static.d
Normal file
11
ld/testsuite/ld-arm/tls-local-static.d
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
.*/tls-local-static: file format elf32-.*arm.*
|
||||
architecture: .*, flags 0x[0-9a-f]+:
|
||||
EXEC_P, HAS_SYMS, D_PAGED
|
||||
start address 0x[0-9a-f]+
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
[0-9a-f]+ <_start>:
|
||||
[0-9a-f]+: e12fff1e bx lr
|
||||
[0-9a-f]+: 00000ff8 .word 0x00000ff8
|
15
ld/testsuite/ld-arm/tls-local-static.s
Normal file
15
ld/testsuite/ld-arm/tls-local-static.s
Normal file
@ -0,0 +1,15 @@
|
||||
.text
|
||||
.arch armv4t
|
||||
.global _start
|
||||
_start:
|
||||
.LPIC0:
|
||||
bx lr
|
||||
.align 2
|
||||
.word var(tlsgd) + (. - .LPIC0 - 8)
|
||||
|
||||
.section .tbss,"awT",%nobits
|
||||
.align 2
|
||||
.type var, %object
|
||||
.size var, 4
|
||||
var:
|
||||
.space 4
|
Loading…
Reference in New Issue
Block a user