================
@@ -30,6 +30,46 @@ EXCEPTION_DISPOSITION
_GCC_specific_handler(PEXCEPTION_RECORD, void *, PCONTEXT,
_Unwind_Personality_Fn);
#endif
+#if __has_include(<ptrauth.h>)
+#include <ptrauth.h>
+#endif
+
+#if defined(__APPLE__) && __has_feature(ptrauth_qualifier)
----------------
atrosinenko wrote:
I am building this for `aarch64-linux-pauthtest` now and I wonder if it is
beneficial to decrease the number of hardcoded `defined(__APPLE__)` guards?
Something like
```cpp
#if defined(__APPLE__)
#define EXTRA_PTRAUTH_HARDENING 1
#else
#define EXTRA_PTRAUTH_HARDENING 0
#endif
```
near the top of the file and then use `EXTRA_PTRAUTH_HARDENING` throughout the
code instead of `defined(__APPLE__)`, so that other platforms can opt-in to
this hardening by adjusting a single line.
Though, the above `EXTRA_PTRAUTH_HARDENING` macro still have to be defined
multiple times: separate definitions would probably be required for
`compiler-rt/lib/builtins/gcc_personality_v0.c`, `libcxxabi` and `libunwind`.
https://github.com/llvm/llvm-project/pull/143230
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits