summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-09-18 17:27:59 -0700
committerKhem Raj <raj.khem@gmail.com>2017-09-18 21:01:06 -0700
commit87c42081202c3cfa64da92bbda28527afb9439b8 (patch)
tree496f0380c437f661555ced8cdef10a538c8544af
parent0876f331caae96569ebb4feb360cbd8737490986 (diff)
downloadmeta-clang-87c42081202c3cfa64da92bbda28527afb9439b8.tar.gz
libcxx: Disable libunwind on all mips
llvm libunwind is still not ported to mips Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--classes/clang.bbclass1
-rw-r--r--conf/layer.conf1
-rw-r--r--conf/nonclangable.conf5
-rw-r--r--recipes-devtools/clang/libcxx_git.bb17
4 files changed, 17 insertions, 7 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass
index e12b492..6d80aa6 100644
--- a/classes/clang.bbclass
+++ b/classes/clang.bbclass
@@ -42,4 +42,5 @@ BASEDEPENDS_remove_toolchain-clang_class-target = "virtual/${TARGET_PREFIX}gcc"
42BASEDEPENDS_append_toolchain-clang_class-target = "${@clang_dep_prepend(d)}" 42BASEDEPENDS_append_toolchain-clang_class-target = "${@clang_dep_prepend(d)}"
43 43
44PREFERRED_PROVIDER_libunwind = "libunwind" 44PREFERRED_PROVIDER_libunwind = "libunwind"
45PREFERRED_PROVIDER_libunwind_mipsarch = "libunwind"
45PREFERRED_PROVIDER_libunwind_toolchain-clang = "libcxx" 46PREFERRED_PROVIDER_libunwind_toolchain-clang = "libcxx"
diff --git a/conf/layer.conf b/conf/layer.conf
index 64c5b1a..daa8e1b 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -11,7 +11,6 @@ BBFILE_PRIORITY_clang-layer = "7"
11#PREFERRED_PROVIDER_gcc-cross-initial-${TARGET_ARCH}_forcevariable = "clang-cross" 11#PREFERRED_PROVIDER_gcc-cross-initial-${TARGET_ARCH}_forcevariable = "clang-cross"
12#PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial_forcevariable = "clang-cross" 12#PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial_forcevariable = "clang-cross"
13PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial" 13PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial"
14PREFERRED_PROVIDER_libunwind = "libcxx"
15 14
16INHERIT += "clang" 15INHERIT += "clang"
17 16
diff --git a/conf/nonclangable.conf b/conf/nonclangable.conf
index d0379ec..afb5ce4 100644
--- a/conf/nonclangable.conf
+++ b/conf/nonclangable.conf
@@ -104,6 +104,11 @@ TOOLCHAIN_pn-nodejs_armv7ve = "gcc"
104# also see http://lists.llvm.org/pipermail/llvm-dev/2016-October/105997.html 104# also see http://lists.llvm.org/pipermail/llvm-dev/2016-October/105997.html
105TOOLCHAIN_pn-pixman = "gcc" 105TOOLCHAIN_pn-pixman = "gcc"
106 106
107#| ../../pulseaudio-10.0/src/pulsecore/mix_neon.c../../pulseaudio-10.0/src/pulsecore/sconv_neon.c:49::27: error: unknown register name 'q0' in asm
108#| : "memory", "cc", "q0" /* clobber list */
109#| ^
110TOOLCHAIN_pn-pulseaudio_aarch64 = "gcc"
111
107# x264 causes a infinite loop when compiling 1 source file 112# x264 causes a infinite loop when compiling 1 source file
108# 113#
109TOOLCHAIN_pn-x264_x86 = "gcc" 114TOOLCHAIN_pn-x264_x86 = "gcc"
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb
index 9cf6206..0f3b2a8 100644
--- a/recipes-devtools/clang/libcxx_git.bb
+++ b/recipes-devtools/clang/libcxx_git.bb
@@ -45,28 +45,33 @@ EXTRA_OECMAKE += "\
45 -DLIBCXXABI_LIBCXX_INCLUDES=${S}/projects/libcxx/include \ 45 -DLIBCXXABI_LIBCXX_INCLUDES=${S}/projects/libcxx/include \
46 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/projects/libcxxabi/include \ 46 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/projects/libcxxabi/include \
47 -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \ 47 -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \
48 -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ 48 -DLIBCXXABI_USE_LLVM_UNWINDER=${USE_LLVM_UNWINDER} \
49 -G Ninja \ 49 -G Ninja \
50 ${S} \ 50 ${S} \
51" 51"
52EXTRA_OECMAKE_remove_mipsarch = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 52USE_LLVM_UNWINDER ?= "ON"
53USE_LLVM_UNWINDER_mipsarch = "OFF"
53 54
54EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " 55EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON "
55 56
57COMPILE_TARGETS ?= "unwind cxxabi"
58COMPILE_TARGETS_mipsarch = "cxxabi"
56 59
60INSTALL_TARGETS ?= "projects/libunwind/install install-cxxabi"
61INSTALL_TARGETS_mipsarch = "install-cxxabi"
57 62
58do_compile() { 63do_compile() {
59 NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} unwind 64 NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} ${COMPILE_TARGETS}
60 NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} cxxabi
61 NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} cxx 65 NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} cxx
62} 66}
63 67
64do_install() { 68do_install() {
65 NINJA_STATUS="[%p] " DESTDIR=${D} ninja ${PARALLEL_MAKE} projects/libunwind/install install-cxxabi install-cxx 69 NINJA_STATUS="[%p] " DESTDIR=${D} ninja ${PARALLEL_MAKE} ${INSTALL_TARGETS}
70 NINJA_STATUS="[%p] " DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx
66} 71}
67 72
68PACKAGES =+ "libunwind" 73PACKAGES =+ "libunwind"
69 74PACKAGES_remove_mipsarch = "libunwind"
70FILES_libunwind += "${libdir}/libunwind.so.*" 75FILES_libunwind += "${libdir}/libunwind.so.*"
71 76
72ALLOW_EMPTY_${PN} = "1" 77ALLOW_EMPTY_${PN} = "1"