summaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api/interpreter
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed@bougacha.org>2024-05-31 14:08:10 -0700
committerGitHub <noreply@github.com>2024-05-31 14:08:10 -0700
commitcc548ec47c05971a67ed9ec7086d414aabcf8b05 (patch)
tree7eba3555718856da0f5f8e7727b006105de78a59 /lldb/test/API/python_api/interpreter
parent68fdc1cf87eb04686e079af27eaeec0f1c41f8cc (diff)
[AArch64][PAC] Lower authenticated calls with ptrauth bundles. (#85736)
This adds codegen support for the "ptrauth" operand bundles, which can be used to augment indirect calls with the equivalent of an `@llvm.ptrauth.auth` intrinsic call on the call target (possibly preceded by an `@llvm.ptrauth.blend` on the auth discriminator if applicable.) This allows the generation of combined authenticating calls on AArch64 (in the BLRA* PAuth instructions), while avoiding the raw just-authenticated function pointer from being exposed to attackers. This is done by threading a PtrAuthInfo descriptor through the call lowering infrastructure, eventually selecting a BLRA pseudo. The pseudo encapsulates the safe discriminator computation, which together with the real BLRA* call get emitted in late pseudo expansion in AsmPrinter. Note that this also applies to the other forms of indirect calls, notably invokes, rvmarker, and tail calls. Tail-calls in particular bring some additional complexity, with the intersecting register constraints of BTI and PAC discriminator computation. However this doesn't currently support PAuth_LR tail-call variants. This also adopts an x8+ allocation order for GPR64noip, matching GPR64.
Diffstat (limited to 'lldb/test/API/python_api/interpreter')
0 files changed, 0 insertions, 0 deletions