[compiler-rt] d3fef7a - [compiler-rt] Fix building the aarch64 out-of-line atomics assembly for non-ELF platforms
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 3 05:31:22 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-commits
mailing list