+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.
&& (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
-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
{"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"}
--- /dev/null
+
+.*/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
--- /dev/null
+ .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