[libunwind] [libunwind][arm64e] Mach-O Support unwinding PAuth_LR frames (PR #202772)
Daniil Kovalev via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 7 05:08:23 PDT 2026
================
@@ -292,16 +292,27 @@ int DwarfInstructions<A, R>::stepWithDwarf(
isSignalFrame = cieInfo.isSignalFrame;
-#if defined(_LIBUNWIND_TARGET_AARCH64) && \
- !defined(_LIBUNWIND_TARGET_AARCH64_AUTHENTICATED_UNWINDING)
+#if defined(_LIBUNWIND_TARGET_AARCH64)
// There are two ways of return address signing: pac-ret (enabled via
// -mbranch-protection=pac-ret) and ptrauth-returns (enabled as part of
// Apple's arm64e or experimental pauthtest ABI on Linux). The code
- // below handles signed RA for pac-ret, while ptrauth-returns uses
- // different logic.
+ // below handles signed RA for ptrauth-returns, while pac-ret uses pacm
+ // instructions from the hint space.
+ //
// TODO: unify logic for both cases, see
// https://github.com/llvm/llvm-project/issues/160110
- //
+#if defined(_LIBUNWIND_TARGET_AARCH64_AUTHENTICATED_UNWINDING)
+ if (isReturnAddressSignedWithPC(addressSpace, registers, cfa, prolog)) {
----------------
kovdan01 wrote:
Are there any PRs besides #202742 which this PR depends on? It looks like that `isReturnAddressSignedWithPC` is undefined (grepping it in libunwind only shows this occurrence), which causes a build failure on pauthtest buildbot: https://lab.llvm.org/buildbot/#/builders/227/builds/3082
https://github.com/llvm/llvm-project/pull/202772
More information about the cfe-commits
mailing list