================ @@ -103,6 +103,52 @@ #define _LIBCXXABI_DTOR_FUNC #endif +#if __has_include(<ptrauth.h>) +# include <ptrauth.h> +#endif ---------------- atrosinenko wrote:
I wonder if it is a supported configuration when `ptrauth.h` header is not available, but `__has_extension(ptrauth_qualifier)` is true? Note that the macro definitions guarded with `#if __has_extension(ptrauth_qualifier)` still refer to identifiers like `ptrauth_key_process_dependent_data`. Maybe this could be simplified by assuming that `__ptrauth_cxxabi_*` are defined to non-empty expressions if and only if `__has_extension(ptrauth_qualifier)` is true, and in that case `ptrauth.h` header must exist: ```cpp #if __has_extension(ptrauth_qualifier) # include <ptrauth.h> // ptrauth_string_discriminator("__cxa_exception::actionRecord") == 0xFC91 # define __ptrauth_cxxabi_action_record \ __ptrauth(ptrauth_key_process_dependent_data, 1, 0xFC91) // ... #endif ``` https://github.com/llvm/llvm-project/pull/143230 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits