aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineModuleInfo.cpp
diff options
context:
space:
mode:
authorAlex Richardson <Alexander.Richardson@cl.cam.ac.uk>2019-11-20 13:19:16 +0000
committerAlex Richardson <Alexander.Richardson@cl.cam.ac.uk>2019-11-20 13:23:26 +0000
commit5bab291b7bd043104abf1ca7977e8248684cae95 (patch)
tree9be1b466e634ae1401bcb1af3c4412b407c833c3 /llvm/lib/CodeGen/MachineModuleInfo.cpp
parent3f91705ca54bc76b50c35f9e0831ab356d653c5c (diff)
downloadllvm-5bab291b7bd043104abf1ca7977e8248684cae95.zip
llvm-5bab291b7bd043104abf1ca7977e8248684cae95.tar.gz
llvm-5bab291b7bd043104abf1ca7977e8248684cae95.tar.bz2
Ignore R_MIPS_JALR relocations against non-function symbols
Summary: Current versions of clang would erroneously emit this relocation not only against functions (loaded from the GOT) but also against data symbols (e.g. a table of function pointers). LLD was then changing this into a branch-and-link instruction, causing the program to jump to the data symbol at run time. I discovered this problem when attempting to boot MIPS64 FreeBSD after updating the to the latest upstream master. Reviewers: atanasyan, jrtc27, espindola Reviewed By: atanasyan Subscribers: emaste, sdardis, krytarowski, MaskRay, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70406
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions