Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lld
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2015-07-04 00:24:36 +0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2015-07-04 00:24:36 +0300
commitc0ad64543bb64d2a2863c56f34227654ffae57a7 (patch)
tree0d2c6cfd0221129bb9596e783d88a75b30d37ac3 /lld
parentfdb4d6346a4610dc2ec39eaf241b8dffc6028e5a (diff)
[ELF/AArch64] Set correct loader name in linking context
This patch reimplements ELFLinkingContext::getDefaultInterpreter for aarch64 with correct loader name. It is required to exclude the loader from DT_NEEDED in shared library creation. llvm-svn: 241371
Diffstat (limited to 'lld')
-rw-r--r--lld/lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lld/lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp b/lld/lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp
index 62d3702d7a0a..e2ec319601f3 100644
--- a/lld/lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp
+++ b/lld/lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp
@@ -252,10 +252,10 @@ protected:
return got->second;
}
- /// \brief Create a GOT TPREL entry and change the relocation to a PC32 to
- /// the GOT.
+ /// \brief Create a GOT TPREL entry to local or external TLS variable.
std::error_code handleGOTTPREL(const Reference &ref) {
- if (isa<DefinedAtom>(ref.target()))
+ if (isa<DefinedAtom>(ref.target()) ||
+ isa<SharedLibraryAtom>(ref.target()))
const_cast<Reference &>(ref).setTarget(getGOTTPREL(ref.target()));
return std::error_code();
}