]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[ARC] More fixes for TLS.
authorCupertino Miranda <cmiranda@synopsys.com>
Thu, 4 Oct 2018 09:17:03 +0000 (10:17 +0100)
committerClaudiu Zissulescu <claziss@gmail.com>
Thu, 15 Nov 2018 15:32:37 +0000 (17:32 +0200)
commit6ce881c15fc463ffbdac55c6e7295422fd49abf9
tree14f8782cbc7e785ca0ca648a9ed90a0af9d6530b
parent231c5ff116b70a68e7c3689006cec4fea0ecd575
[ARC] More fixes for TLS.

Added warning for static TLS reloc.

Fixed issue related to TLS and partial static linking of libraries:
  This issue was detected when throwing exceptions in C++ while linking with
  -static-libstdc++.
  TLS relocation from the libstdc++ wasn't being patched as local now that it was
  static linked with the executable.

Fix for TLS with static and pie. Problem introduced by earlier patch:
  Fixes the following glibc tests:
   - elf/tst-tls1-static

bfd/
    xxxx-xx-xx  Cupertino Miranda  <cmiranda@synopsys.com>

    * arc-got.h (arc_got_entry_type_for_reloc): Changed to
      correct static TLS relocs.
            * elf32-arc.c (elf_arc_check_relocs): Introduced warning to
      TLS relocs which require -fPIC.
      (arc_create_forced_local_got_entries_for_tls): Created.
      Traverses list of GOT entries to be resolved statically
      when needed.
      (elf_arc_finish_dynamic_sections): Changed. Calls
      arc_create_forced_local_got_entries_for_tls for each known
      possibly GOT symbol.
bfd/ChangeLog
bfd/arc-got.h
bfd/elf32-arc.c