From 87c42081202c3cfa64da92bbda28527afb9439b8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 18 Sep 2017 17:27:59 -0700 Subject: libcxx: Disable libunwind on all mips llvm libunwind is still not ported to mips Signed-off-by: Khem Raj --- classes/clang.bbclass | 1 + conf/layer.conf | 1 - conf/nonclangable.conf | 5 +++++ recipes-devtools/clang/libcxx_git.bb | 17 +++++++++++------ 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" BASEDEPENDS_append_toolchain-clang_class-target = "${@clang_dep_prepend(d)}" PREFERRED_PROVIDER_libunwind = "libunwind" +PREFERRED_PROVIDER_libunwind_mipsarch = "libunwind" PREFERRED_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" #PREFERRED_PROVIDER_gcc-cross-initial-${TARGET_ARCH}_forcevariable = "clang-cross" #PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial_forcevariable = "clang-cross" PREFERRED_PROVIDER_libgcc-initial = "libgcc-initial" -PREFERRED_PROVIDER_libunwind = "libcxx" INHERIT += "clang" 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" # also see http://lists.llvm.org/pipermail/llvm-dev/2016-October/105997.html TOOLCHAIN_pn-pixman = "gcc" +#| ../../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 +#| : "memory", "cc", "q0" /* clobber list */ +#| ^ +TOOLCHAIN_pn-pulseaudio_aarch64 = "gcc" + # x264 causes a infinite loop when compiling 1 source file # TOOLCHAIN_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 += "\ -DLIBCXXABI_LIBCXX_INCLUDES=${S}/projects/libcxx/include \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/projects/libcxxabi/include \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \ - -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ + -DLIBCXXABI_USE_LLVM_UNWINDER=${USE_LLVM_UNWINDER} \ -G Ninja \ ${S} \ " -EXTRA_OECMAKE_remove_mipsarch = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" +USE_LLVM_UNWINDER ?= "ON" +USE_LLVM_UNWINDER_mipsarch = "OFF" EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " +COMPILE_TARGETS ?= "unwind cxxabi" +COMPILE_TARGETS_mipsarch = "cxxabi" +INSTALL_TARGETS ?= "projects/libunwind/install install-cxxabi" +INSTALL_TARGETS_mipsarch = "install-cxxabi" do_compile() { - NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} unwind - NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} cxxabi + NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} ${COMPILE_TARGETS} NINJA_STATUS="[%p] " ninja -v ${PARALLEL_MAKE} cxx } do_install() { - NINJA_STATUS="[%p] " DESTDIR=${D} ninja ${PARALLEL_MAKE} projects/libunwind/install install-cxxabi install-cxx + NINJA_STATUS="[%p] " DESTDIR=${D} ninja ${PARALLEL_MAKE} ${INSTALL_TARGETS} + NINJA_STATUS="[%p] " DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx } PACKAGES =+ "libunwind" - +PACKAGES_remove_mipsarch = "libunwind" FILES_libunwind += "${libdir}/libunwind.so.*" ALLOW_EMPTY_${PN} = "1" -- cgit v1.2.3-54-g00ecf