forked from OSchip/llvm-project
f2fdd013a2
Where Clang's AArch64 backend seems to differ from the X86 backend is that it tends to use the GOT more aggressively. After getting CloudABI PIEs working on x86-64, I noticed that accessing global variables would still crash on aarch64. Tracing it down, it turns out that the GOT was filled with entries assuming the base address was zero. It turns out that we skip generating relocations for GOT entries in case the relocation pointing towards the GOT is relative. Whether the thing pointing to the GOT is absolute or relative shouldn't make any difference; the GOT entry itself should contain the absolute address, thus needs a relocation regardless. Approved by: rafael Differential Revision: http://reviews.llvm.org/D18739 llvm-svn: 265453 |
||
---|---|---|
.. | ||
COFF | ||
ELF | ||
cmake/modules | ||
docs | ||
include/lld | ||
lib | ||
test | ||
tools/lld | ||
unittests | ||
.arcconfig | ||
.clang-format | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
LICENSE.TXT | ||
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.