Skip to content

Conversation

brad0
Copy link
Contributor

@brad0 brad0 commented Oct 20, 2025

No description provided.

@llvmbot
Copy link
Member

llvmbot commented Oct 21, 2025

@llvm/pr-subscribers-libunwind

Author: Brad Smith (brad0)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/164341.diff

4 Files Affected:

  • (modified) compiler-rt/CMakeLists.txt (+1-1)
  • (modified) compiler-rt/lib/builtins/assembly.h (+1-1)
  • (modified) libunwind/src/assembly.h (+1-1)
  • (modified) libunwind/src/shadow_stack_unwind.h (+2-2)
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
 

@brad0 brad0 changed the title [compiler-rt] Allow for CET on OpenBSD [compiler-rt][libunwind] Allow for CET on OpenBSD Oct 21, 2025
#================================

# 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on some ELF platforms?

Then we don't need to modify the comment for new platform adoption.

@brad0 brad0 force-pushed the compiler_rt_x86_64_cet branch from 11c525c to 2ee0434 Compare October 23, 2025 01:36
@brad0 brad0 force-pushed the compiler_rt_x86_64_cet branch from 2ee0434 to e32bb9d Compare October 23, 2025 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants