https://github.com/brad0 updated https://github.com/llvm/llvm-project/pull/164341
>From 11c525c3b1dbfe554b1d67c766ceab3905dd8d24 Mon Sep 17 00:00:00 2001 From: Brad Smith <[email protected]> Date: Mon, 20 Oct 2025 19:49:08 -0400 Subject: [PATCH] [compiler-rt][libunwind] Allow for CET on OpenBSD --- compiler-rt/CMakeLists.txt | 2 +- compiler-rt/lib/builtins/assembly.h | 2 +- libunwind/src/assembly.h | 2 +- libunwind/src/shadow_stack_unwind.h | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index 5931b60d0975b..19a06ad1c5d20 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -315,7 +315,7 @@ include(config-ix) # Setup Compiler Flags #================================ -# fcf-protection is a gcc/clang option for CET support on Linux platforms. +# fcf-protection is a gcc/clang option for CET support on Linux/OpenBSD. # We need to handle MSVC CET option on Windows platforms. if (NOT MSVC) if (COMPILER_RT_ENABLE_CET AND NOT COMPILER_RT_HAS_FCF_PROTECTION_FLAG) diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h index d1e532813aa24..871f9ad2b75d8 100644 --- a/compiler-rt/lib/builtins/assembly.h +++ b/compiler-rt/lib/builtins/assembly.h @@ -14,7 +14,7 @@ #ifndef COMPILERRT_ASSEMBLY_H #define COMPILERRT_ASSEMBLY_H -#if defined(__linux__) && defined(__CET__) +#ifdef __CET__ #if __has_include(<cet.h>) #include <cet.h> #endif diff --git a/libunwind/src/assembly.h b/libunwind/src/assembly.h index f8e83e138eff5..f0fcd006f2073 100644 --- a/libunwind/src/assembly.h +++ b/libunwind/src/assembly.h @@ -15,7 +15,7 @@ #ifndef UNWIND_ASSEMBLY_H #define UNWIND_ASSEMBLY_H -#if defined(__linux__) && defined(__CET__) +#if defined(__CET__) #include <cet.h> #define _LIBUNWIND_CET_ENDBR _CET_ENDBR #else diff --git a/libunwind/src/shadow_stack_unwind.h b/libunwind/src/shadow_stack_unwind.h index 1f229d8317116..554a1ca80ad53 100644 --- a/libunwind/src/shadow_stack_unwind.h +++ b/libunwind/src/shadow_stack_unwind.h @@ -12,8 +12,8 @@ #include "libunwind.h" -// Currently, CET is implemented on Linux x86 platforms. -#if defined(_LIBUNWIND_TARGET_LINUX) && defined(__CET__) && defined(__SHSTK__) +// Currently, CET is implemented on Linux/OpenBSD x86. +#if defined(__CET__) && defined(__SHSTK__) #define _LIBUNWIND_USE_CET 1 #endif _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
