summaryrefslogtreecommitdiff
path: root/lld/ELF/InputSection.cpp
diff options
context:
space:
mode:
authorSean Fertile <sfertile@ca.ibm.com>2018-05-29 14:34:38 +0000
committerSean Fertile <sfertile@ca.ibm.com>2018-05-29 14:34:38 +0000
commit672e6b8ed59a7b78b6c279434bce604fec174599 (patch)
tree4e7e82d30d2410d31a66811271c9a34088ae402e /lld/ELF/InputSection.cpp
parent79775fc73db27c11fc1084dc5a1b700e155769bd (diff)
[PPC64] Support General-Dynamic tls.
Adds handling of all the relocation types for general-dynamic thread local storage. Differential Revision: https://reviews.llvm.org/D47325
Diffstat (limited to 'lld/ELF/InputSection.cpp')
-rw-r--r--lld/ELF/InputSection.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lld/ELF/InputSection.cpp b/lld/ELF/InputSection.cpp
index 11d46cf9c28..3c4a398923a 100644
--- a/lld/ELF/InputSection.cpp
+++ b/lld/ELF/InputSection.cpp
@@ -633,6 +633,8 @@ static uint64_t getRelocTargetVA(RelType Type, int64_t A, uint64_t P,
getAArch64Page(P);
case R_TLSGD:
return InX::Got->getGlobalDynOffset(Sym) + A - InX::Got->getSize();
+ case R_TLSGD_GOT:
+ return InX::Got->getGlobalDynOffset(Sym) + A;
case R_TLSGD_PC:
return InX::Got->getGlobalDynAddr(Sym) + A - P;
case R_TLSLD: