summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>2020-09-10 15:59:36 +0200
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>2020-09-29 14:51:13 +0200
commit75a5febe31cb2660c4f72d9745625704d29946e1 (patch)
treec0c2ba96265633498a9244b7dd9dbf9a427297ad /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parentedeff6e642e66a5be05c11cb8b9b36b3383078ae (diff)
[SystemZ] Don't emit PC-relative memory accesses to unaligned symbols.
In the presence of packed structures (#pragma pack(1)) where elements are referenced through pointers, there will be stores/loads with alignment values matching the default alignments for the element types while the elements are in fact unaligned. Strictly speaking this is incorrect source code, but is unfortunately part of existing code and therefore now addressed. This patch improves the pattern predicate for PC-relative loads and stores by not only checking the alignment value of the instruction, but also making sure that the symbol (and element) itself is aligned. Fixes https://bugs.llvm.org/show_bug.cgi?id=44405 Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D87510
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions