================
@@ -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)) {
----------------
jroelofs wrote:
There's another PR that landed which removed this helper. I have a patch I need
to pick on this stack that switches this over to the getter-flavored version of
it.
https://github.com/llvm/llvm-project/pull/202772
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits