================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to