• Michael Eager's avatar
    Microblaze: Add support for handling TLS symbol suffixes and generating · 69b06cc8
    Michael Eager authored
    TLS relocs for General Dynamic and Local Dynamic models.
    
    bfd/Changelog
              * reloc.c: Add new relocations
              * bfd-in2.h: Regenerated
              * libbfd.h: Regenerated
              * elf32-microblaze.c (microblaze_elf_howto_raw):
                Add TLS relocations
                (microblaze_elf_reloc_type_lookup): Likewise
                (elf32_mb_link_hash_entry): define TLS reference types
                (elf32_mb_link_hash_table): add TLS Local dynamic GOT entry
                #define has_tls_reloc if section has TLS relocs
                (dtprel_base), (check_unique_offset): New
                (microblaze_elf_output_dynamic_relocation): output simple
                dynamic relocation into SRELOC.
                (microblaze_elf_relocate_section): Accommodate TLS relocations.
                (microblaze_elf_check_relocs): Likewise
                (update_local_sym_info): New
                (microblaze_elf_copy_indirect_symbol): Add tls_mask.
                (allocate_dynrelocs): Handle TLS symbol
                (microblaze_elf_size_dynamic_sections): Set size and offset
                (microblaze_elf_finish_dynamic_symbol): Use
                 microblaze_elf_output_dynamic_relocation
    
    gas/Changelog
              * config/tc-microblaze.c: Define TLS offsets
                (md_relax_table): Add TLS offsets
                (imm_types), (match_imm), (get_imm_otype): New to support
                TLS offsets.
                (tc_microblaze_fix_adjustable): Add TLS relocs.
                (md_convert_frag): Support TLS offsets.
                (md_apply_fix), (md_estimate_size_before_relax), (tc_gen_reloc):
                Add TLS relocs
    
    include/Changelog
              * elf/microblaze.h: Add TLS relocs to START_RELOC_NUMBERS
    69b06cc8
bfd-in2.h 221 KB