aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
diff options
context:
space:
mode:
authorSimon Tatham <simon.tatham@arm.com>2023-05-24 09:28:33 +0100
committerSimon Tatham <simon.tatham@arm.com>2023-05-25 09:22:45 +0100
commit20d6dee40d507d467d3312d5e7dfdf088f106d31 (patch)
tree44fa8e35d6ee272a1495c9fec30b07ad52c423e4 /lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
parentd2502eb091fabc36463e491b066bb002b47ba521 (diff)
downloadllvm-20d6dee40d507d467d3312d5e7dfdf088f106d31.zip
llvm-20d6dee40d507d467d3312d5e7dfdf088f106d31.tar.gz
llvm-20d6dee40d507d467d3312d5e7dfdf088f106d31.tar.bz2
-fsanitize=function: fix alignment fault on Arm targets.
Function pointers are checked by loading a prefix structure from just before the function's entry point. However, on Arm, the function pointer is not always exactly equal to the address of the entry point, because Thumb function pointers have the low bit set to tell the BX instruction to enter them in Thumb state. So the generated code loads from an odd address and suffers an alignment fault. Fixed by clearing the low bit of the function pointer before subtracting 8. Differential Revision: https://reviews.llvm.org/D151308
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbgdbclient.py')
0 files changed, 0 insertions, 0 deletions