* elf32-arc.c (struct elf_ARC_link_hash_entry): Change type of
        tls_type to unsigned char.  Move pcrel_relocs_copied into
        new anonymous union u.  Remove member alloc_deferred.
        Changed all users.
        (struct elf_ARC_link_hash_table): New member deferred_tls_got.
        (elf_arc_deferred_tls_got): New define.
        (struct elf_arc_obj_tdata) <local_got_tls_type>:
        Change type to unsigned char.
        (elf_ARC_link_hash_table_create): Initialize deferred_tls_got member.
        (arc_tls_transition): Change type of second argument to
        "unsigned char *" - pointing to the tls_type.  Changed all callers.
        (elf_arc_check_relocs): Also enable tls transitions for static
        symbols, and defer GOT allocations for global symbols in
        R_ARC_TLS_IE_GOT relocs.
        Remove extra srelgot allocation for static GOT_TLS_GD variables.
        (elf_arc_relocate_section):  Also enable tls transitions for static
        symbols.
        <R_ARC_TLS_IE_GOT>: Remove dead relocation adjustment.
        (elf_arc_finish_dynamic_symbol): Remove GOT_TLS_LE handling.
        (arc_allocate_gd_got): Delete.
        (arc_allocate_tls_got): New function.
        (elf_arc_size_dynamic_sections): Call arc_allocate_tls_got instead of
        traversing the hash table with arc_allocate_gd_got.
        * elf32-arc.c (struct elf_ARC_link_hash_table): Replace member
        deferred_tls_got with first_deferred_tls_got and last_deferred_tls_got.
        (elf_arc_deferred_tls_got): Delete define.
        (elf_arc_first_deferred_tls_got): New define.
        (elf_arc_last_deferred_tls_got): Likewise.
        (elf_ARC_link_hash_table_create): Set up new members.
        (elf_arc_check_relocs): Read / write back last_deferred_tls_got
        from/to elf_arc_last_deferred_tls_got (info).
        (arc_allocate_tls_got): Read elf_arc_first_deferred_tls_got (info).