+2009-10-19 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:
+ Don't subtract the size of the TLS block for non-shared objects
+ from the relocation.
+
2009-10-17 Arnold Metselaar <arnold.metselaar@planet.nl>
* coff-z80.c (z80coff_vec): Allow sections to be of type
= -elf_cris_hash_table (info)->dtpmod_refcount;
}
- /* The thread-based offset to the local symbol is the
- relocation.
- For the executable, TLS data begins at the thread pointer plus
- the negative size of the TLS data. For a DSO, that's part of
- the module TLS offset. */
+ /* The relocation is the offset from the start of the module
+ TLS block to the (local) symbol. */
relocation -= elf_hash_table (info)->tls_sec == NULL
- ? 0 : (elf_hash_table (info)->tls_sec->vma
- + (info->shared
- ? 0 : elf_hash_table (info)->tls_size));
+ ? 0 : elf_hash_table (info)->tls_sec->vma;
break;
case R_CRIS_32_GD: