summaryrefslogtreecommitdiffstats
path: root/lld/ELF/InputSection.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-05-20 20:09:35 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-05-20 20:09:35 +0000
commit74f3dbe438d322a15657e56c99f33ee67c38d68c (patch)
tree22a7394dd0765d20057d1aa8905c1c49faf048be /lld/ELF/InputSection.cpp
parent3eded68bef73953267956d9688a42d52c482214c (diff)
downloadbcm5719-llvm-74f3dbe438d322a15657e56c99f33ee67c38d68c.tar.gz
bcm5719-llvm-74f3dbe438d322a15657e56c99f33ee67c38d68c.zip
Directly compute the right value for R_RELAX_TLS_GD_TO_IE.
This avoid doing math in Target.cpp to compensate. llvm-svn: 270266
Diffstat (limited to 'lld/ELF/InputSection.cpp')
-rw-r--r--lld/ELF/InputSection.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lld/ELF/InputSection.cpp b/lld/ELF/InputSection.cpp
index 4dc3252e8da..5552b90d319 100644
--- a/lld/ELF/InputSection.cpp
+++ b/lld/ELF/InputSection.cpp
@@ -168,10 +168,10 @@ getSymVA(uint32_t Type, typename ELFT::uint A, typename ELFT::uint P,
case R_GOTREL:
return Body.getVA<ELFT>(A) - Out<ELFT>::Got->getVA();
case R_GOT_FROM_END:
+ case R_RELAX_TLS_GD_TO_IE:
return Body.getGotOffset<ELFT>() + A -
Out<ELFT>::Got->getNumEntries() * sizeof(uintX_t);
case R_GOT:
- case R_RELAX_TLS_GD_TO_IE:
return Body.getGotVA<ELFT>() + A;
case R_GOT_PAGE_PC:
return getAArch64Page(Body.getGotVA<ELFT>() + A) - getAArch64Page(P);
OpenPOWER on IntegriCloud