diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-04-18 12:07:13 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-04-18 12:07:13 +0000 |
commit | 3f5d634c7334c15bdf2e68a977c9c5a7bf2af2ec (patch) | |
tree | af4e7886f41fabc5af815809644433a836e46a0c /lld/ELF/Writer.cpp | |
parent | 4b18a510a2bb9371352e0f4c6c577a6ffba825f5 (diff) | |
download | bcm5719-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.cpp | 2 |
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()) |