summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
diff options
context:
space:
mode:
authorTom Dohrmann <erbse.13@gmx.de>2023-05-09 14:06:30 +0800
committerPhoebe Wang <phoebe.wang@intel.com>2023-05-09 16:31:42 +0800
commitf6154364f65709df234f07ad1fe8799e68d84134 (patch)
tree7324d255c0f7b5f850948c8326400e62c1144d71 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
parent74fd474eea53e85fc8f64422f565fd2bd50fd7e4 (diff)
fix stack probe lowering for x86_intrcc
The x86_intrcc calling convention will build two STACKALLOC_W_PROBING machine instructions if the function takes an error code. This is caused by an additional call to emitSPUpdate in llvm/lib/Target/X86/X86FrameLowering.cpp:1650. Previously only the first STACKALLOC_W_PROBING machine instruction was properly handled, the second one was simply ignored. This lead to miscompilations where the stack pointer wasn't properly updated (see https://github.com/rust-lang/rust/issues/109918). This patch fixes this by handling all STACKALLOC_W_PROBING machine instructions. To be honest I don't quite understand why this didn't lead to more noticeable miscompilations previously. This is my first time contributing to LLVM. Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D150033
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h')
0 files changed, 0 insertions, 0 deletions