mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 12:03:41 +08:00
* 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.
This commit is contained in:
parent
d71f39f5cf
commit
ebf275e360
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
@ -1690,15 +1690,10 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
= -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:
|
||||
|
Loading…
Reference in New Issue
Block a user