hanchenye-llvm-project/lld
Peter Smith 9d450256d2 Support for standard model ARM TLS
Add relocations and identification functions for the Initial Exec
and Global Dynamic TLS model defined in Addenda to, and Errata in,
the ABI for the ARM Architecture.
    
ARM uses variant 1 of the thread local storage data
structures as defined in ELF Handling for Thread-Local Storage.
    
The "experimental" descriptor based model that can be selected in
gcc, but not clang with -mtls-dialect=gnu2 is not supported.
    
The relocations R_ARM_TLS_LE12 and R_ARM_TLS_IE12GP are not
supported, I know of no ARM Toolchain that supports these relocations
as they limit the size of the TLS block.
    
No code relaxation is supported as the standard ARM TLS model puts
the relocations on literal data.
    
Support for the local dynamic model will come in a follow up patch.

Differential Revision: https://reviews.llvm.org/D22462

llvm-svn: 276095
2016-07-20 08:52:27 +00:00
..
COFF COFF: Update error messages so that they start with lowercase letters. 2016-07-15 01:12:24 +00:00
ELF Support for standard model ARM TLS 2016-07-20 08:52:27 +00:00
cmake/modules
docs docs/conf.py: update version to 4.0 2016-07-18 18:12:14 +00:00
include/lld [lld] Update LLD for Archive::child_iterator change in LLVM r275361. 2016-07-14 02:35:18 +00:00
lib [lld] Update LLD for Archive::child_iterator change in LLVM r275361. 2016-07-14 02:35:18 +00:00
test Support for standard model ARM TLS 2016-07-20 08:52:27 +00:00
tools/lld Update error message to use "ld.lld" instead of "lld -flavor gnu". 2016-07-14 17:57:33 +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 Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format
.gitignore
CMakeLists.txt Inline a trivial CMakeLists.txt. 2016-03-03 01:56:23 +00:00
CODE_OWNERS.TXT
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.