summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-05-12 23:14:17 -0700
committerKhem Raj <raj.khem@gmail.com>2018-07-06 10:12:42 -0700
commit5138532d9f98ae75704e5575ed4779f87877cd3e (patch)
tree7de1870231385625db47c9c552013c0e316a7e76
parent5cfe10b1bbf5519c73f1fad728394001b95511b5 (diff)
downloadmeta-clang-5138532d9f98ae75704e5575ed4779f87877cd3e.tar.gz
compiler-rt: Drop a workaround to build for aarch64
This workaround seems to no longer be needed for clang6.0 onwards as a bonus, the regressions for compiling for other arches is also gone since we drop this patch. Fixes issue #57 Fixes issue #52 Use internal assembler This fixes the issue reported here https://reviews.llvm.org/D35696 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/compiler-rt/0005-Pass-march-armv8.1-a-instead-of-mcrc.patch38
-rw-r--r--recipes-devtools/clang/compiler-rt_git.bb2
2 files changed, 1 insertions, 39 deletions
diff --git a/recipes-devtools/clang/compiler-rt/0005-Pass-march-armv8.1-a-instead-of-mcrc.patch b/recipes-devtools/clang/compiler-rt/0005-Pass-march-armv8.1-a-instead-of-mcrc.patch
deleted file mode 100644
index b2e8e25..0000000
--- a/recipes-devtools/clang/compiler-rt/0005-Pass-march-armv8.1-a-instead-of-mcrc.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From ef9b0bacf7a2fd097c241da674ed726c3dfb11d2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 20 Jul 2017 12:14:03 -0700
4Subject: [PATCH 5/5] Pass -march=armv8.1-a instead of -mcrc
5
6When we pass -mcrc it does not cause driver to
7pass right options to assembler, especially when
8using GNU assembler, is used this causes assembler
9failures to recognise crc instructions since the
10default -march option passed it armv8-a
11
12/tmp/scudo_crc32-9e9612.s:14: Error: selected processor does not support `crc32cx w0,w0,x1'
13
14Adding -march=armv8.1-a forces the driver to pass
15-march=armv8.1-a to assembler as well, which fixes
16this issue
17
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19---
20 lib/scudo/CMakeLists.txt | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/lib/scudo/CMakeLists.txt b/lib/scudo/CMakeLists.txt
24index 4d26a3477..965174727 100644
25--- a/lib/scudo/CMakeLists.txt
26+++ b/lib/scudo/CMakeLists.txt
27@@ -28,7 +28,7 @@ endif()
28 # Enable the AArch64 CRC32 feature for scudo_crc32.cpp, if available.
29 # Note that it is enabled by default starting with armv8.1-a.
30 if (COMPILER_RT_HAS_MCRC_FLAG)
31- set_source_files_properties(scudo_crc32.cpp PROPERTIES COMPILE_FLAGS -mcrc)
32+ set_source_files_properties(scudo_crc32.cpp PROPERTIES COMPILE_FLAGS -march=armv8.1-a)
33 endif()
34
35 if(COMPILER_RT_HAS_SCUDO)
36--
372.16.1
38
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb
index e7e5a55..7a63d99 100644
--- a/recipes-devtools/clang/compiler-rt_git.bb
+++ b/recipes-devtools/clang/compiler-rt_git.bb
@@ -20,7 +20,6 @@ SRC_URI = "\
20 file://0002-Simplify-cross-compilation.-Don-t-use-native-compile.patch \ 20 file://0002-Simplify-cross-compilation.-Don-t-use-native-compile.patch \
21 file://0003-Disable-tsan-on-OE-glibc.patch \ 21 file://0003-Disable-tsan-on-OE-glibc.patch \
22 file://0004-cmake-mips-Do-not-specify-target-with-OE.patch \ 22 file://0004-cmake-mips-Do-not-specify-target-with-OE.patch \
23 file://0005-Pass-march-armv8.1-a-instead-of-mcrc.patch \
24" 23"
25 24
26SRCREV_FORMAT = "compiler-rt" 25SRCREV_FORMAT = "compiler-rt"
@@ -28,6 +27,7 @@ SRCREV_FORMAT = "compiler-rt"
28BASEDEPENDS_remove_toolchain-clang_class-target = "compiler-rt" 27BASEDEPENDS_remove_toolchain-clang_class-target = "compiler-rt"
29BASEDEPENDS_remove_toolchain-clang_class-target = "libcxx" 28BASEDEPENDS_remove_toolchain-clang_class-target = "libcxx"
30TARGET_CXXFLAGS_remove_toolchain-clang = " -stdlib=libc++ " 29TARGET_CXXFLAGS_remove_toolchain-clang = " -stdlib=libc++ "
30TUNE_CCARGS_remove = "-no-integrated-as"
31 31
32DEPENDS += "ninja-native" 32DEPENDS += "ninja-native"
33 33