@@ -120,7 +120,8 @@ KMP_PREFIX_UNDERSCORE(\proc):
120120# endif // KMP_OS_DARWIN
121121#endif // KMP_ARCH_X86 || KMP_ARCH_x86_64
122122
123- #if (KMP_OS_LINUX || KMP_OS_DARWIN || KMP_OS_WINDOWS) && (KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32 || KMP_ARCH_ARM)
123+ #if (KMP_OS_LINUX || KMP_OS_DARWIN || KMP_OS_WINDOWS || KMP_OS_OPENBSD) && \
124+ (KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32 || KMP_ARCH_ARM)
124125
125126# if KMP_OS_DARWIN
126127# define KMP_PREFIX_UNDERSCORE(x) _##x // extra underscore for OS X* symbols
@@ -188,7 +189,7 @@ KMP_PREFIX_UNDERSCORE(\proc):
188189.endm
189190# endif // KMP_OS_DARWIN
190191
191- # if KMP_OS_LINUX
192+ # if KMP_OS_LINUX || KMP_OS_OPENBSD
192193// BTI and PAC gnu property note
193194# define NT_GNU_PROPERTY_TYPE_0 5
194195# define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000
@@ -235,7 +236,8 @@ KMP_PREFIX_UNDERSCORE(\proc):
235236# define PACBTI_RET
236237# define GNU_PROPERTY_BTI_PAC
237238# endif
238- #endif // (KMP_OS_LINUX || KMP_OS_DARWIN || KMP_OS_WINDOWS) && (KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32 || KMP_ARCH_ARM)
239+ #endif // (KMP_OS_LINUX || KMP_OS_DARWIN || KMP_OS_WINDOWS || KMP_OS_OPENBSD) && \
240+ (KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32 || KMP_ARCH_ARM)
239241
240242.macro COMMON name, size, align_power
241243#if KMP_OS_DARWIN
@@ -2516,6 +2518,7 @@ KMP_PREFIX_UNDERSCORE(__kmp_unnamed_critical_addr):
25162518# endif
25172519#endif
25182520
2519- #if KMP_OS_LINUX && (KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32)
2521+ #if (KMP_OS_LINUX || KMP_OS_OPENBSD) && \
2522+ (KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32)
25202523GNU_PROPERTY_BTI_PAC
25212524#endif
0 commit comments