[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