[libcxx-commits] [compiler-rt] [libcxx] [libcxxabi] [libunwind] [runtimes][PAC] Harden unwinding when possible (PR #143230)
Daniil Kovalev via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Sep 22 09:59:11 PDT 2025
================
@@ -541,7 +588,33 @@ struct scan_results
};
} // unnamed namespace
+} // extern "C"
+
+namespace {
+// The logical model for casting authenticated function pointers makes
+// it impossible to directly cast them without breaking the authentication,
+// as a result we need this pair of helpers.
+template <typename PtrType>
+[[maybe_unused]] void set_landing_pad_as_ptr(scan_results& results, const PtrType& out) {
----------------
kovdan01 wrote:
I've compiled toolchain with three different sysroots:
1. AArch64 with pauthtest enabled
2. AArch64 with no pauth hardening
3. x86_64
No warnings were present when building these.
I suggest to do the following. Let's revert these `[[maybe_unused]]` changes and look at buildbot status in pre-merge checks. Depending on status of the builds, we can do one of the following.
1. If there are no issues related to this, we are fine.
2. Otherwise, we need to investigate why I'm not facing the issue locally and find the mainline commit which fixed that. And, when adding `[[maybe_unused]]` workaround, we should describe the bug and put corresponding references to commits/issues in comments.
To make things easier, you are welcome to use the commit 80cfa58a28a15d55938f4732792747722988a521 from my [branch](https://github.com/kovdan01/llvm-project/commits/pointer-authenticated-unwinding-2025-09-22-with-fixes/) - the commit reverts this workaround.
https://github.com/llvm/llvm-project/pull/143230
More information about the libcxx-commits
mailing list