diff options
author | Jez Ng <jezng@fb.com> | 2021-03-12 17:26:11 -0500 |
---|---|---|
committer | Jez Ng <jezng@fb.com> | 2021-03-12 17:26:27 -0500 |
commit | dc8bee92658e4ac2314aa2f59123078d49463219 (patch) | |
tree | ee8916b68b3e6e118397365412421f492b2a1772 /llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp | |
parent | 7b5ab956b1ffa16feabc537e057148530156a1c3 (diff) | |
download | llvm-dc8bee92658e4ac2314aa2f59123078d49463219.zip llvm-dc8bee92658e4ac2314aa2f59123078d49463219.tar.gz llvm-dc8bee92658e4ac2314aa2f59123078d49463219.tar.bz2 |
[lld-macho] Check address ranges when applying relocations
This diff required fixing `getEmbeddedAddend` to apply sign
extension to 32-bit values. We were previously passing around wrong
64-bit addend values that became "right" after being truncated back to
32-bit.
I've also made `getEmbeddedAddend` return a signed int, which is similar
to what LLD-ELF does for its `getImplicitAddend`.
`reportRangeError`, `checkUInt`, and `checkInt` are counterparts of similar
functions in LLD-ELF.
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D98387
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp')
0 files changed, 0 insertions, 0 deletions