diff options
author | Cupertino Miranda <cmiranda@synopsys.com> | 2016-06-14 22:55:44 +0200 |
---|---|---|
committer | Claudiu Zissulescu <claziss@synopsys.com> | 2016-07-11 15:24:35 +0200 |
commit | 08759e0fc8b0de1c56ad388212a104f3a6d61c25 (patch) | |
tree | fccc3f881e487bed7755dcfe11bf14b74ffef238 /include/elf | |
parent | 36897971c8d022d5c28cc8af4b2f1df04a7e964f (diff) | |
download | fsf-binutils-gdb-08759e0fc8b0de1c56ad388212a104f3a6d61c25.zip fsf-binutils-gdb-08759e0fc8b0de1c56ad388212a104f3a6d61c25.tar.gz fsf-binutils-gdb-08759e0fc8b0de1c56ad388212a104f3a6d61c25.tar.bz2 |
Fixes done to TLS.
TLS relocations did not support multiple TLS modes for the same
symbol in a single object file.
Refactored how GOT and TLS is implemented. Removed code duplications between
local and global symbols conditioning.
bfd/ChangeLog:
2016-06-14 Cupertino Miranda <cmiranda@synopsys.com>
* arc-got.h: Moved got related structures from elf32-arc.c to
this file. More precisely, tls_type_e, tls_got_entries, got_entry.
* (arc_get_local_got_ents,
got_entry_for_type,
new_got_entry_to_list,
tls_type_for_reloc,
symbol_has_entry_of_type,
get_got_entry_list_for_symbol,
arc_got_entry_type_for_reloc,
ADD_SYMBOL_REF_SEC_AND_RELOC,
arc_fill_got_info_for_reloc,
relocate_fix_got_relocs_for_got_info,
create_got_dynrelocs_for_single_entry,
create_got_dynrelocs_for_got_info): Added to file.
* elf32-arc.c: Removed GOT & TLS related structs and functions to
arc-got.h.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
Diffstat (limited to 'include/elf')
-rw-r--r-- | include/elf/arc-reloc.def | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/elf/arc-reloc.def b/include/elf/arc-reloc.def index faa1389..a995056 100644 --- a/include/elf/arc-reloc.def +++ b/include/elf/arc-reloc.def @@ -454,7 +454,7 @@ ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \ 32, \ replace_word32, \ dont, \ - ( ME ( ( S - TLS_REL ) ) )) + ( ME ( S - SECTSTART ) + A )) ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \ 2, \ |