• Jakub Jelinek's avatar
    * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL · 13ae64f3
    Jakub Jelinek authored
    	for symbols from SHF_TLS section.
    	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
    	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
    	(map_sections_to_segments): Build PT_TLS segment if necessary.
    	(assign_file_positions_for_segments): Likewise.
    	(get_program_header_size): Account for PT_TLS segment.
    	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
    	SEC_THREAD_LOCAL sections to STT_TLS.
    	* reloc.c: Add 386 and IA-64 TLS relocs.
    	* section.c (SEC_THREAD_LOCAL): Define.
    	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
    	Remove.
    	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
    	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
    	unconditionally.
    	(struct elf_final_link_info): Add first_tls_sec.
    	(elf_bfd_final_link): Set first_tls_sec.
    	Compute elf_hash_table (info)->tls_segment.
    	(elf_link_output_extsym): Handle STT_TLS symbols.
    	(elf_link_input_bfd): Likewise.
    	* syms.c ...
    13ae64f3
reloc.c 94.6 KB