summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Writer.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-04-18 12:07:13 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-04-18 12:07:13 +0000
commit3f5d634c7334c15bdf2e68a977c9c5a7bf2af2ec (patch)
treeaf4e7886f41fabc5af815809644433a836e46a0c /lld/ELF/Writer.cpp
parent4b18a510a2bb9371352e0f4c6c577a6ffba825f5 (diff)
downloadbcm5719-llvm-3f5d634c7334c15bdf2e68a977c9c5a7bf2af2ec.tar.gz
bcm5719-llvm-3f5d634c7334c15bdf2e68a977c9c5a7bf2af2ec.zip
Have getRelExpr handle all cases on x86.
This requires adding a few more expression types, but is already a small simplification. Having Writer.cpp know the exact expression will also allow further simplifications. llvm-svn: 266604
Diffstat (limited to 'lld/ELF/Writer.cpp')
-rw-r--r--lld/ELF/Writer.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 325e571b356..c799d54c6e6 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -563,7 +563,7 @@ void Writer<ELFT>::scanRelocs(InputSectionBase<ELFT> &C, ArrayRef<RelTy> Rels) {
// If a relocation needs GOT, we create a GOT slot for the symbol.
if (Expr == R_GOT || Expr == R_MIPS_GOT || Expr == R_MIPS_GOT_LOCAL ||
- Expr == R_GOT_PAGE_PC || Expr == R_GOT_PC) {
+ Expr == R_GOT_PAGE_PC || Expr == R_GOT_PC || Expr == R_GOT_FROM_END) {
uint32_t T = Body.isTls() ? Target->getTlsGotRel(Type) : Type;
C.Relocations.push_back({Expr, T, Offset, Addend, &Body});
if (Body.isInGot())
OpenPOWER on IntegriCloud