From 08759e0fc8b0de1c56ad388212a104f3a6d61c25 Mon Sep 17 00:00:00 2001 From: Cupertino Miranda Date: Tue, 14 Jun 2016 22:55:44 +0200 Subject: 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 * 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 --- include/elf/arc-reloc.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') 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, \ -- cgit v1.1