[PATCH] [lld] [ELF] Support for general dynamic TLS relocations on X86_64

Rafael Auler rafaelauler at gmail.com
Fri Sep 26 20:03:18 PDT 2014


This new version of the patch completely removes the special case for the "__tls_get_addr" atom/symbol, since it will be provided by input libraries (usually ld.so). However, some tests depended on __tls_get_addr being always defined, independent of inputs. To avoid breaking these tests, this patch adds "--defsym=__tls_get_addr=0" to the linker command line in these tests. This patch also updates a "TODO" file that asked to remove __tls_get_addr from the output.

http://reviews.llvm.org/D5505

Files:
  include/lld/ReaderWriter/ELFLinkingContext.h
  lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/AArch64/AArch64ExecutableWriter.h
  lib/ReaderWriter/ELF/Atoms.h
  lib/ReaderWriter/ELF/DefaultLayout.h
  lib/ReaderWriter/ELF/ELFLinkingContext.cpp
  lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h
  lib/ReaderWriter/ELF/OutputELFWriter.h
  lib/ReaderWriter/ELF/TODO.txt
  lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/X86_64/X86_64ExecutableWriter.h
  lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h
  lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.cpp
  lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp
  test/elf/X86_64/Inputs/generaltls-so.o.yaml
  test/elf/X86_64/general-dynamic-tls.test
  test/elf/X86_64/omagic.test
  test/elf/X86_64/undef.test
  test/elf/X86_64/underscore-end.test
  test/elf/dynamic-segorder.test
  test/elf/dynamic-undef.test
  test/elf/undef-from-main-dso.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5505.14144.patch
Type: text/x-patch
Size: 27513 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140927/5034727c/attachment.bin>


More information about the llvm-commits mailing list