forked from OSchip/llvm-project
ca58a8ff5b
MIPS ABI turns using of GOT and dynamic relocations inside out. While regular ABI uses dynamic relocations to fill up GOT entries MIPS ABI requires dynamic linker to fills up GOT entries using specially sorted dynamic symbol table. This affects even dynamic relocations against symbols which do not require GOT entries creation explicitly, i.e. do not have any GOT-relocations. So if a preemptible symbol has a dynamic relocation we anyway have to create a GOT entry for it. If a non-preemptible symbol has a dynamic relocation against it, dynamic linker takes it st_value, adds offset and writes down result of the dynamic relocation. In case of preemptible symbol dynamic linker performs symbol resolution, writes the symbol value to the GOT entry and reads the GOT entry when it needs to perform a dynamic relocation. Differential Revision: http://reviews.llvm.org/D18948 llvm-svn: 266921 |
||
---|---|---|
.. | ||
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.