[compiler-rt] [libcxx] [libcxxabi] [libunwind] [runtimes][PAC] Harden unwinding when possible (PR #143230)
Oliver Hunt via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 3 10:24:53 PDT 2025
================
@@ -103,10 +104,68 @@
#define _LIBCXXABI_DTOR_FUNC
#endif
-#if __cplusplus < 201103L
-# define _LIBCXXABI_NOEXCEPT throw()
-#else
-# define _LIBCXXABI_NOEXCEPT noexcept
+#if __has_include(<ptrauth.h>)
+# include <ptrauth.h>
#endif
+#if __has_extension(ptrauth_qualifier)
+
+// The actual value of the discriminators listed below is not important
+// beyond their impact on ABI. The derivation of the constants is only
+// being included for the purpose of maintaining a record of how they
+// were originally produced.
+
+// ptrauth_string_discriminator("__cxa_exception::actionRecord") == 0xFC91
----------------
ojhunt wrote:
The only actual reason for the "this was the origin" is to clarify that these weren't arbitrary - essentially providing provenance if anyone is _really_ curious. It's really not important (these aren't used for cryptography, where the origin of any constant is important, but we started doing this out of habit a while back for all those we could still find the original derivation on principle)
https://github.com/llvm/llvm-project/pull/143230
More information about the llvm-commits
mailing list