[compiler-rt] [libcxx] [libcxxabi] [libunwind] [runtimes][PAC] Harden unwinding when possible (PR #143230)
Daniil Kovalev via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 3 05:16:17 PDT 2025
================
----------------
kovdan01 wrote:
Cannot add inline comment, so commenting on the whole file: `stepWithDwarf` function contains piece of logic for handling signed RA. This works properly for pac-ret, but it interferes with logic for ptrauth-returns which is a part of pauthtest ABI on Linux and a part of Apple's arm64e. So, it worth to disable this piece of logic when ptrauth-returns is present - see, for example, commit 0e8f327ea0ad9965dc6a9baae0b08687c9fd9f7a in my branch [pointer-authenticated-unwinding-fix3](https://github.com/kovdan01/llvm-project/commits/pointer-authenticated-unwinding-fix3).
Alternatively, we can change the logic in a way it handles both pac-ret and ptrauth-returns properly w/o interfering (not sure if it's worth doing that though).
P.S. The proof-of-concept fix was initially implemented by @atrosinenko in commit 9c995f76ae6d444827bfa89bcdd1ced5d49709dc in his branch [pointer-authenticated-unwinding-fix1](https://github.com/atrosinenko/llvm-project/commits/pointer-authenticated-unwinding-fix1/)
https://github.com/llvm/llvm-project/pull/143230
More information about the llvm-commits
mailing list