llvm-project/lld
Rafael Espindola e37d13b9ec Start adding tlsdesc support for aarch64.
This is mostly extracted from http://reviews.llvm.org/D18960.

The general idea for tlsdesc is that the two GD got entries are used
for a function pointer and its argument. The dynamic linker sets
both. In the non-dlopen case the dynamic linker sets the function to
the identity and the argument to the offset in the tls block.

All that the static linker has to do in the non-dlopen case is
relocate the code to point to the got entries and create a dynamic
relocation.

The dlopen case is more complicated, but can be implemented in another patch.

llvm-svn: 271569
2016-06-02 19:49:53 +00:00
..
COFF Update for llvm change. 2016-05-26 20:31:06 +00:00
ELF Start adding tlsdesc support for aarch64. 2016-06-02 19:49:53 +00:00
cmake/modules
docs ELF: New symbol table design. 2016-05-01 04:55:03 +00:00
include/lld Fix some Include What You Use warnings; other minor fixes. 2016-04-29 19:47:09 +00:00
lib Fix some Include What You Use warnings; other minor fixes. 2016-04-29 19:47:09 +00:00
test Start adding tlsdesc support for aarch64. 2016-06-02 19:49:53 +00:00
tools/lld Remove unused include. NFC. 2016-05-15 19:36:23 +00:00
unittests Fix Clang-tidy misc-unused-using-decls and Include What You Use warnings. 2016-04-21 17:14:10 +00:00
.arcconfig Update Phabricator server. 2014-04-07 04:52:24 +00:00
.clang-format Remove redundant "Standard: Cpp11" tag. The LLVM style has used the 2014-07-04 12:08:03 +00:00
.gitignore Update .gitignore to ignore hidden MacOSX Finder droppings 2014-07-16 21:01:17 +00:00
CMakeLists.txt Inline a trivial CMakeLists.txt. 2016-03-03 01:56:23 +00:00
CODE_OWNERS.TXT Add initial CODE_OWNERS.TXT file 2015-07-25 00:44:37 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:40:59 +00:00
README.md

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.