[Openmp-commits] [openmp] [OpenMP][AArch64] Fix branch protection	in microtasks (PR #102317)
    Florian Weimer via Openmp-commits 
    openmp-commits at lists.llvm.org
       
    Fri Aug  9 07:52:41 PDT 2024
    
    
  
================
@@ -176,6 +197,25 @@ KMP_PREFIX_UNDERSCORE(\proc):
 .endm
 # endif // KMP_OS_DARWIN
 
+# if defined(__ARM_FEATURE_BTI_DEFAULT)
+#  define BTI_FLAG GNU_PROPERTY_AARCH64_FEATURE_1_BTI
+# else
+#  define BTI_FLAG 0
+# endif
+# if __ARM_FEATURE_PAC_DEFAULT & 3
+#  define PAC_FLAG GNU_PROPERTY_AARCH64_FEATURE_1_PAC
+# else
+#  define PAC_FLAG 0
+# endif
+
+# if (BTI_FLAG | PAC_FLAG) != 0
+#  define BTI_C hint #34
+#  define GNU_PROPERTY_BTI_PAC \
+    GNU_PROPERTY(GNU_PROPERTY_AARCH64_FEATURE_1_AND, BTI_FLAG | PAC_FLAG)
+# else
+#  define BTI_C
----------------
fweimer-rh wrote:
Shouldn't you use `paciasp` here to protect the link register value while it's on the stack?
https://github.com/llvm/llvm-project/pull/102317
    
    
More information about the Openmp-commits
mailing list