[llvm-branch-commits] [compiler-rt] d3fef7a - [compiler-rt] Fix building the aarch64 out-of-line atomics assembly for non-ELF platforms

Martin Storsjö via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Dec 3 05:36:01 PST 2020


Author: Martin Storsjö
Date: 2020-12-03T15:31:06+02:00
New Revision: d3fef7a7c25eba804f5e75b0bb352ed0aaa7c057

URL: https://github.com/llvm/llvm-project/commit/d3fef7a7c25eba804f5e75b0bb352ed0aaa7c057
DIFF: https://github.com/llvm/llvm-project/commit/d3fef7a7c25eba804f5e75b0bb352ed0aaa7c057.diff

LOG: [compiler-rt] Fix building the aarch64 out-of-line atomics assembly for non-ELF platforms

Move the two different definitions of FUNC_ALIGN out of the ELF
specific block. Add the missing CFI_END in
END_COMPILERRT_OUTLINE_FUNCTION, to go with the corresponding CFI_START
in DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED.

Differential Revision: https://reviews.llvm.org/D92549

Added: 
    

Modified: 
    compiler-rt/lib/builtins/assembly.h

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h
index 3b7f592fa95c..66625a926cd0 100644
--- a/compiler-rt/lib/builtins/assembly.h
+++ b/compiler-rt/lib/builtins/assembly.h
@@ -37,12 +37,8 @@
 #define FILE_LEVEL_DIRECTIVE
 #if defined(__arm__) || defined(__aarch64__)
 #define SYMBOL_IS_FUNC(name) .type name,%function
-#define FUNC_ALIGN                                                             \
-  .text SEPARATOR                                                              \
-  .balign 16 SEPARATOR
 #else
 #define SYMBOL_IS_FUNC(name) .type name, at function
-#define FUNC_ALIGN
 #endif
 #define CONST_SECTION .section .rodata
 
@@ -69,6 +65,14 @@
 
 #endif
 
+#if defined(__arm__) || defined(__aarch64__)
+#define FUNC_ALIGN                                                             \
+  .text SEPARATOR                                                              \
+  .balign 16 SEPARATOR
+#else
+#define FUNC_ALIGN
+#endif
+
 // BTI and PAC gnu property note
 #define NT_GNU_PROPERTY_TYPE_0 5
 #define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000
@@ -270,7 +274,8 @@
   .size SYMBOL_NAME(name), . - SYMBOL_NAME(name)
 #else
 #define END_COMPILERRT_FUNCTION(name)
-#define END_COMPILERRT_OUTLINE_FUNCTION(name)
+#define END_COMPILERRT_OUTLINE_FUNCTION(name)                                  \
+  CFI_END
 #endif
 
 #endif // COMPILERRT_ASSEMBLY_H


        


More information about the llvm-branch-commits mailing list