llvm-project/lld
Peter Smith ee6d7186c3 [ELF] Move createThunks() after scanRelocations()
A necessary first step towards range extension thunks is to delay
the creation of thunks until the layout of InputSections within
OutputSections has been done.
    
The change scans the relocations directly from InputSections rather
than looking in the ELF File the InputSection came from. This will
allow a future change to redirect the relocations to symbols defined
by Thunks rather than indirect when resolving relocations.
    
A side-effect of moving ThunkCreation is that the OutSecOff of
InputSections may change in an OutputSection that contains Thunks.
In well behaved programs thunks are not in OutputSections with
dynamic relocations.
    
Differential Revision: https://reviews.llvm.org/D28811

llvm-svn: 292359
2017-01-18 09:57:14 +00:00
..
COFF COFF: add error() and warn() to Error.{cpp,h} 2017-01-17 19:07:42 +00:00
ELF [ELF] Move createThunks() after scanRelocations() 2017-01-18 09:57:14 +00:00
cmake/modules [lld][cmake] Fix LLVM_LINK_LLVM_DYLIB build 2017-01-09 09:57:08 +00:00
docs Clear the release notes for 5.0.0 2017-01-12 22:00:54 +00:00
include/lld COFF: add error() and warn() to Error.{cpp,h} 2017-01-17 19:07:42 +00:00
lib [lld][cmake] Fix LLVM_LINK_LLVM_DYLIB build 2017-01-09 09:57:08 +00:00
test Return early if writeMapFile failed. 2017-01-18 03:34:38 +00:00
tools/lld [lld][cmake] Fix LLVM_LINK_LLVM_DYLIB build 2017-01-09 09:57:08 +00:00
unittests [Cmake] Use Cmake's default RPATH for unittest. 2016-09-12 20:44:53 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format
.gitignore
CMakeLists.txt [cmake] Obtain LLVM_CMAKE_PATH from llvm-config 2017-01-09 23:17:10 +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.