[compiler-rt] [compiler-rt] Add CMake option to enable execute-only code generation on AArch64 (PR #140555)

via llvm-commits llvm-commits at lists.llvm.org
Mon May 19 08:01:53 PDT 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions h -- compiler-rt/lib/builtins/assembly.h
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h
index 2e4195d0b..59abc80aa 100644
--- a/compiler-rt/lib/builtins/assembly.h
+++ b/compiler-rt/lib/builtins/assembly.h
@@ -73,16 +73,13 @@
 
 #if defined(__aarch64__) && defined(__ELF__) &&                                \
     defined(COMPILER_RT_EXECUTE_ONLY_CODE)
-#define TEXT_SECTION                                                           \
-  .section .text,"axy", at progbits,unique,0
+#define TEXT_SECTION .section.text, "axy", @progbits, unique, 0
 #else
-#define TEXT_SECTION                                                           \
-  .text
+#define TEXT_SECTION .text
 #endif
 
 #if defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__)
-#define FUNC_ALIGN                                                             \
-  .balign 16 SEPARATOR
+#define FUNC_ALIGN .balign 16 SEPARATOR
 #else
 #define FUNC_ALIGN
 #endif
@@ -238,55 +235,45 @@
 #endif
 
 #define DEFINE_COMPILERRT_FUNCTION(name)                                       \
-  TEXT_SECTION SEPARATOR                                                       \
-  DEFINE_CODE_STATE                                                            \
-  FILE_LEVEL_DIRECTIVE SEPARATOR                                               \
-  .globl FUNC_SYMBOL(SYMBOL_NAME(name)) SEPARATOR                              \
-  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR                                  \
-  DECLARE_SYMBOL_VISIBILITY(name)                                              \
+  TEXT_SECTION SEPARATOR DEFINE_CODE_STATE FILE_LEVEL_DIRECTIVE                \
+      SEPARATOR.globl                                                          \
+      FUNC_SYMBOL(SYMBOL_NAME(name))                                           \
+          SEPARATOR SYMBOL_IS_FUNC(SYMBOL_NAME(name))                          \
+              SEPARATOR DECLARE_SYMBOL_VISIBILITY(name)                        \
   DECLARE_FUNC_ENCODING                                                        \
-  FUNC_SYMBOL(SYMBOL_NAME(name)):
+  FUNC_SYMBOL(SYMBOL_NAME(name)) :
 
 #define DEFINE_COMPILERRT_THUMB_FUNCTION(name)                                 \
-  TEXT_SECTION SEPARATOR                                                       \
-  DEFINE_CODE_STATE                                                            \
-  FILE_LEVEL_DIRECTIVE SEPARATOR                                               \
-  .globl FUNC_SYMBOL(SYMBOL_NAME(name)) SEPARATOR                              \
-  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR                                  \
-  DECLARE_SYMBOL_VISIBILITY(name) SEPARATOR                                    \
-  .thumb_func SEPARATOR                                                        \
-  FUNC_SYMBOL(SYMBOL_NAME(name)):
+  TEXT_SECTION SEPARATOR DEFINE_CODE_STATE FILE_LEVEL_DIRECTIVE SEPARATOR      \
+      .globl                                                                   \
+      FUNC_SYMBOL(SYMBOL_NAME(name)) SEPARATOR SYMBOL_IS_FUNC(                 \
+          SYMBOL_NAME(name)) SEPARATOR DECLARE_SYMBOL_VISIBILITY(name)         \
+          SEPARATOR.thumb_func SEPARATOR FUNC_SYMBOL(SYMBOL_NAME(name))        \
+      :
 
 #define DEFINE_COMPILERRT_PRIVATE_FUNCTION(name)                               \
-  TEXT_SECTION SEPARATOR                                                       \
-  DEFINE_CODE_STATE                                                            \
-  FILE_LEVEL_DIRECTIVE SEPARATOR                                               \
-  .globl FUNC_SYMBOL(SYMBOL_NAME(name)) SEPARATOR                              \
-  SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR                                  \
-  HIDDEN(SYMBOL_NAME(name)) SEPARATOR                                          \
-  DECLARE_FUNC_ENCODING                                                        \
-  FUNC_SYMBOL(SYMBOL_NAME(name)):
+  TEXT_SECTION SEPARATOR DEFINE_CODE_STATE FILE_LEVEL_DIRECTIVE                \
+      SEPARATOR.globl                                                          \
+      FUNC_SYMBOL(SYMBOL_NAME(name)) SEPARATOR SYMBOL_IS_FUNC(                 \
+          SYMBOL_NAME(name)) SEPARATOR HIDDEN(SYMBOL_NAME(name))               \
+          SEPARATOR DECLARE_FUNC_ENCODING FUNC_SYMBOL(SYMBOL_NAME(name))       \
+      :
 
 #define DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED(name)                     \
-  TEXT_SECTION SEPARATOR                                                       \
-  DEFINE_CODE_STATE                                                            \
-  .globl FUNC_SYMBOL(name) SEPARATOR                                           \
-  SYMBOL_IS_FUNC(name) SEPARATOR                                               \
-  HIDDEN(name) SEPARATOR                                                       \
+  TEXT_SECTION SEPARATOR DEFINE_CODE_STATE.globl FUNC_SYMBOL(name)             \
+  SEPARATOR                                                                    \
+  SYMBOL_IS_FUNC(name) SEPARATOR HIDDEN(name)                                  \
+  SEPARATOR                                                                    \
   DECLARE_FUNC_ENCODING                                                        \
-  FUNC_SYMBOL(name):
+  FUNC_SYMBOL(name) :
 
 #define DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(name)                     \
-  TEXT_SECTION SEPARATOR                                                       \
-  DEFINE_CODE_STATE                                                            \
-  FUNC_ALIGN                                                                   \
-  .globl FUNC_SYMBOL(name) SEPARATOR                                           \
-  SYMBOL_IS_FUNC(name) SEPARATOR                                               \
-  DECLARE_SYMBOL_VISIBILITY_UNMANGLED(FUNC_SYMBOL(name)) SEPARATOR             \
-  DECLARE_FUNC_ENCODING                                                        \
-  FUNC_SYMBOL(name):                                                           \
-  SEPARATOR CFI_START                                                          \
-  SEPARATOR BTI_C
+  TEXT_SECTION SEPARATOR DEFINE_CODE_STATE FUNC_ALIGN.globl FUNC_SYMBOL(name)  \
+  SEPARATOR                                                                    \
+  SYMBOL_IS_FUNC(name)                                                         \
+  SEPARATOR DECLARE_SYMBOL_VISIBILITY_UNMANGLED(FUNC_SYMBOL(name))             \
+      SEPARATOR DECLARE_FUNC_ENCODING FUNC_SYMBOL(name)                        \
+      : SEPARATOR CFI_START SEPARATOR BTI_C
 
 #define DEFINE_COMPILERRT_FUNCTION_ALIAS(name, target)                         \
   .globl FUNC_SYMBOL(SYMBOL_NAME(name)) SEPARATOR                              \

``````````

</details>


https://github.com/llvm/llvm-project/pull/140555


More information about the llvm-commits mailing list