summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2021-10-25 10:25:14 -0400
committerNico Weber <thakis@chromium.org>2021-10-27 14:02:07 -0400
commit6503a68565f6ba4e13935ee614a732b6fcb2b30b (patch)
tree5529d1d7247010f0cc41c4d373dc1baf67e9e844 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parent0a06068ac76617fabe689a3b8a167fca81600a21 (diff)
[lld/mac] Don't assert when ICFing arm64 code
WordLiteralSection dedupes literals by content. WordLiteralInputSection::getOffset() used to read a literal at the passed-in offset and look up this value in the deduping map to find the offset of the deduped value. But it's possible that (e.g.) a 16-byte literal's value is accessed 4 bytes in. To get the offset at that address, we have to get the deduped value at offset 0 and then apply the offset 4 to the result. (See also WordLiteralSection::finalizeContents() which fills in those maps.) Only a problem on arm64 because in x86_64 the offset is part of the instruction instead of a separate ARM64_RELOC_ADDEND relocation. (See bug for more details.) Fixes PR51999. Differential Revision: https://reviews.llvm.org/D112584
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions