From b6d7ecd8905b0a41c9f06c017d16851c784f02cc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 17 Apr 2025 18:25:18 -0700 Subject: clang: Delete recipes They are in core layer now Signed-off-by: Khem Raj --- recipes-devtools/clang/clang-cross-canadian_git.bb | 36 -- recipes-devtools/clang/clang-cross_git.bb | 39 -- recipes-devtools/clang/clang-crosssdk_git.bb | 34 -- recipes-devtools/clang/clang.inc | 24 - ...ind-libunwind-headers-when-LIBCXXABI_LIBU.patch | 60 --- ...er-rt-support-a-new-embedded-linux-target.patch | 309 ------------- ...-Simplify-cross-compilation.-Don-t-use-na.patch | 44 -- ...LibraryInfo-Undefine-libc-functions-if-th.patch | 90 ---- ...allow-env-override-of-exe-and-libdir-path.patch | 71 --- ...-clang-driver-Check-sysroot-for-ldso-path.patch | 75 ---- ...iver-tools.cpp-Add-lssp_nonshared-on-musl.patch | 32 -- .../0008-clang-Prepend-trailing-to-sysroot.patch | 39 -- ...inside-the-target-sysroot-for-compiler-ru.patch | 41 -- ...ang-Define-releative-gcc-installation-dir.patch | 47 -- ...pthread-and-ldl-along-with-lunwind-for-st.patch | 35 -- ..._EXECUTABLE-when-cross-compiling-for-nati.patch | 24 - .../0013-Check-for-atomic-double-intrinsics.patch | 34 -- ...configure-for-packages-using-find_package.patch | 117 ----- ...esource-dir-location-for-cross-toolchains.patch | 50 --- ...r-Add-dyld-prefix-when-checking-sysroot-f.patch | 79 ---- .../0017-clang-Use-python3-in-python-scripts.patch | 35 -- ...4-set-Yocto-based-GCC-install-search-path.patch | 70 --- ...-anchor-for-adding-OE-distro-vendor-names.patch | 32 -- ...-Do-not-use-backtrace-APIs-on-non-glibc-l.patch | 68 --- ...86-triple-for-non-debian-multiarch-linux-.patch | 28 -- ...0022-libunwind-Added-unw_backtrace-method.patch | 56 --- ...-Do-not-use-install-relative-libc-headers.patch | 34 -- .../0024-Fix-lib-paths-for-OpenEmbedded-Host.patch | 79 ---- ...library-search-path-for-OpenEmbedded-Host.patch | 84 ---- .../0026-lldb-Link-with-libatomic-on-x86.patch | 33 -- ...027-compiler-rt-Enable-__int128-for-ppc32.patch | 73 --- ...-Do-not-use-cmake-infra-to-detect-libzstd.patch | 62 --- ...ler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch | 46 -- ...-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch | 43 -- ...s-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch | 81 ---- ...vm-Add-OE-specific-ABI-triple-for-N32-ABI.patch | 78 ---- ...d-libunwind.pc.in-and-llvm-config-scripts.patch | 93 ---- ...py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch | 92 ---- ...r-rt-Do-not-pass-target-to-clang-compiler.patch | 29 -- .../clang/clang/0036-Fix-build-on-ppc64-musl.patch | 97 ---- ...d-a-build-option-to-disable-building-dexp.patch | 84 ---- recipes-devtools/clang/clang_git.bb | 499 --------------------- recipes-devtools/clang/common-source.inc | 17 - recipes-devtools/clang/common.inc | 71 --- .../clang/compiler-rt-sanitizers_git.bb | 129 ------ recipes-devtools/clang/compiler-rt_git.bb | 130 ------ recipes-devtools/clang/libclc_git.bb | 38 -- recipes-devtools/clang/libcxx_git.bb | 117 ----- recipes-devtools/clang/llvm-project-source.bb | 12 - recipes-devtools/clang/llvm-project-source.inc | 99 ---- recipes-devtools/clang/nativesdk-clang-glue.bb | 36 -- recipes-devtools/clang/openmp_git.bb | 67 --- 52 files changed, 3792 deletions(-) delete mode 100644 recipes-devtools/clang/clang-cross-canadian_git.bb delete mode 100644 recipes-devtools/clang/clang-cross_git.bb delete mode 100644 recipes-devtools/clang/clang-crosssdk_git.bb delete mode 100644 recipes-devtools/clang/clang.inc delete mode 100644 recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch delete mode 100644 recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch delete mode 100644 recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch delete mode 100644 recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch delete mode 100644 recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch delete mode 100644 recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch delete mode 100644 recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch delete mode 100644 recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch delete mode 100644 recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch delete mode 100644 recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch delete mode 100644 recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch delete mode 100644 recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch delete mode 100644 recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch delete mode 100644 recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch delete mode 100644 recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch delete mode 100644 recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch delete mode 100644 recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch delete mode 100644 recipes-devtools/clang/clang/0018-For-x86_64-set-Yocto-based-GCC-install-search-path.patch delete mode 100644 recipes-devtools/clang/clang/0019-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch delete mode 100644 recipes-devtools/clang/clang/0020-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch delete mode 100644 recipes-devtools/clang/clang/0021-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch delete mode 100644 recipes-devtools/clang/clang/0022-libunwind-Added-unw_backtrace-method.patch delete mode 100644 recipes-devtools/clang/clang/0023-clang-Do-not-use-install-relative-libc-headers.patch delete mode 100644 recipes-devtools/clang/clang/0024-Fix-lib-paths-for-OpenEmbedded-Host.patch delete mode 100644 recipes-devtools/clang/clang/0025-Correct-library-search-path-for-OpenEmbedded-Host.patch delete mode 100644 recipes-devtools/clang/clang/0026-lldb-Link-with-libatomic-on-x86.patch delete mode 100644 recipes-devtools/clang/clang/0027-compiler-rt-Enable-__int128-for-ppc32.patch delete mode 100644 recipes-devtools/clang/clang/0028-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch delete mode 100644 recipes-devtools/clang/clang/0029-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch delete mode 100644 recipes-devtools/clang/clang/0030-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch delete mode 100644 recipes-devtools/clang/clang/0031-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch delete mode 100644 recipes-devtools/clang/clang/0032-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch delete mode 100644 recipes-devtools/clang/clang/0033-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch delete mode 100644 recipes-devtools/clang/clang/0034-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch delete mode 100644 recipes-devtools/clang/clang/0035-compiler-rt-Do-not-pass-target-to-clang-compiler.patch delete mode 100644 recipes-devtools/clang/clang/0036-Fix-build-on-ppc64-musl.patch delete mode 100644 recipes-devtools/clang/clang/0037-clangd-Add-a-build-option-to-disable-building-dexp.patch delete mode 100644 recipes-devtools/clang/clang_git.bb delete mode 100644 recipes-devtools/clang/common-source.inc delete mode 100644 recipes-devtools/clang/common.inc delete mode 100644 recipes-devtools/clang/compiler-rt-sanitizers_git.bb delete mode 100644 recipes-devtools/clang/compiler-rt_git.bb delete mode 100644 recipes-devtools/clang/libclc_git.bb delete mode 100644 recipes-devtools/clang/libcxx_git.bb delete mode 100644 recipes-devtools/clang/llvm-project-source.bb delete mode 100644 recipes-devtools/clang/llvm-project-source.inc delete mode 100644 recipes-devtools/clang/nativesdk-clang-glue.bb delete mode 100644 recipes-devtools/clang/openmp_git.bb diff --git a/recipes-devtools/clang/clang-cross-canadian_git.bb b/recipes-devtools/clang/clang-cross-canadian_git.bb deleted file mode 100644 index 81935b2..0000000 --- a/recipes-devtools/clang/clang-cross-canadian_git.bb +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2014 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Clang/LLVM based C/C++ compiler (cross-canadian for ${TARGET_ARCH} target)" -HOMEPAGE = "http://clang.llvm.org/" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;md5=0bcd48c3bdfef0c9d9fd17726e4b7dab" -SECTION = "devel" - -PN = "clang-cross-canadian-${TRANSLATED_TARGET_ARCH}" - -require clang.inc -require common-source.inc -inherit cross-canadian - -DEPENDS += "nativesdk-clang binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} virtual/nativesdk-cross-binutils virtual/nativesdk-libc" -# We have to point gcc at a sysroot but we don't need to rebuild if this changes -# e.g. we switch between different machines with different tunes. -EXTRA_OECONF_PATHS[vardepsexclude] = "TUNE_PKGARCH" -TARGET_ARCH[vardepsexclude] = "TUNE_ARCH" - -do_install() { - install -d ${D}${bindir} - for tool in clang clang++ clang-tidy lld ld.lld llvm-profdata \ - llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump llvm-readelf \ - llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov - do - ln -sf ../$tool ${D}${bindir}/${TARGET_PREFIX}$tool - done -} -SSTATE_SCAN_FILES += "*-clang *-clang++ *-llvm-profdata *-llvm-ar \ - *-llvm-ranlib *-llvm-nm *-lld *-ld.lld *-llvm-as *-llvm-strip \ - *-llvm-objcopy *-llvm-objdump *-llvm-readelf *-llvm-addr2line \ - *-llvm-dwp *-llvm-size *-llvm-strings *-llvm-cov" -do_install:append() { - cross_canadian_bindirlinks -} diff --git a/recipes-devtools/clang/clang-cross_git.bb b/recipes-devtools/clang/clang-cross_git.bb deleted file mode 100644 index 505f3b1..0000000 --- a/recipes-devtools/clang/clang-cross_git.bb +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (C) 2014 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Cross compiler wrappers for LLVM based C/C++ compiler" -HOMEPAGE = "http://clang.llvm.org/" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;md5=0bcd48c3bdfef0c9d9fd17726e4b7dab" -SECTION = "devel" - -PN = "clang-cross-${TARGET_ARCH}" - -require clang.inc -require common-source.inc -inherit cross -DEPENDS += "clang-native virtual/cross-binutils" - -#INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_SYSROOT_STRIP = "1" -do_install() { - install -d ${D}${bindir} - for tool in clang-tidy lld ld.lld llvm-profdata \ - llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump llvm-readelf \ - llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov - do - ln -sf ../$tool ${D}${bindir}/${TARGET_PREFIX}$tool - done - install -m 0755 ${STAGING_BINDIR_NATIVE}/clang ${D}${bindir}/${TARGET_PREFIX}clang - install -m 0755 ${STAGING_BINDIR_NATIVE}/clang ${D}${bindir}/${TARGET_PREFIX}clang++ -} -SSTATE_SCAN_FILES += "*-clang *-clang++ *-llvm-profdata *-lld *-ld.lld \ - *-llvm-nm *-llvm-ar *-llvm-as *-llvm-ranlib *-llvm-strip \ - *-llvm-objcopy *-llvm-objdump *-llvm-readelf *-llvm-addr2line \ - *-llvm-dwp *-llvm-size *-llvm-strings *-llvm-cov" - -SYSROOT_PREPROCESS_FUNCS += "clangcross_sysroot_preprocess" - -clangcross_sysroot_preprocess () { - sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} -} -PACKAGES = "" diff --git a/recipes-devtools/clang/clang-crosssdk_git.bb b/recipes-devtools/clang/clang-crosssdk_git.bb deleted file mode 100644 index c5e2867..0000000 --- a/recipes-devtools/clang/clang-crosssdk_git.bb +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (C) 2014 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "SDK Cross compiler wrappers for LLVM based C/C++ compiler" -HOMEPAGE = "http://clang.llvm.org/" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;md5=0bcd48c3bdfef0c9d9fd17726e4b7dab" -SECTION = "devel" - -PN = "clang-crosssdk-${SDK_SYS}" - -require clang.inc -require common-source.inc -inherit crosssdk -DEPENDS += "clang-native nativesdk-clang-glue virtual/nativesdk-cross-binutils virtual/nativesdk-libc" - -do_install() { - install -d ${D}${bindir} - for tool in clang clang++ clang-tidy lld ld.lld llvm-profdata \ - llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump llvm-readelf \ - llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov - do - ln -sf ../$tool ${D}${bindir}/${TARGET_PREFIX}$tool - done -} -SSTATE_SCAN_FILES += "*-clang *-clang++ *-llvm-profdata *-lld *-ld.lld \ - *-llvm-nm *-llvm-ar *-llvm-as *-llvm-ranlib *-llvm-strip \ - *-llvm-objcopy *-llvm-objdump *-llvm-readelf *-llvm-addr2line \ - *-llvm-dwp *-llvm-size *-llvm-strings *-llvm-cov" -sysroot_stage_all () { - sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} -} - -PACKAGES = "" - diff --git a/recipes-devtools/clang/clang.inc b/recipes-devtools/clang/clang.inc deleted file mode 100644 index bb152d2..0000000 --- a/recipes-devtools/clang/clang.inc +++ /dev/null @@ -1,24 +0,0 @@ -LLVM_RELEASE = "" -LLVM_DIR = "llvm${LLVM_RELEASE}" - -LLVM_HTTP ?= "https://github.com/llvm" - -MAJOR_VER = "20" -MINOR_VER = "1" -PATCH_VER = "2" -# could be 'rcX' or 'git' or empty ( for release ) -VER_SUFFIX = "" - -PV = "${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}${VER_SUFFIX}" - -LLVMMD5SUM = "8a15a0759ef07f2682d2ba4b893c9afe" -CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" -LLDMD5SUM = "ae7dc7c027b1fa89b5b013d391d3ee2b" -LLDBMD5SUM = "2e0d44968471fcde980034dbb826bea9" - -LLVM_LIBDIR_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}" - -# set the default pigz thread -export PIGZ = "-p ${@oe.utils.cpu_count(at_least=2)}" - -require common.inc diff --git a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch deleted file mode 100644 index 9c8baa9..0000000 --- a/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch +++ /dev/null @@ -1,60 +0,0 @@ -From dfb3bf25e32b44efedf3ded9f6511e83a93a8f6e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 27 Aug 2017 10:37:49 -0700 -Subject: [PATCH] libcxxabi: Find libunwind headers when - LIBCXXABI_LIBUNWIND_INCLUDES is set - -Currently, when LIBCXXABI_LIBUNWIND_INCLUDES is set via CMake arguments -then it ends up not searching the specified dir and unwind.h is not found -especially for ARM targets - -This patch makes the searching synthesized directories and then set -LIBCXXABI_LIBUNWIND_INCLUDES if its there in environment - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - libcxxabi/CMakeLists.txt | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt -index 6dcfc51e5532..32478a62a058 100644 ---- a/libcxxabi/CMakeLists.txt -+++ b/libcxxabi/CMakeLists.txt -@@ -465,7 +465,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH - "Specify path to libunwind source." FORCE) - - if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) -- find_path(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL libunwind.h -+ find_path(LIBCXXABI_LIBUNWIND_INCLUDES libunwind.h - PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} - ${LIBCXXABI_LIBUNWIND_PATH}/include - ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} -@@ -476,18 +476,23 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) - NO_CMAKE_FIND_ROOT_PATH - ) - -- if (LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL STREQUAL "LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL-NOTFOUND") -- set(LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL "") -+ if (LIBCXXABI_LIBUNWIND_INCLUDES STREQUAL "LIBCXXABI_LIBUNWIND_INCLUDES-NOTFOUND") -+ set(LIBCXXABI_LIBUNWIND_INCLUDES "") - endif() - endif() - --if (NOT "${LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL}" STREQUAL "") -- include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL}") -+if (NOT "${LIBCXXABI_LIBUNWIND_INCLUDES}" STREQUAL "") -+ include_directories("${LIBCXXABI_LIBUNWIND_INCLUDES}") - endif() - - add_custom_target(cxxabi-test-depends - COMMENT "Build dependencies required to run the libc++abi test suite.") - -+set(LIBCXXABI_LIBUNWIND_INCLUDES "${LIBCXXABI_LIBUNWIND_INCLUDES}" CACHE PATH -+ "Specify path to libunwind includes." FORCE) -+set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH -+ "Specify path to libunwind source." FORCE) -+ - # Add source code. This also contains all of the logic for deciding linker flags - # soname, etc... - add_subdirectory(include) diff --git a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch b/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch deleted file mode 100644 index 6082b80..0000000 --- a/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch +++ /dev/null @@ -1,309 +0,0 @@ -From 2fe113db0952e97d85b2c3ce92a1c2145f542801 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 19 Apr 2015 15:16:23 -0700 -Subject: [PATCH] compiler-rt: support a new embedded linux target - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../make/platform/clang_linux_embedded.mk | 286 ++++++++++++++++++ - .../clang_linux_embedded_test_input.c | 0 - 2 files changed, 286 insertions(+) - create mode 100644 compiler-rt/make/platform/clang_linux_embedded.mk - create mode 100644 compiler-rt/make/platform/clang_linux_embedded_test_input.c - -diff --git a/compiler-rt/make/platform/clang_linux_embedded.mk b/compiler-rt/make/platform/clang_linux_embedded.mk -new file mode 100644 -index 000000000000..d0a890075a1c ---- /dev/null -+++ b/compiler-rt/make/platform/clang_linux_embedded.mk -@@ -0,0 +1,286 @@ -+# These are the functions which clang needs when it is targeting a previous -+# version of the OS. The issue is that the backend may use functions which were -+# not present in the libgcc that shipped on the platform. In such cases, we link -+# with a version of the library which contains private_extern definitions of all -+# the extra functions which might be referenced. -+ -+Description := Static runtime libraries for embedded clang/Linux -+ -+# A function that ensures we don't try to build for architectures that we -+# don't have working toolchains for. -+CheckArches = \ -+ $(shell \ -+ result=""; \ -+ for arch in $(1); do \ -+ if $(CC) -arch $$arch -c \ -+ -integrated-as \ -+ $(ProjSrcRoot)/make/platform/clang_linux_embedded_test_input.c \ -+ -o /dev/null > /dev/null 2> /dev/null; then \ -+ result="$$result$$arch "; \ -+ else \ -+ printf 1>&2 \ -+ "warning: clang_linux_embedded.mk: dropping arch '$$arch' from lib '$(2)'\n"; \ -+ fi; \ -+ done; \ -+ echo $$result) -+ -+XCRun = \ -+ $(shell \ -+ result=`xcrun -find $(1) 2> /dev/null`; \ -+ if [ "$$?" != "0" ]; then result=$(1); fi; \ -+ echo $$result) -+ -+### -+ -+CC := $(call XCRun,clang) -+AR := $(call XCRun,ar) -+RANLIB := $(call XCRun,ranlib) -+STRIP := $(call XCRun,strip) -+LIPO := $(call XCRun,lipo) -+DSYMUTIL := $(call XCRun,dsymutil) -+Configs := -+UniversalArchs := -+ -+# Soft-float version of the runtime. No floating-point instructions will be used -+# and the ABI (out of necessity) passes floating values in normal registers: -+# non-VFP variant of the AAPCS. -+UniversalArchs.soft_static := $(call CheckArches,arm armv7m armv7em armv7,soft_static) -+Configs += $(if $(UniversalArchs.soft_static),soft_static) -+ -+# Hard-float version of the runtime. On ARM VFP instructions and registers are -+# allowed, and floating point values get passed in them. VFP variant of the -+# AAPCS. -+UniversalArchs.hard_static := $(call CheckArches,armv7em armv7 i386 x86_64,hard_static) -+Configs += $(if $(UniversalArchs.hard_static),hard_static) -+ -+UniversalArchs.soft_pic := $(call CheckArches,armv6m armv7m armv7em armv7,soft_pic) -+Configs += $(if $(UniversalArchs.soft_pic),soft_pic) -+ -+UniversalArchs.hard_pic := $(call CheckArches,armv7em armv7 i386 x86_64,hard_pic) -+Configs += $(if $(UniversalArchs.hard_pic),hard_pic) -+ -+CFLAGS := -Wall -Werror -Oz -fomit-frame-pointer -ffreestanding -+ -+PIC_CFLAGS := -fPIC -+STATIC_CFLAGS := -static -+ -+CFLAGS_SOFT := -mfloat-abi=soft -+CFLAGS_HARD := -mfloat-abi=hard -+ -+CFLAGS_I386 := -march=pentium -+ -+CFLAGS.soft_static := $(CFLAGS) $(STATIC_CFLAGS) $(CFLAGS_SOFT) -+CFLAGS.hard_static := $(CFLAGS) $(STATIC_CFLAGS) $(CFLAGS_HARD) -+CFLAGS.soft_pic := $(CFLAGS) $(PIC_CFLAGS) $(CFLAGS_SOFT) -+CFLAGS.hard_pic := $(CFLAGS) $(PIC_CFLAGS) $(CFLAGS_HARD) -+ -+CFLAGS.soft_static.armv7 := $(CFLAGS.soft_static) $(CFLAGS_ARMV7) -+CFLAGS.hard_static.armv7 := $(CFLAGS.hard_static) $(CFLAGS_ARMV7) -+CFLAGS.soft_pic.armv7 := $(CFLAGS.soft_pic) $(CFLAGS_ARMV7) -+CFLAGS.hard_pic.armv7 := $(CFLAGS.hard_pic) $(CFLAGS_ARMV7) -+ -+# x86 platforms ignore -mfloat-abi options and complain about doing so. Despite -+# this they're hard-float. -+CFLAGS.hard_static.i386 := $(CFLAGS) $(STATIC_CFLAGS) $(CFLAGS_I386) -+CFLAGS.hard_pic.i386 := $(CFLAGS) $(PIC_CFLAGS) $(CFLAGS_I386) -+CFLAGS.hard_static.x86_64 := $(CFLAGS) $(STATIC_CFLAGS) -+CFLAGS.hard_pic.x86_64 := $(CFLAGS) $(PIC_CFLAGS) -+ -+# Functions not wanted: -+# + eprintf is obsolete anyway -+# + *vfp: designed for Thumb1 CPUs with VFPv2 -+ -+COMMON_FUNCTIONS := \ -+ absvdi2 \ -+ absvsi2 \ -+ addvdi3 \ -+ addvsi3 \ -+ ashldi3 \ -+ ashrdi3 \ -+ bswapdi2 \ -+ bswapsi2 \ -+ clzdi2 \ -+ clzsi2 \ -+ cmpdi2 \ -+ ctzdi2 \ -+ ctzsi2 \ -+ divdc3 \ -+ divdi3 \ -+ divsc3 \ -+ divmodsi4 \ -+ udivmodsi4 \ -+ do_global_dtors \ -+ ffsdi2 \ -+ fixdfdi \ -+ fixsfdi \ -+ fixunsdfdi \ -+ fixunsdfsi \ -+ fixunssfdi \ -+ fixunssfsi \ -+ floatdidf \ -+ floatdisf \ -+ floatundidf \ -+ floatundisf \ -+ gcc_bcmp \ -+ lshrdi3 \ -+ moddi3 \ -+ muldc3 \ -+ muldi3 \ -+ mulsc3 \ -+ mulvdi3 \ -+ mulvsi3 \ -+ negdi2 \ -+ negvdi2 \ -+ negvsi2 \ -+ paritydi2 \ -+ paritysi2 \ -+ popcountdi2 \ -+ popcountsi2 \ -+ powidf2 \ -+ powisf2 \ -+ subvdi3 \ -+ subvsi3 \ -+ ucmpdi2 \ -+ udiv_w_sdiv \ -+ udivdi3 \ -+ udivmoddi4 \ -+ umoddi3 \ -+ adddf3 \ -+ addsf3 \ -+ cmpdf2 \ -+ cmpsf2 \ -+ div0 \ -+ divdf3 \ -+ divsf3 \ -+ divsi3 \ -+ extendsfdf2 \ -+ ffssi2 \ -+ fixdfsi \ -+ fixsfsi \ -+ floatsidf \ -+ floatsisf \ -+ floatunsidf \ -+ floatunsisf \ -+ comparedf2 \ -+ comparesf2 \ -+ modsi3 \ -+ muldf3 \ -+ mulsf3 \ -+ negdf2 \ -+ negsf2 \ -+ subdf3 \ -+ subsf3 \ -+ truncdfsf2 \ -+ udivsi3 \ -+ umodsi3 \ -+ unorddf2 \ -+ unordsf2 -+ -+ARM_FUNCTIONS := \ -+ aeabi_cdcmpeq \ -+ aeabi_cdrcmple \ -+ aeabi_cfcmpeq \ -+ aeabi_cfrcmple \ -+ aeabi_dcmpeq \ -+ aeabi_dcmpge \ -+ aeabi_dcmpgt \ -+ aeabi_dcmple \ -+ aeabi_dcmplt \ -+ aeabi_drsub \ -+ aeabi_fcmpeq \ -+ aeabi_fcmpge \ -+ aeabi_fcmpgt \ -+ aeabi_fcmple \ -+ aeabi_fcmplt \ -+ aeabi_frsub \ -+ aeabi_idivmod \ -+ aeabi_uidivmod \ -+ -+# ARM Assembly implementation which requires Thumb2 (i.e. won't work on v6M). -+THUMB2_FUNCTIONS := \ -+ switch16 \ -+ switch32 \ -+ switch8 \ -+ switchu8 \ -+ sync_fetch_and_add_4 \ -+ sync_fetch_and_sub_4 \ -+ sync_fetch_and_and_4 \ -+ sync_fetch_and_or_4 \ -+ sync_fetch_and_xor_4 \ -+ sync_fetch_and_nand_4 \ -+ sync_fetch_and_max_4 \ -+ sync_fetch_and_umax_4 \ -+ sync_fetch_and_min_4 \ -+ sync_fetch_and_umin_4 \ -+ sync_fetch_and_add_8 \ -+ sync_fetch_and_sub_8 \ -+ sync_fetch_and_and_8 \ -+ sync_fetch_and_or_8 \ -+ sync_fetch_and_xor_8 \ -+ sync_fetch_and_nand_8 \ -+ sync_fetch_and_max_8 \ -+ sync_fetch_and_umax_8 \ -+ sync_fetch_and_min_8 \ -+ sync_fetch_and_umin_8 -+ -+I386_FUNCTIONS := \ -+ i686.get_pc_thunk.eax \ -+ i686.get_pc_thunk.ebp \ -+ i686.get_pc_thunk.ebx \ -+ i686.get_pc_thunk.ecx \ -+ i686.get_pc_thunk.edi \ -+ i686.get_pc_thunk.edx \ -+ i686.get_pc_thunk.esi -+ -+# FIXME: Currently, compiler-rt is missing implementations for a number of the -+# functions. Filter them out for now. -+MISSING_FUNCTIONS := \ -+ cmpdf2 cmpsf2 div0 \ -+ ffssi2 \ -+ udiv_w_sdiv unorddf2 unordsf2 bswapdi2 \ -+ bswapsi2 \ -+ gcc_bcmp \ -+ do_global_dtors \ -+ i686.get_pc_thunk.eax i686.get_pc_thunk.ebp i686.get_pc_thunk.ebx \ -+ i686.get_pc_thunk.ecx i686.get_pc_thunk.edi i686.get_pc_thunk.edx \ -+ i686.get_pc_thunk.esi \ -+ aeabi_cdcmpeq aeabi_cdrcmple aeabi_cfcmpeq aeabi_cfrcmple aeabi_dcmpeq \ -+ aeabi_dcmpge aeabi_dcmpgt aeabi_dcmple aeabi_dcmplt aeabi_drsub \ -+ aeabi_fcmpeq \ aeabi_fcmpge aeabi_fcmpgt aeabi_fcmple aeabi_fcmplt \ -+ aeabi_frsub aeabi_idivmod aeabi_uidivmod -+ -+FUNCTIONS_ARMV6M := $(COMMON_FUNCTIONS) $(ARM_FUNCTIONS) -+FUNCTIONS_ARM_ALL := $(COMMON_FUNCTIONS) $(ARM_FUNCTIONS) $(THUMB2_FUNCTIONS) -+FUNCTIONS_I386 := $(COMMON_FUNCTIONS) $(I386_FUNCTIONS) -+FUNCTIONS_X86_64 := $(COMMON_FUNCTIONS) -+ -+FUNCTIONS_ARMV6M := \ -+ $(filter-out $(MISSING_FUNCTIONS),$(FUNCTIONS_ARMV6M)) -+FUNCTIONS_ARM_ALL := \ -+ $(filter-out $(MISSING_FUNCTIONS),$(FUNCTIONS_ARM_ALL)) -+FUNCTIONS_I386 := \ -+ $(filter-out $(MISSING_FUNCTIONS),$(FUNCTIONS_I386)) -+FUNCTIONS_X86_64 := \ -+ $(filter-out $(MISSING_FUNCTIONS),$(FUNCTIONS_X86_64)) -+ -+FUNCTIONS.soft_static.armv6m := $(FUNCTIONS_ARMV6M) -+FUNCTIONS.soft_pic.armv6m := $(FUNCTIONS_ARMV6M) -+ -+FUNCTIONS.soft_static.armv7m := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.soft_pic.armv7m := $(FUNCTIONS_ARM_ALL) -+ -+FUNCTIONS.soft_static.armv7em := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.hard_static.armv7em := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.soft_pic.armv7em := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.hard_pic.armv7em := $(FUNCTIONS_ARM_ALL) -+ -+FUNCTIONS.soft_static.armv7 := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.hard_static.armv7 := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.soft_pic.armv7 := $(FUNCTIONS_ARM_ALL) -+FUNCTIONS.hard_pic.armv7 := $(FUNCTIONS_ARM_ALL) -+ -+FUNCTIONS.hard_static.i386 := $(FUNCTIONS_I386) -+FUNCTIONS.hard_pic.i386 := $(FUNCTIONS_I386) -+ -+FUNCTIONS.hard_static.x86_64 := $(FUNCTIONS_X86_64) -+FUNCTIONS.hard_pic.x86_64 := $(FUNCTIONS_X86_64) -diff --git a/compiler-rt/make/platform/clang_linux_embedded_test_input.c b/compiler-rt/make/platform/clang_linux_embedded_test_input.c -new file mode 100644 -index 000000000000..e69de29bb2d1 diff --git a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch b/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch deleted file mode 100644 index 96003c7..0000000 --- a/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2513eec8805008ff474f4ffcb0c579b9225535f9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 19 May 2016 23:11:45 -0700 -Subject: [PATCH] compiler-rt: Simplify cross-compilation. Don't use - native-compiled llvm-config. - - Note: AddLLVM.cmake does not expose the LLVM source directory. - So if you want to run the test suite, you need to either: - - 1) set LLVM_MAIN_SRC_DIR explicitly (to find lit.py) - 2) change AddLLVM.cmake to point to an installed 'lit'. - 3) add_subdirectory(compiler-rt/test) from clang instead of compiler-rt. - -https://us.codeaurora.org/patches/quic/llvm/50683/compiler-rt-cross-compilation.patch - -Upstream-Status: Pending -Signed-off-by: Greg Fitzgerald -Signed-off-by: Khem Raj ---- - compiler-rt/CMakeLists.txt | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt -index 2c52788de56a..fe409704acc3 100644 ---- a/compiler-rt/CMakeLists.txt -+++ b/compiler-rt/CMakeLists.txt -@@ -107,7 +107,16 @@ if (COMPILER_RT_STANDALONE_BUILD) - set(CMAKE_CXX_EXTENSIONS NO) - - if (NOT LLVM_RUNTIMES_BUILD) -- load_llvm_config() -+ find_package(LLVM REQUIRED) -+ list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") -+ -+ # Variables that AddLLVM.cmake depends on (included by AddCompilerRT) -+ set(LLVM_TOOLS_BINARY_DIR "${LLVM_INSTALL_PREFIX}/bin") -+ set(LLVM_LIBRARY_DIR "${LLVM_INSTALL_PREFIX}/lib") -+ -+ set(LLVM_LIBRARY_OUTPUT_INTDIR -+ ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) -+ - endif() - if (TARGET intrinsics_gen) - # Loading the llvm config causes this target to be imported so place it diff --git a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch deleted file mode 100644 index 2bac9c1..0000000 --- a/recipes-devtools/clang/clang/0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 54247325f65f7f8b97f73910548660402d64583b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 21 May 2016 00:33:20 +0000 -Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are - macros - -musl defines some functions as macros and not inline functions -if this is the case then make sure to undefine them - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../llvm/Analysis/TargetLibraryInfo.def | 22 ++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def -index db566b8ee610..578161f9c978 100644 ---- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def -+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def -@@ -1467,6 +1467,9 @@ TLI_DEFINE_STRING_INTERNAL("fopen") - TLI_DEFINE_SIG_INTERNAL(Ptr, Ptr, Ptr) - - /// FILE *fopen64(const char *filename, const char *opentype) -+#ifdef fopen64 -+#undef fopen64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(fopen64) - TLI_DEFINE_STRING_INTERNAL("fopen64") - TLI_DEFINE_SIG_INTERNAL(Ptr, Ptr, Ptr) -@@ -1545,7 +1548,9 @@ TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Long, Int) - TLI_DEFINE_ENUM_INTERNAL(fseeko) - TLI_DEFINE_STRING_INTERNAL("fseeko") - TLI_DEFINE_SIG_INTERNAL(Int, Ptr, IntX, Int) -- -+#ifdef fseeko64 -+#undef fseeko64 -+#endif - /// int fseeko64(FILE *stream, off64_t offset, int whence) - TLI_DEFINE_ENUM_INTERNAL(fseeko64) - TLI_DEFINE_STRING_INTERNAL("fseeko64") -@@ -1562,6 +1567,9 @@ TLI_DEFINE_STRING_INTERNAL("fstat") - TLI_DEFINE_SIG_INTERNAL(Int, Int, Ptr) - - /// int fstat64(int filedes, struct stat64 *buf) -+#ifdef fstat64 -+#undef fstat64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(fstat64) - TLI_DEFINE_STRING_INTERNAL("fstat64") - TLI_DEFINE_SIG_INTERNAL(Int, Int, Ptr) -@@ -1587,6 +1595,9 @@ TLI_DEFINE_STRING_INTERNAL("ftello") - TLI_DEFINE_SIG_INTERNAL(IntPlus, Ptr) - - /// off64_t ftello64(FILE *stream) -+#ifdef ftello64 -+#undef ftello64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(ftello64) - TLI_DEFINE_STRING_INTERNAL("ftello64") - TLI_DEFINE_SIG_INTERNAL(Int64, Ptr) -@@ -1827,6 +1838,9 @@ TLI_DEFINE_STRING_INTERNAL("lstat") - TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) - - /// int lstat64(const char *path, struct stat64 *buf); -+#ifdef lstat64 -+#undef lstat64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(lstat64) - TLI_DEFINE_STRING_INTERNAL("lstat64") - TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) -@@ -2334,6 +2348,9 @@ TLI_DEFINE_STRING_INTERNAL("stat") - TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) - - /// int stat64(const char *path, struct stat64 *buf); -+#ifdef stat64 -+#undef stat64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(stat64) - TLI_DEFINE_STRING_INTERNAL("stat64") - TLI_DEFINE_SIG_INTERNAL(Int, Ptr, Ptr) -@@ -2559,6 +2576,9 @@ TLI_DEFINE_STRING_INTERNAL("tmpfile") - TLI_DEFINE_SIG_INTERNAL(Ptr) - - /// FILE *tmpfile64(void) -+#ifdef tmpfile64 -+#undef tmpfile64 -+#endif - TLI_DEFINE_ENUM_INTERNAL(tmpfile64) - TLI_DEFINE_STRING_INTERNAL("tmpfile64") - TLI_DEFINE_SIG_INTERNAL(Ptr) diff --git a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch b/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch deleted file mode 100644 index 642e8f0..0000000 --- a/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch +++ /dev/null @@ -1,71 +0,0 @@ -From ca2f7d327c1c7f63d0c438c5ad404e97c3f80428 Mon Sep 17 00:00:00 2001 -From: Martin Kelly -Date: Fri, 19 May 2017 00:22:57 -0700 -Subject: [PATCH] llvm: allow env override of exe and libdir path - -When using a native llvm-config from inside a sysroot, we need llvm-config to -return the libraries, include directories, etc. from inside the sysroot rather -than from the native sysroot. Thus provide an env override for calling -llvm-config from a target sysroot. - -Add YOCTO_ALTERNATE_LIBDIR and YOCTO_ALTERNATE_EXE_PATH env variables - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Martin Kelly -Signed-off-by: Khem Raj ---- - llvm/tools/llvm-config/llvm-config.cpp | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp -index d5b76b1bb6c1..a739f0d8dbea 100644 ---- a/llvm/tools/llvm-config/llvm-config.cpp -+++ b/llvm/tools/llvm-config/llvm-config.cpp -@@ -246,6 +246,13 @@ Typical components:\n\ - - /// Compute the path to the main executable. - std::string GetExecutablePath(const char *Argv0) { -+ // Hack for Yocto: we need to override the root path when we are using -+ // llvm-config from within a target sysroot. -+ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH"); -+ if (Sysroot != nullptr) { -+ return Sysroot; -+ } -+ - // This just needs to be some symbol in the binary; C++ doesn't - // allow taking the address of ::main however. - void *P = (void *)(intptr_t)GetExecutablePath; -@@ -325,7 +332,7 @@ int main(int argc, char **argv) { - // Compute various directory locations based on the derived location - // information. - std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir, -- ActiveCMakeDir; -+ ActiveCMakeDir, BaseLibDir; - std::string ActiveIncludeOption; - if (IsInDevelopmentTree) { - ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include"; -@@ -366,12 +373,18 @@ int main(int argc, char **argv) { - sys::fs::make_absolute(ActivePrefix, Path); - ActiveBinDir = std::string(Path); - } -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -- { -- SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); -- sys::fs::make_absolute(ActivePrefix, Path); -- ActiveCMakeDir = std::string(Path); -+ // Hack for Yocto: we need to override the lib path when we are using -+ // llvm-config from within a target sysroot since LLVM_LIBDIR_SUFFIX -+ // maybe different for host llvm vs target e.g. ppc64 Libdir=lib64 but -+ // x86_64 Libdir = lib -+ const char *YoctoLibDir = std::getenv("YOCTO_ALTERNATE_LIBDIR"); -+ if (YoctoLibDir != nullptr) { -+ BaseLibDir = std::string(YoctoLibDir); -+ } else { -+ BaseLibDir = std::string("/lib") + LLVM_LIBDIR_SUFFIX; - } -+ ActiveLibDir = ActivePrefix + BaseLibDir; -+ ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - diff --git a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch deleted file mode 100644 index 3079f38..0000000 --- a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 9767cb6318047148affd5217ffaa27519a3cf921 Mon Sep 17 00:00:00 2001 -From: Dan McGregor -Date: Wed, 26 Apr 2017 20:29:41 -0600 -Subject: [PATCH] clang: driver: Check sysroot for ldso path - -OE does not necessarily follow the default path for the dynamic linker, -therefore adjust it for OE. Check for the default path, and if it isn't -there, check /lib. - -Upstream-Status: Pending -Signed-off-by: Dan McGregor -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Linux.cpp | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 0767fe6c5879..4d0c7e63c68e 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -523,7 +523,11 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - Triple.getEnvironment() == llvm::Triple::GNUEABIHFT64 || - tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; - -- LibDir = "lib"; -+ LibDir = "lib32"; -+ if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ LibDir = "lib"; -+ } - Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; - break; - } -@@ -578,11 +582,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - LibDir = "lib64"; - Loader = - (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; -+ if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ LibDir = "lib"; -+ } - break; - case llvm::Triple::ppc64le: - LibDir = "lib64"; - Loader = - (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; -+ if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ LibDir = "lib"; -+ } - break; - case llvm::Triple::riscv32: - case llvm::Triple::riscv64: { -@@ -600,6 +612,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - case llvm::Triple::sparcv9: - LibDir = "lib64"; - Loader = "ld-linux.so.2"; -+ if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ LibDir = "lib"; -+ } - break; - case llvm::Triple::systemz: - LibDir = "lib"; -@@ -614,6 +630,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - - LibDir = X32 ? "libx32" : "lib64"; - Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; -+ if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ LibDir = "lib"; -+ } - break; - } - case llvm::Triple::ve: diff --git a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch deleted file mode 100644 index 68abd21..0000000 --- a/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 223fe5ca4f6e2b8e22aa8e900a6e35c34dc68c1f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 19 May 2016 21:11:06 -0700 -Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl - -musl driver will need to add ssp_nonshared for stack_check_local -on the linker cmdline when using stack protector commands on -compiler cmdline - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index f56eeda3cb5f..9f7b9e8d42a8 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -631,6 +631,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, - if (IsIAMCU) - CmdArgs.push_back("-lgloss"); - -+ if (ToolChain.getTriple().isMusl() && -+ (Args.hasArg(options::OPT_fstack_protector) || -+ Args.hasArg(options::OPT_fstack_protector_strong) || -+ Args.hasArg(options::OPT_fstack_protector_all))) { -+ CmdArgs.push_back("-lssp_nonshared"); -+ } - if (IsStatic || IsStaticPIE) - CmdArgs.push_back("--end-group"); - else diff --git a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch deleted file mode 100644 index 6d8f47c..0000000 --- a/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 17aa070ae827e6cd1bba48a655c8e896bda41da0 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 16 Mar 2017 09:02:13 -0700 -Subject: [PATCH] clang: Prepend trailing '/' to sysroot - -This is needed to handle a case where clang -isntall and target sysroot are perilously same - -e.g. - -sysroot = /mnt/clang/recipe-sysroot -clang install = /mnt/clang/recipe-sysroot-native - -in this case it will mistakenly assume that -clang is installed under the same sysroot dir -and it will try to add relative ../lib paths -to linker steps which would then be wrong -since they will become relative to clang -installation and not sysroot - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Linux.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 4d0c7e63c68e..6c28c8408605 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -216,7 +216,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) - Multilibs = GCCInstallation.getMultilibs(); - SelectedMultilibs.assign({GCCInstallation.getMultilib()}); - llvm::Triple::ArchType Arch = Triple.getArch(); -- std::string SysRoot = computeSysRoot(); -+ std::string SysRoot = computeSysRoot() + "/"; - ToolChain::path_list &PPaths = getProgramPaths(); - - Generic_GCC::PushPPaths(PPaths); diff --git a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch deleted file mode 100644 index 620a5f0..0000000 --- a/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2fbce9b799992f1efa3f4b9e72a6de22c69f6a6b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 16 Mar 2017 19:06:26 -0700 -Subject: [PATCH] clang: Look inside the target sysroot for compiler runtime - -In OE compiler-rt and libc++ are built and staged into target -sysroot and not into resourcedir which is relative to clang -driver installation where the libraries are not instlled - -Specific to cross compiling the way yocto/OE works - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChain.cpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp -index acf9d264d631..3e46c88e95cb 100644 ---- a/clang/lib/Driver/ToolChain.cpp -+++ b/clang/lib/Driver/ToolChain.cpp -@@ -16,6 +16,7 @@ - #include "ToolChains/InterfaceStubs.h" - #include "clang/Basic/ObjCRuntime.h" - #include "clang/Basic/Sanitizers.h" -+#include "clang/Basic/Version.h" - #include "clang/Config/config.h" - #include "clang/Driver/Action.h" - #include "clang/Driver/Driver.h" -@@ -708,7 +709,10 @@ StringRef ToolChain::getOSLibName() const { - } - - std::string ToolChain::getCompilerRTPath() const { -- SmallString<128> Path(getDriver().ResourceDir); -+ SmallString<128> Path(getDriver().SysRoot); -+ StringRef ClangLibdirBasename(CLANG_INSTALL_LIBDIR_BASENAME); -+ llvm::sys::path::append(Path, "/usr/", ClangLibdirBasename, "clang", -+ CLANG_VERSION_STRING); - if (isBareMetal()) { - llvm::sys::path::append(Path, "lib", getOSLibName()); - if (!SelectedMultilibs.empty()) { diff --git a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch deleted file mode 100644 index 63678fd..0000000 --- a/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5f4f290d77ebc712996acb0a67b5132216020472 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 20 Mar 2021 16:09:16 -0700 -Subject: [PATCH] clang: Define / releative gcc installation dir - -This is required for OE gcc installation to work. -Without this its not able to find the paths for libgcc -and other standard headers and libraries from gcc -installation in OE - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 9f7b9e8d42a8..4f177aa8771e 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2871,19 +2871,19 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( - // Whether this library suffix is relevant for the triple. - bool Active; - } Suffixes[] = { -- // This is the normal place. -- {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists}, -- -- // Debian puts cross-compilers in gcc-cross. -- {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists}, -- - // The Freescale PPC SDK has the gcc libraries in - // /usr/lib//x.y.z so have a look there as well. Only do - // this on Freescale triples, though, since some systems put a *lot* of - // files in that location, not just GCC installation data. - {CandidateTriple.str(), "..", - TargetTriple.getVendor() == llvm::Triple::Freescale || -- TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}}; -+ TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}, -+ -+ // This is the normal place. -+ {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists}, -+ -+ // Debian puts cross-compilers in gcc-cross. -+ {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists}}; - - for (auto &Suffix : Suffixes) { - if (!Suffix.Active) diff --git a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch deleted file mode 100644 index 66f4886..0000000 --- a/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 146e389fec4739e562eb0a8fe7aeb3f6861ae6e8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 31 Jul 2019 22:51:39 -0700 -Subject: [PATCH] clang: Add -lpthread and -ldl along with -lunwind for static - linking - -When doing static liking with --unwindlib=libunwind -static we encounter -undefined symbols -libunwind/src/RWMutex.hpp:68: undefined reference to `pthread_rwlock_wrlock' - -and - -libunwind/src/AddressSpace.hpp:597: undefined reference to `dladdr' - -therefore we need to link in libpthread and libdl to fill these symbols - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/CommonArgs.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp -index ae635fb6a180..255e7e0b7150 100644 ---- a/clang/lib/Driver/ToolChains/CommonArgs.cpp -+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp -@@ -2254,6 +2254,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, - CmdArgs.push_back("-lunwind"); - } else if (LGT == LibGccType::StaticLibGcc) { - CmdArgs.push_back("-l:libunwind.a"); -+ CmdArgs.push_back("-lpthread"); -+ CmdArgs.push_back("-ldl"); - } else if (LGT == LibGccType::SharedLibGcc) { - if (TC.getTriple().isOSCygMing()) - CmdArgs.push_back("-l:libunwind.dll.a"); diff --git a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch deleted file mode 100644 index a029d7d..0000000 --- a/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9f4b973e7cab243991856be1f162a7e38517b611 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal -Date: Thu, 26 Dec 2019 12:56:16 -0800 -Subject: [PATCH] Pass PYTHON_EXECUTABLE when cross compiling for native build - -Upstream-Status: Pending -Signed-off-by: Anuj Mittal -Signed-off-by: Khem Raj ---- - llvm/cmake/modules/CrossCompile.cmake | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake -index 3b31d3e218a3..a07ab45878fd 100644 ---- a/llvm/cmake/modules/CrossCompile.cmake -+++ b/llvm/cmake/modules/CrossCompile.cmake -@@ -100,6 +100,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) - -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}" - -DLLVM_INCLUDE_BENCHMARKS=OFF - -DLLVM_INCLUDE_TESTS=OFF -+ -DPYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}" - ${build_type_flags} ${linker_flag} ${external_clang_dir} ${libc_flags} - ${ARGN} - WORKING_DIRECTORY ${${project_name}_${target_name}_BUILD} diff --git a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch b/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch deleted file mode 100644 index 14145e7..0000000 --- a/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3cea4e8ef2f789e6988cb9caf6b28dbc240d93bd Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 18 Nov 2019 17:00:29 -0800 -Subject: [PATCH] Check for atomic intrinsics - -On some architectures e.g. x86/32bit gcc decides to inline calls to -double atomic variables but clang does not and defers it to libatomic -therefore detect if clang can use built-ins for atomic if not -then link libatomic, this helps building clangd for x86 on linux systems -with gcc runtime - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - llvm/cmake/modules/CheckAtomic.cmake | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/llvm/cmake/modules/CheckAtomic.cmake b/llvm/cmake/modules/CheckAtomic.cmake -index f11cadf39ff6..80a18a92956a 100644 ---- a/llvm/cmake/modules/CheckAtomic.cmake -+++ b/llvm/cmake/modules/CheckAtomic.cmake -@@ -30,10 +30,11 @@ function(check_working_cxx_atomics64 varname) - #include - #include - std::atomic x (0); -+std::atomic y (0); - int main() { - uint64_t i = x.load(std::memory_order_relaxed); - (void)i; -- return 0; -+ return int(y); - } - " ${varname}) - set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) diff --git a/recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch b/recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch deleted file mode 100644 index 94c056a..0000000 --- a/recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 93141cee493022d9f39dbd1f5f0bb0a1110ac829 Mon Sep 17 00:00:00 2001 -From: Ovidiu Panait -Date: Fri, 31 Jan 2020 10:56:11 +0200 -Subject: [PATCH] cmake: Fix configure for packages using find_package() - -Currently, when a package (i.e. bcc [https://github.com/iovisor/bcc.git]) -that depends on LLVM/Clang tries to run cmake find_package() during -do_configure, it will fail with a similar error: - -| The imported target "llvm-tblgen" references the file -| ".../recipe-sysroot/usr/bin/llvm-tblgen" -| -| but this file does not exist. Possible reasons include: -| * The file was deleted, renamed, or moved to another location. -| * An install or uninstall procedure did not complete successfully. -| * The installation package was faulty and contained -| ".../recipe-sysroot/usr/lib/cmake/LLVMExports.cmake" -| but not all the files it references. - -This is due to the fact that currently the cmake scripts look for target -binaries in sysroot. Work around this by not exporting the target binaries in -Exports-* cmake files. - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Ovidiu Panait ---- - clang/cmake/modules/AddClang.cmake | 2 -- - llvm/cmake/modules/AddLLVM.cmake | 9 ++------- - llvm/cmake/modules/TableGen.cmake | 6 ------ - 3 files changed, 2 insertions(+), 15 deletions(-) - -diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake -index cdc8bd5cd503..5faa9117a30f 100644 ---- a/clang/cmake/modules/AddClang.cmake -+++ b/clang/cmake/modules/AddClang.cmake -@@ -182,7 +182,6 @@ macro(add_clang_tool name) - if (CLANG_BUILD_TOOLS) - get_target_export_arg(${name} Clang export_to_clangtargets) - install(TARGETS ${name} -- ${export_to_clangtargets} - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - COMPONENT ${name}) - -@@ -191,7 +190,6 @@ macro(add_clang_tool name) - DEPENDS ${name} - COMPONENT ${name}) - endif() -- set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name}) - endif() - endif() - set_target_properties(${name} PROPERTIES XCODE_GENERATE_SCHEME ON) -diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index d3e9377c8d2f..fe22d6f2b35a 100644 ---- a/llvm/cmake/modules/AddLLVM.cmake -+++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -1492,7 +1492,6 @@ macro(llvm_add_tool project name) - if( LLVM_BUILD_TOOLS ) - get_target_export_arg(${name} ${project} export_to_llvmexports) - install(TARGETS ${name} -- ${export_to_llvmexports} - RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR} - COMPONENT ${name}) - -@@ -1503,10 +1502,8 @@ macro(llvm_add_tool project name) - endif() - endif() - endif() -- if( LLVM_BUILD_TOOLS ) -- string(TOUPPER "${project}" project_upper) -- set_property(GLOBAL APPEND PROPERTY ${project_upper}_EXPORTS ${name}) -- endif() -+ string(TOUPPER "${project}" project_upper) -+ set_target_properties(${name} PROPERTIES FOLDER "Tools") - endif() - get_subproject_title(subproject_title) - set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Tools") -@@ -1556,7 +1553,6 @@ macro(add_llvm_utility name) - if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) - get_target_export_arg(${name} LLVM export_to_llvmexports) - install(TARGETS ${name} -- ${export_to_llvmexports} - RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} - COMPONENT ${name}) - -@@ -1565,7 +1561,6 @@ macro(add_llvm_utility name) - DEPENDS ${name} - COMPONENT ${name}) - endif() -- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - elseif(LLVM_BUILD_UTILS) - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name}) - endif() -diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake -index ffcc718b4777..a76f28e74b86 100644 ---- a/llvm/cmake/modules/TableGen.cmake -+++ b/llvm/cmake/modules/TableGen.cmake -@@ -232,12 +232,7 @@ macro(add_tablegen target project) - - if (ADD_TABLEGEN_DESTINATION AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND - (LLVM_BUILD_UTILS OR ${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS)) -- set(export_arg) -- if(ADD_TABLEGEN_EXPORT) -- get_target_export_arg(${target} ${ADD_TABLEGEN_EXPORT} export_arg) -- endif() - install(TARGETS ${target} -- ${export_arg} - COMPONENT ${target} - RUNTIME DESTINATION "${ADD_TABLEGEN_DESTINATION}") - if(NOT LLVM_ENABLE_IDE) -@@ -248,6 +243,5 @@ macro(add_tablegen target project) - endif() - if(ADD_TABLEGEN_EXPORT) - string(TOUPPER ${ADD_TABLEGEN_EXPORT} export_upper) -- set_property(GLOBAL APPEND PROPERTY ${export_upper}_EXPORTS ${target}) - endif() - endmacro() diff --git a/recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch b/recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch deleted file mode 100644 index 8605db0..0000000 --- a/recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7c6cb0a5d35f1a757165a44aa5d2d1d16af32205 Mon Sep 17 00:00:00 2001 -From: Jim Broadus -Date: Thu, 26 Mar 2020 16:05:53 -0700 -Subject: [PATCH] clang: Fix resource dir location for cross toolchains - -When clang looks for the resources directory, it does so based on the binary -location and assumes that the containing directory is a sibling to lib. The -Yocto cross.bbclass defines the default bindir as -${exec_prefix}/bin/${CROSS_TARGET_SYS_DIR}. ex: /usr/bin/aarch64-poky-linux/. -This causes clang to form a path that looks like /usr/bin/lib/clang/... - -As a fix for this, check the parent directory name. If that is "bin", then -use that directory's parent. - -Upstream-Status: Pending -Signed-off-by: Jim Broadus -Signed-off-by: Khem Raj ---- - clang/lib/Driver/Driver.cpp | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp -index 87855fdb7997..036c9d09df26 100644 ---- a/clang/lib/Driver/Driver.cpp -+++ b/clang/lib/Driver/Driver.cpp -@@ -176,6 +176,7 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath) { - - // Dir is bin/ or lib/, depending on where BinaryPath is. - StringRef Dir = llvm::sys::path::parent_path(BinaryPath); -+ StringRef LastDirName = llvm::sys::path::filename(Dir); - SmallString<128> P(Dir); - - StringRef ConfiguredResourceDir(CLANG_RESOURCE_DIR); -@@ -187,9 +188,15 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath) { - // With a static-library build of libclang, LibClangPath will contain the - // path of the embedding binary, which for LLVM binaries will be in bin/. - // ../lib gets us to lib/ in both cases. -- P = llvm::sys::path::parent_path(Dir); - // This search path is also created in the COFF driver of lld, so any - // changes here also needs to happen in lld/COFF/Driver.cpp -+ -+ // OE cross toolchains are installed, by default, in a subdir of bin. -+ if (LastDirName == "bin") { -+ P = llvm::sys::path::parent_path(Dir); -+ } else { -+ P = llvm::sys::path::parent_path(llvm::sys::path::parent_path(Dir)); -+ } - llvm::sys::path::append(P, CLANG_INSTALL_LIBDIR_BASENAME, "clang", - CLANG_VERSION_MAJOR_STRING); - } diff --git a/recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch deleted file mode 100644 index 084f39d..0000000 --- a/recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a80ccd52d2230ec4df68506910d6c836f02af591 Mon Sep 17 00:00:00 2001 -From: Oleksandr Ocheretnyi -Date: Wed, 15 Apr 2020 00:08:39 +0300 -Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso - path - - * the dyld-prefix shall be taken into account when the default - path for the dynamic linker has to be checked. - - * this patch shall be used as annex to the next patch: - 'clang: driver: Check sysroot for ldso path' which includes - the usrmerge scenario. - -Upstream-Status: Pending -Signed-off-by: Oleksandr Ocheretnyi -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Linux.cpp | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 6c28c8408605..32414810b6d7 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -524,8 +524,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; - - LibDir = "lib32"; -- if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -- getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { - LibDir = "lib"; - } - Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; -@@ -582,8 +582,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - LibDir = "lib64"; - Loader = - (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; -- if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -- getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { - LibDir = "lib"; - } - break; -@@ -591,8 +591,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - LibDir = "lib64"; - Loader = - (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; -- if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -- getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { - LibDir = "lib"; - } - break; -@@ -612,8 +612,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - case llvm::Triple::sparcv9: - LibDir = "lib64"; - Loader = "ld-linux.so.2"; -- if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -- getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { - LibDir = "lib"; - } - break; -@@ -630,8 +630,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { - - LibDir = X32 ? "libx32" : "lib64"; - Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; -- if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && -- getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { -+ if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && -+ getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { - LibDir = "lib"; - } - break; diff --git a/recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch b/recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch deleted file mode 100644 index 0d5d240..0000000 --- a/recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 34f43ca6a4757a6a80f92c56be340ca4de3b2a31 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 14 Oct 2020 22:19:57 -0700 -Subject: [PATCH] clang: Use python3 in python scripts - -Some scripts ask for python, but they work fine with python3 -and in OE python symlink is not exposed to build, only python3 is - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../find-all-symbols/tool/run-find-all-symbols.py | 2 +- - clang/tools/scan-view/bin/scan-view | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py b/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py -index 471dbf8c110b..f98385dc6651 100755 ---- a/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py -+++ b/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # - # =- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=# - # -diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view -index d01aebb4029a..f3375804654d 100755 ---- a/clang/tools/scan-view/bin/scan-view -+++ b/clang/tools/scan-view/bin/scan-view -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - - from __future__ import print_function - diff --git a/recipes-devtools/clang/clang/0018-For-x86_64-set-Yocto-based-GCC-install-search-path.patch b/recipes-devtools/clang/clang/0018-For-x86_64-set-Yocto-based-GCC-install-search-path.patch deleted file mode 100644 index a928d6e..0000000 --- a/recipes-devtools/clang/clang/0018-For-x86_64-set-Yocto-based-GCC-install-search-path.patch +++ /dev/null @@ -1,70 +0,0 @@ -From b0a3357f0e3a38a2aa5eebfc73fa9cc531e9a9e1 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Mon, 25 Jan 2021 16:14:35 +0800 -Subject: [PATCH] For x86_64, set Yocto based GCC install search path - -Under Yocto host, while using clang-native to build, it searches -install host gcc failed which causing the include file not found -[snip] -|clang++ -target x86_64-linux -MMD -MF src/base/files/file_path_constants.o.d -I../../../tools/gn/src -I. \ --isystem/tmp-glibc/work/x86_64-linux/gn-native/87.0.4280.141-r0/recipe-sysroot-native/usr/include -O2 -pipe \ --std=c++17 -c ../../../tools/gn/src/base/files/file_path_constants.cc -o src/base/files/file_path_constants.o -|../../../tools/gn/src/base/files/file_path_constants.cc:7:10: fatal error: 'iterator' file not found -|#include -| ^~~~~~~~ -[snip] - -Set three Yocto based GCC triple: poky, oe-core and wind river - -Before aplly the patch -[snip] -$ ../recipe-sysroot-native/usr/bin/clang++ -v -clang version 11.0.1 (https://github.com/llvm/llvm-project 43ff75f2c3feef64f9d73328230d34dac8832a91) -Target: x86_64-unknown-linux-gnu -Thread model: posix -InstalledDir:tmp-glibc/work/x86_64-linux/gn-native/87.0.4280.141-r0/chromium-87.0.4280.141/../recipe-sysroot-native/usr/bin -[snip] - -After aplly the patch: -[snip] -$ ../recipe-sysroot-native/usr/bin/clang++ -v -clang version 11.0.1 (https://github.com/llvm/llvm-project 22c3241ff9a6224261df48d0258957fd8acc3d64) -Target: x86_64-unknown-linux-gnu -Thread model: posix -InstalledDir:tmp-glibc/work/x86_64-linux/gn-native/87.0.4280.141-r0/chromium-87.0.4280.141/../recipe-sysroot-native/usr/bin -Found candidate GCC installation: /usr/lib//x86_64-wrs-linux/10.1.0 -Found candidate GCC installation: /usr/lib/gcc/x86_64-wrs-linux/10.1.0 -Selected GCC installation: /usr/lib//x86_64-wrs-linux/10.1.0 -Candidate multilib: .;@m64 -Selected multilib: .;@m64 -[snip] - -BTW, it is hardly to insert a triple by the replacement of TARGET_SYS -(=${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}), since TARGET_VENDOR -is different between clang and clang-native - -The //CLANG_EXTRA_OE_VENDORS_TRIPLES string is replaced with list of -additional triples based on CLANG_EXTRA_OE_VENDORS variable in -recipes-devtools/clang/llvm-project-source.inc:add_distro_vendor() - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Martin Jansa -Signed-off-by: Hongxu Jia -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 4f177aa8771e..6873892372ea 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2451,6 +2451,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( - "x86_64-pc-linux-gnu", "x86_64-redhat-linux6E", - "x86_64-redhat-linux", "x86_64-suse-linux", - "x86_64-manbo-linux-gnu", "x86_64-slackware-linux", -+ "x86_64-oe-linux",//CLANG_EXTRA_OE_VENDORS_TRIPLES - "x86_64-unknown-linux", "x86_64-amazon-linux"}; - static const char *const X32Triples[] = {"x86_64-linux-gnux32", - "x86_64-pc-linux-gnux32"}; diff --git a/recipes-devtools/clang/clang/0019-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch b/recipes-devtools/clang/clang/0019-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch deleted file mode 100644 index e7f16f6..0000000 --- a/recipes-devtools/clang/clang/0019-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a4723752be1e9398d5697741ca0be721d90f814e Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 11 Feb 2021 16:42:49 -0800 -Subject: [PATCH] llvm: Insert anchor for adding OE distro vendor names - -This helps in making right detection for OE built gcc toolchains - -The //CLANG_EXTRA_OE_VENDORS_CASES string is replaced with list of -additional Ceses based on CLANG_EXTRA_OE_VENDORS variable in -recipes-devtools/clang/llvm-project-source.inc:add_distro_vendor() - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Khem Raj -Signed-off-by: Martin Jansa ---- - llvm/lib/TargetParser/Triple.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp -index e9e6f130f757..97f426dd863b 100644 ---- a/llvm/lib/TargetParser/Triple.cpp -+++ b/llvm/lib/TargetParser/Triple.cpp -@@ -663,7 +663,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { - .Case("mesa", Triple::Mesa) - .Case("suse", Triple::SUSE) - .Case("oe", Triple::OpenEmbedded) -- .Case("intel", Triple::Intel) -+ .Case("intel", Triple::Intel) //CLANG_EXTRA_OE_VENDORS_CASES - .Default(Triple::UnknownVendor); - } - diff --git a/recipes-devtools/clang/clang/0020-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch b/recipes-devtools/clang/clang/0020-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch deleted file mode 100644 index bb7b01b..0000000 --- a/recipes-devtools/clang/clang/0020-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 71f429239846d67c331aee98d84d37f2c7c07c6c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 May 2021 17:32:13 -0700 -Subject: [PATCH] compiler-rt: Do not use backtrace APIs on non-glibc linux - -musl e.g. does not provide backtrace APIs - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../lib/gwp_asan/optional/backtrace_linux_libc.cpp | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp b/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp -index ea8e72be287d..0344074dd254 100644 ---- a/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp -+++ b/compiler-rt/lib/gwp_asan/optional/backtrace_linux_libc.cpp -@@ -7,7 +7,9 @@ - //===----------------------------------------------------------------------===// - - #include -+#ifdef __GLIBC__ - #include -+#endif - #include - #include - #include -@@ -21,8 +23,11 @@ - namespace { - size_t Backtrace(uintptr_t *TraceBuffer, size_t Size) { - static_assert(sizeof(uintptr_t) == sizeof(void *), "uintptr_t is not void*"); -- -+#ifdef __GLIBC__ - return backtrace(reinterpret_cast(TraceBuffer), Size); -+#else -+ return -1; -+#endif - } - - // We don't need any custom handling for the Segv backtrace - the libc unwinder -@@ -30,7 +35,11 @@ size_t Backtrace(uintptr_t *TraceBuffer, size_t Size) { - // to avoid the additional frame. - GWP_ASAN_ALWAYS_INLINE size_t SegvBacktrace(uintptr_t *TraceBuffer, size_t Size, - void * /*Context*/) { -+#ifdef __GLIBC__ - return Backtrace(TraceBuffer, Size); -+#else -+ return -1; -+#endif - } - - static void PrintBacktrace(uintptr_t *Trace, size_t TraceLength, -@@ -40,6 +49,7 @@ static void PrintBacktrace(uintptr_t *Trace, size_t TraceLength, - return; - } - -+#ifdef __GLIBC__ - char **BacktraceSymbols = - backtrace_symbols(reinterpret_cast(Trace), TraceLength); - -@@ -53,6 +63,7 @@ static void PrintBacktrace(uintptr_t *Trace, size_t TraceLength, - Printf("\n"); - if (BacktraceSymbols) - free(BacktraceSymbols); -+#endif - } - } // anonymous namespace - diff --git a/recipes-devtools/clang/clang/0021-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/recipes-devtools/clang/clang/0021-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch deleted file mode 100644 index 6c7daff..0000000 --- a/recipes-devtools/clang/clang/0021-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 98d888c1f966d7758690b2a3b3a7fa7b47c58ebf Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 19 May 2021 17:56:03 -0700 -Subject: [PATCH] clang: Fix x86 triple for non-debian multiarch linux distros - -OpenEmbedded does not hardcode mutli-arch like debian therefore ensure -that it still uses the proper tuple - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Linux.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 32414810b6d7..a9ee2b671f2e 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -727,6 +727,9 @@ void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, - GCCInstallation.getTriple().getArch() == llvm::Triple::x86 - ? "i386-linux-gnu" - : TripleStr; -+ // OpenEmbedded does not hardcode the triple to i386-linux-gnu like debian -+ if (GCCInstallation.getTriple().getVendor() == llvm::Triple::OpenEmbedded) -+ DebianMultiarch = TripleStr; - - // Try generic GCC detection first. - if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args, diff --git a/recipes-devtools/clang/clang/0022-libunwind-Added-unw_backtrace-method.patch b/recipes-devtools/clang/clang/0022-libunwind-Added-unw_backtrace-method.patch deleted file mode 100644 index be788b7..0000000 --- a/recipes-devtools/clang/clang/0022-libunwind-Added-unw_backtrace-method.patch +++ /dev/null @@ -1,56 +0,0 @@ -From bb3cadafda39177d2a36598e1430bc2ff97a3d37 Mon Sep 17 00:00:00 2001 -From: Maksim Kita -Date: Sun, 23 May 2021 10:27:29 +0000 -Subject: [PATCH] libunwind: Added unw_backtrace method - -Source: https://github.com/ClickHouse-Extras/libunwind/commit/52f0f7861926cbfaef7e6c97d8a6d7ba2a1f6747#diff-a82fc885e2e4facf4b92d26171c13aa4aa5db296f77e1158ba2f8664e3bd1f5c -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - libunwind/include/libunwind.h | 1 + - libunwind/src/libunwind.cpp | 20 ++++++++++++++++++++ - 2 files changed, 21 insertions(+) - -diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h -index b2dae8feed9a..0ab974c9bfa4 100644 ---- a/libunwind/include/libunwind.h -+++ b/libunwind/include/libunwind.h -@@ -130,6 +130,7 @@ extern int unw_is_fpreg(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL; - extern int unw_is_signal_frame(unw_cursor_t *) LIBUNWIND_AVAIL; - extern int unw_get_proc_name(unw_cursor_t *, char *, size_t, unw_word_t *) LIBUNWIND_AVAIL; - //extern int unw_get_save_loc(unw_cursor_t*, int, unw_save_loc_t*); -+extern int unw_backtrace(void **, int) LIBUNWIND_AVAIL; - - extern unw_addr_space_t unw_local_addr_space; - -diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp -index cf39ec5f7dbd..1896f20d57f8 100644 ---- a/libunwind/src/libunwind.cpp -+++ b/libunwind/src/libunwind.cpp -@@ -431,6 +431,26 @@ int __unw_remove_find_dynamic_unwind_sections( - - #endif // __APPLE__ - -+int unw_backtrace(void **buffer, int size) { -+ unw_context_t context; -+ unw_cursor_t cursor; -+ if (unw_getcontext(&context) || unw_init_local(&cursor, &context)) { -+ return 0; -+ } -+ -+ unw_word_t ip; -+ int current = 0; -+ while (unw_step(&cursor) > 0) { -+ if (current >= size || unw_get_reg(&cursor, UNW_REG_IP, &ip)) { -+ break; -+ } -+ -+ buffer[current++] = reinterpret_cast(static_cast(ip)); -+ } -+ -+ return current; -+} -+ - // Add logging hooks in Debug builds only - #ifndef NDEBUG - #include diff --git a/recipes-devtools/clang/clang/0023-clang-Do-not-use-install-relative-libc-headers.patch b/recipes-devtools/clang/clang/0023-clang-Do-not-use-install-relative-libc-headers.patch deleted file mode 100644 index 25dec75..0000000 --- a/recipes-devtools/clang/clang/0023-clang-Do-not-use-install-relative-libc-headers.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 89348e6c2cf3f65eb244c5b01145309355573ade Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 11 Aug 2021 18:37:11 -0700 -Subject: [PATCH] clang: Do not use install relative libc++ headers - -In OE we use same clang for native and cross builds, therefore we need -to ensure that native sysroot install of libc++ is not searched for -headers when doing cross compile instead it searches the target sysroot -this is especially troublesome when libcxx-native is staged along with -libcxx e.g. chromium - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 6873892372ea..b5485970a0c5 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -3275,8 +3275,11 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, - // incompatible with the NDK libraries. - SmallString<128> DriverIncludeDir(getDriver().Dir); - llvm::sys::path::append(DriverIncludeDir, "..", "include"); -+ -+ // do not add it when --sysroot is specified, since it would expect -+ // libc++ headers from sysroot and not relative to compiler install location - if (AddIncludePath(DriverIncludeDir, -- /*TargetDirRequired=*/getTriple().isAndroid())) -+ /*TargetDirRequired=*/getTriple().isAndroid() | !computeSysRoot().empty())) - return; - // If this is a development, non-installed, clang, libcxx will - // not be found at ../include/c++ but it likely to be found at diff --git a/recipes-devtools/clang/clang/0024-Fix-lib-paths-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0024-Fix-lib-paths-for-OpenEmbedded-Host.patch deleted file mode 100644 index d450576..0000000 --- a/recipes-devtools/clang/clang/0024-Fix-lib-paths-for-OpenEmbedded-Host.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a3f6769e9da81aa359b2f013b88639dc0c8ca5ea Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 7 Dec 2021 04:08:22 +0000 -Subject: [PATCH] Fix lib paths for OpenEmbedded Host - -Under OpenEmbedded Host, while building with clang-native, it cannot find -the GCCInstallPath, which causing following error: -[snip] -compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/clang --target x86_64-linux --isystem/path/to/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/include --O2 -pipe -/path/to/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/share/cmake-3.21/Modules/CMakeCCompilerABI.c` -hosttools/ld: cannot find crtbeginS.o: No such file or directory -[snip] - -Before this patch: -compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/clang -clang version 13.0.1 (https://github.com/llvm/llvm-project 08e3a5ccd952edee36b3c002e3a29c6b1b5153de) -Target: x86_64-unknown-linux-gnu -Thread model: posix -InstalledDir: /build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin -Found candidate GCC installation: /usr/lib/gcc/x86_64-wrs-linux/10.2.0 - -After this patch: -compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/clang -clang version 13.0.1 (https://github.com/llvm/llvm-project 08e3a5ccd952edee36b3c002e3a29c6b1b5153de) -Thread model: posix -InstalledDir: /build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin -Found candidate GCC installation: /usr/lib/gcc/x86_64-wrs-linux/10.2.0 -Found candidate GCC installation: /usr/lib/x86_64-wrs-linux/10.2.0 -Selected GCC installation: /usr/lib/x86_64-wrs-linux/10.2.0 -Candidate multilib: .;@m64 -Selected multilib: .;@m64 - -Summary: -For OpenEmbedded Host, sysroots are of the form/usr/lib//x.y.z. -Take x86-64 as example, the default triple is x86_64-unknown-linux-gnu. -For clang-native, the target vendor is '-unknown', need to test current distro -to follow above form. - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Changqing Li -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index b5485970a0c5..868d32f501e8 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -19,6 +19,7 @@ - #include "Linux.h" - #include "clang/Config/config.h" // for GCC_INSTALL_PREFIX - #include "clang/Driver/Compilation.h" -+#include "clang/Driver/Distro.h" - #include "clang/Driver/Driver.h" - #include "clang/Driver/DriverDiagnostic.h" - #include "clang/Driver/MultilibBuilder.h" -@@ -2861,6 +2862,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( - const llvm::Triple &TargetTriple, const ArgList &Args, - const std::string &LibDir, StringRef CandidateTriple, - bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) { -+ Distro Distro(D.getVFS(), TargetTriple); - // Locations relative to the system lib directory where GCC's triple-specific - // directories might reside. - struct GCCLibSuffix { -@@ -2878,7 +2880,8 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( - // files in that location, not just GCC installation data. - {CandidateTriple.str(), "..", - TargetTriple.getVendor() == llvm::Triple::Freescale || -- TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}, -+ TargetTriple.getVendor() == llvm::Triple::OpenEmbedded || -+ Distro.IsOpenEmbedded()}, - - // This is the normal place. - {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists}, diff --git a/recipes-devtools/clang/clang/0025-Correct-library-search-path-for-OpenEmbedded-Host.patch b/recipes-devtools/clang/clang/0025-Correct-library-search-path-for-OpenEmbedded-Host.patch deleted file mode 100644 index 94f9c2c..0000000 --- a/recipes-devtools/clang/clang/0025-Correct-library-search-path-for-OpenEmbedded-Host.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 3bf683abe028c13dfdb4156eefb210741e43986a Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Tue, 7 Dec 2021 04:55:48 +0000 -Subject: [PATCH] Correct library search path for OpenEmbedded Host - -For OpenEmbedded Host, the gcc install path is -/usr/lib/x86_64-[distroname]-linux/[gcc-version]. -So the library search path is not found with default triple -'x86_64-linux-gnu' for x86_64. Causing following error: -[snip] -compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/clang --target x86_64-linux --isystem/path/to/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/include --O2 -pipe -/path/to/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/share/cmake-3.21/Modules/CMakeCCompilerABI.c` -| /build/tmp-glibc/hosttools/ld: cannot find -lgcc -| /build/tmp-glibc/hosttools/ld: cannot find -lgcc -| clang-13: error: linker command failed with exit code 1 (use -v to see invocation) -[snip] - -before this patch: -b59da142f2b0:$ /path/to/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/clang --print-search-dirs -programs: =/build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin -libraries: =/build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/lib/clang/13.0.1:/build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/../lib://lib://usr/lib - -after this patch: -b59da142f2b0:$ /path/to/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/clang --print-search-dirs -programs: =/build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin -libraries: =/build/tmp-glibc/work/x84_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/lib/clang/13.0.1:/usr/lib/x86_64-wrs-linux/10.2.0://lib/x86_64-wrs-linux://usr/lib/x86_64-wrs-linux:/build/tmp-glibc/work/x86_64-linux/compiler-rt-native/13.0.1-r0/recipe-sysroot-native/usr/bin/../lib://lib://usr/lib - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Changqing Li -Signed-off-by: Khem Raj ---- - clang/include/clang/Driver/Distro.h | 2 ++ - clang/lib/Driver/Distro.cpp | 1 + - clang/lib/Driver/ToolChains/Linux.cpp | 1 + - 3 files changed, 4 insertions(+) - -diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h -index b4d485dac8a2..ac0bf25b7c63 100644 ---- a/clang/include/clang/Driver/Distro.h -+++ b/clang/include/clang/Driver/Distro.h -@@ -45,6 +45,7 @@ public: - RHEL7, - Fedora, - Gentoo, -+ //CLANG_EXTRA_OE_DISTRO_NAME - OpenSUSE, - UbuntuHardy, - UbuntuIntrepid, -@@ -139,6 +140,7 @@ public: - - bool IsGentoo() const { return DistroVal == Gentoo; } - -+ //CLANG_EXTRA_OE_DISTRO_CHECK - /// @} - }; - -diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp -index 3cc79535de8d..595656179bdc 100644 ---- a/clang/lib/Driver/Distro.cpp -+++ b/clang/lib/Driver/Distro.cpp -@@ -43,6 +43,7 @@ static Distro::DistroType DetectOsRelease(llvm::vfs::FileSystem &VFS) { - .Case("sles", Distro::OpenSUSE) - .Case("opensuse", Distro::OpenSUSE) - .Case("exherbo", Distro::Exherbo) -+ //CLANG_EXTRA_OE_DISTRO_CASE - .Default(Distro::UnknownDistro); - return Version; - } -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index a9ee2b671f2e..ec1705af3cbd 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -82,6 +82,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, - return "x86_64-linux-android"; - if (TargetEnvironment == llvm::Triple::GNUX32) - return "x86_64-linux-gnux32"; -+ //CLANG_EXTRA_OE_DISTRO_TRIPLE - return "x86_64-linux-gnu"; - case llvm::Triple::aarch64: - if (IsAndroid) diff --git a/recipes-devtools/clang/clang/0026-lldb-Link-with-libatomic-on-x86.patch b/recipes-devtools/clang/clang/0026-lldb-Link-with-libatomic-on-x86.patch deleted file mode 100644 index 6b5998c..0000000 --- a/recipes-devtools/clang/clang/0026-lldb-Link-with-libatomic-on-x86.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 8b73ff82e4eec89090bd34d3fb0732321b418dcc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 8 Feb 2022 01:31:26 -0800 -Subject: [PATCH] lldb: Link with libatomic on x86 - -cmake atomic check is not sufficient for i686 target where clang14 still -generates __atomic_store calls but the check does not entail this -function and happily thinks that compiler can resolve all atomic via intrinsics -on i686, but thats not the case, ideally the check for determining -atomic operation should be make more robust but until then lets ask to -link with libatomic on i686/linux - -Upstream-Status: Inappropriate [OE-Specific] -Signed-off-by: Khem Raj ---- - lldb/source/Utility/CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt -index 6954a2508ffe..b8bf8c07fefb 100644 ---- a/lldb/source/Utility/CMakeLists.txt -+++ b/lldb/source/Utility/CMakeLists.txt -@@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows") - list(APPEND LLDB_SYSTEM_LIBS ws2_32 rpcrt4) - endif () - -+if (CMAKE_SYSTEM_PROCESSOR MATCHES "i686" AND CMAKE_SYSTEM_NAME MATCHES "Linux") -+ list(APPEND LLDB_SYSTEM_LIBS atomic) -+endif() -+ - if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB ) - list(APPEND LLDB_SYSTEM_LIBS atomic) - endif() diff --git a/recipes-devtools/clang/clang/0027-compiler-rt-Enable-__int128-for-ppc32.patch b/recipes-devtools/clang/clang/0027-compiler-rt-Enable-__int128-for-ppc32.patch deleted file mode 100644 index 1dafc0a..0000000 --- a/recipes-devtools/clang/clang/0027-compiler-rt-Enable-__int128-for-ppc32.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 945c633b604d72ec307307a498cc6b206f810f4b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 9 Mar 2022 16:28:16 -0800 -Subject: [PATCH] compiler-rt: Enable __int128 for ppc32 - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - compiler-rt/lib/builtins/CMakeLists.txt | 15 +++++++-------- - compiler-rt/lib/builtins/int_types.h | 2 +- - 2 files changed, 8 insertions(+), 9 deletions(-) - -diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt -index 19316c52d12c..cb276311b290 100644 ---- a/compiler-rt/lib/builtins/CMakeLists.txt -+++ b/compiler-rt/lib/builtins/CMakeLists.txt -@@ -720,11 +720,9 @@ set(mips64el_SOURCES ${GENERIC_TF_SOURCES} - - set(nvptx64_SOURCES ${GENERIC_SOURCES}) - --set(powerpc_SOURCES ${GENERIC_SOURCES}) -- - set(powerpcspe_SOURCES ${GENERIC_SOURCES}) - --set(powerpc64_SOURCES -+set(powerpc_SOURCES - ppc/divtc3.c - ppc/fixtfdi.c - ppc/fixunstfdi.c -@@ -739,14 +737,15 @@ set(powerpc64_SOURCES - ) - # These routines require __int128, which isn't supported on AIX. - if (NOT OS_NAME MATCHES "AIX") -- set(powerpc64_SOURCES -+ set(powerpc_SOURCES - ppc/floattitf.c - ppc/fixtfti.c - ppc/fixunstfti.c -- ${powerpc64_SOURCES} -+ ${powerpc_SOURCES} - ) - endif() --set(powerpc64le_SOURCES ${powerpc64_SOURCES}) -+set(powerpc64le_SOURCES ${powerpc_SOURCES}) -+set(powerpc64_SOURCES ${powerpc_SOURCES}) - - set(riscv_SOURCES - cpu_model/riscv.c -@@ -904,9 +903,9 @@ else () - list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) - endif() - -- # For RISCV32, we must force enable int128 for compiling long -+ # For RISCV32/PPC32, we must force enable int128 for compiling long - # double routines. -- if(COMPILER_RT_ENABLE_SOFTWARE_INT128 OR "${arch}" STREQUAL "riscv32") -+ if(COMPILER_RT_ENABLE_SOFTWARE_INT128 OR "${arch}" STREQUAL "riscv32" OR "${arch}" STREQUAL "powerpc") - list(APPEND BUILTIN_CFLAGS_${arch} -fforce-enable-int128) - endif() - -diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h -index 48862f364217..cc47d3e33f67 100644 ---- a/compiler-rt/lib/builtins/int_types.h -+++ b/compiler-rt/lib/builtins/int_types.h -@@ -64,7 +64,7 @@ typedef union { - } udwords; - - #if defined(__LP64__) || defined(__wasm__) || defined(__mips64) || \ -- defined(__SIZEOF_INT128__) || defined(_WIN64) -+ defined(__SIZEOF_INT128__) || defined(_WIN64) || defined(__powerpc__) - #define CRT_HAS_128BIT - #endif - diff --git a/recipes-devtools/clang/clang/0028-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch b/recipes-devtools/clang/clang/0028-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch deleted file mode 100644 index 1afdf92..0000000 --- a/recipes-devtools/clang/clang/0028-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 4ff4be1d645e3390431435f82d7bb567bd8d890f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 12 Aug 2022 11:50:57 -0700 -Subject: [PATCH] llvm: Do not use cmake infra to detect libzstd - -OE's version is build using plain make not cmake as a result we do not -have the cmake support files and this probing method can get this info -from build host and force linking with libzstd from /usr/lib which is -not what we want when cross building. - -Fixes errors building llvm-config like -/usr/lib/libzstd.so.1.5.2: error adding symbols: file in wrong -format -| clang-15: error: linker command failed with exit code 1 (use -v to see invocation) -| ninja: build stopped: subcommand failed. - -Upstream-Status: Inappropriate [OE-Specific] -Signed-off-by: Khem Raj ---- - llvm/lib/Support/CMakeLists.txt | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt -index a6d8a2581886..5b461547bdde 100644 ---- a/llvm/lib/Support/CMakeLists.txt -+++ b/llvm/lib/Support/CMakeLists.txt -@@ -22,7 +22,7 @@ if (HAS_WERROR_GLOBAL_CTORS) - endif() - - if(LLVM_ENABLE_ZLIB) -- list(APPEND imported_libs ZLIB::ZLIB) -+ list(APPEND imported_libs z) - endif() - - if(LLVM_ENABLE_ZSTD) -@@ -34,7 +34,7 @@ if(LLVM_ENABLE_ZSTD) - endif() - - if(LLVM_ENABLE_ZSTD) -- list(APPEND imported_libs ${zstd_target}) -+ list(APPEND imported_libs zstd) - endif() - - if( WIN32 ) -@@ -325,7 +325,7 @@ if(LLVM_ENABLE_ZLIB) - get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) - endif() - get_library_name(${zlib_library} zlib_library) -- set(llvm_system_libs ${llvm_system_libs} "${zlib_library}") -+ set(llvm_system_libs ${llvm_system_libs} z) - endif() - - if(LLVM_ENABLE_ZSTD) -@@ -339,7 +339,7 @@ if(LLVM_ENABLE_ZSTD) - endif() - if (zstd_target STREQUAL zstd::libzstd_shared) - get_library_name(${zstd_library} zstd_library) -- set(llvm_system_libs ${llvm_system_libs} "${zstd_library}") -+ set(llvm_system_libs ${llvm_system_libs} zstd) - else() - set(llvm_system_libs ${llvm_system_libs} "${zstd_STATIC_LIBRARY}") - endif() diff --git a/recipes-devtools/clang/clang/0029-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch b/recipes-devtools/clang/clang/0029-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch deleted file mode 100644 index 52260bc..0000000 --- a/recipes-devtools/clang/clang/0029-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f097441a66563be067016760706e0266494db800 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 3 Jan 2023 18:44:34 -0800 -Subject: [PATCH] compiler-rt: Fix stat struct's size for O32 ABI - -stat struct size differs on glibc based on ABI choices e.g. 64bit off_t -and/or 64bit time_t will make this size different. Therefore separate -out the O32 case out, makes it more readable. - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - .../sanitizer_platform_limits_posix.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -index 1a7d9e64048e..854a87e17236 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -98,6 +98,18 @@ const unsigned struct_kernel_stat64_sz = 104; - const unsigned struct_kernel_stat_sz = 144; - const unsigned struct_kernel_stat64_sz = 104; - #elif defined(__mips__) -+#if defined(__mips_o32) // O32 ABI -+#if _TIME_BITS == 64 -+const unsigned struct_kernel_stat_sz = 112; -+const unsigned struct_kernel_stat64_sz = 112; -+#elif _FILE_OFFSET_BITS == 64 -+const unsigned struct_kernel_stat_sz = 160; -+const unsigned struct_kernel_stat64_sz = 160; -+#else -+const unsigned struct_kernel_stat_sz = 144; -+const unsigned struct_kernel_stat64_sz = 160; -+#endif -+#else // __mips_o32 - const unsigned struct_kernel_stat_sz = SANITIZER_ANDROID - ? FIRST_32_SECOND_64(104, 128) - # if defined(_ABIN32) && _MIPS_SIM == _ABIN32 -@@ -106,6 +118,7 @@ const unsigned struct_kernel_stat_sz = SANITIZER_ANDROID - : FIRST_32_SECOND_64(160, 216); - # endif - const unsigned struct_kernel_stat64_sz = 104; -+#endif - #elif defined(__s390__) && !defined(__s390x__) - const unsigned struct_kernel_stat_sz = 64; - const unsigned struct_kernel_stat64_sz = 104; diff --git a/recipes-devtools/clang/clang/0030-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch b/recipes-devtools/clang/clang/0030-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch deleted file mode 100644 index 8e36538..0000000 --- a/recipes-devtools/clang/clang/0030-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ae2ad23eefd3b8645f7b77431d621f918faea48a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 21 Feb 2023 12:46:10 -0800 -Subject: [PATCH] compiler-rt: Undef _TIME_BITS along with _FILE_OFFSET_BITS in - sanitizers - -On 32bit systems using 64bit time_t build fails because -_FILE_OFFSET_BITS is undefined here but _TIME_BITS is still set to 64 - -Fixes -In file included from compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp:17: -In file included from compiler-rt/lib/sanitizer_common/sanitizer_platform.h:25: -In file included from /usr/include/features.h:393: -/usr/include/features-time64.h:26:5: error: "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" - ^ -1 error generated. - -Upstream-Status: Submitted [https://reviews.llvm.org/D144514] -Signed-off-by: Khem Raj ---- - compiler-rt/lib/sanitizer_common/sanitizer_platform.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h -index 57966403c92a..efa83f30eca0 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h -@@ -22,6 +22,15 @@ - // function declarations into a .S file which doesn't compile. - // https://crbug.com/1162741 - #if __has_include() && !defined(__ANDROID__) -+// Some sources undefine _FILE_OFFSET_BITS deliberately e.g. -+// sanitizer_procmaps_solaris.cpp. This is problematic on glibc systems with -+// 32-bit architectures using 64-bit time_t and users passing _TIME_BITS=64 -+// from build environment, therefore both _FILE_OFFSET_BITS and _TIME_BITS -+// need to be undefined together since features.h will check for both being 64 -+// if one is set to 64. -+# if !defined(_FILE_OFFSET_BITS) -+# undef _TIME_BITS -+# endif - # include - #endif - diff --git a/recipes-devtools/clang/clang/0031-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch b/recipes-devtools/clang/clang/0031-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch deleted file mode 100644 index 764cf6e..0000000 --- a/recipes-devtools/clang/clang/0031-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 7d99373f68757b17fe88bcf24b978c2721bf181e Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Thu, 31 Aug 2023 18:14:47 +0200 -Subject: [PATCH] ToolChains/Gnu.cpp: ARMLibDirs search also in lib32 - -* in some strange multilib configs we build lib32-image where - 32bit libs are in /usr/lib32 and 64bit in /usr/lib64 but in such - setup the clang search for GCC candidate installation doesn't - check lib32 directory in sysroot and fails to find the installation - - X86LibDirs was already searching in lib32 for very long time: - https://github.com/llvm/llvm-project/commit/621fed5f5a051a0333415aaed75b8f2ed2350dbd - but ARMLibDirs didn't include it for some reason. - -* if we don't add lib32 for arm in getOSLibDir(), then it will - find -lgcc, crtbeginS.o, crtendS.o, but still fail to find - -lgcc_s, -lc, Scrt1.o, crti.o, crtn.o - -* fixes lib32-compiler-rt build failure: - --- Configuring incomplete, errors occurred! -CMake Error at TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native/usr/share/cmake-3.26/Modules/CMakeTestCCompiler.cmake:67 (message): - The C compiler - - "TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/arm-oemllib32-linux-gnueabi-clang" - - is not able to compile a simple test program. - - It fails with the following output: - - Change Dir: TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build/CMakeFiles/CMakeScratch/TryCompile-rWXyQZ - - Run Build Command(s):ninja -v cmTC_84d18 && [1/2] TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/arm-oemllib32-linux-gnueabi-clang --target=arm-oemllib32-linux-gnueabi --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -target arm-oemllib32-linux-gnueabi -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=softfp -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -funwind-tables -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -fPIE -MD -MT CMakeFiles/cmTC_84d18.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_84d18.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_84d18.dir/testCCompiler.c.o -c TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build/CMakeFiles/CMakeScratch/TryCompile-rWXyQZ/testCCompiler.c - [2/2] : && TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/arm-oemllib32-linux-gnueabi-clang --target=arm-oemllib32-linux-gnueabi --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -target arm-oemllib32-linux-gnueabi -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=softfp -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -funwind-tables -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -target arm-oemllib32-linux-gnueabi -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=softfp -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -funwind-tables -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -Wl,-z,relro,-z,now -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ -fuse-ld=lld -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -Wl,-z,relro,-z,now -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ -fuse-ld=lld CMakeFiles/cmTC_84d18.dir/testCCompiler.c.o -o cmTC_84d18 && : - FAILED: cmTC_84d18 - : && TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native/usr/bin/arm-oemllib32-linux-gnueabi/arm-oemllib32-linux-gnueabi-clang --target=arm-oemllib32-linux-gnueabi --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -target arm-oemllib32-linux-gnueabi -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=softfp -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -funwind-tables -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -target arm-oemllib32-linux-gnueabi -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=softfp -mlittle-endian --dyld-prefix=/usr -Qunused-arguments -funwind-tables -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -Wl,-z,relro,-z,now -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ -fuse-ld=lld -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work-shared/llvm-project-source-16.0.6-r0/git=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/build=/usr/src/debug/lib32-compiler-rt/16.0.6-r0 -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/lib32-recipe-sysroot= -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi4_64-oemllib32-linux-gnueabi/lib32-compiler-rt/16.0.6/recipe-sysroot-native= -Wl,-z,relro,-z,now -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ -fuse-ld=lld CMakeFiles/cmTC_84d18.dir/testCCompiler.c.o -o cmTC_84d18 && : - arm-oemllib32-linux-gnueabi-ld.lld: error: cannot open Scrt1.o: No such file or directory - arm-oemllib32-linux-gnueabi-ld.lld: error: cannot open crti.o: No such file or directory - arm-oemllib32-linux-gnueabi-ld.lld: error: cannot open crtbeginS.o: No such file or directory - arm-oemllib32-linux-gnueabi-ld.lld: error: unable to find library -lgcc - arm-oemllib32-linux-gnueabi-ld.lld: error: unable to find library -lgcc_s - arm-oemllib32-linux-gnueabi-ld.lld: error: unable to find library -lc - arm-oemllib32-linux-gnueabi-ld.lld: error: unable to find library -lgcc - arm-oemllib32-linux-gnueabi-ld.lld: error: unable to find library -lgcc_s - arm-oemllib32-linux-gnueabi-ld.lld: error: cannot open crtendS.o: No such file or directory - arm-oemllib32-linux-gnueabi-ld.lld: error: cannot open crtn.o: No such file or directory - clang-16: error: linker command failed with exit code 1 (use -v to see invocation) - ninja: build stopped: subcommand failed. - -Upstream-Status: Pending -Signed-off-by: Martin Jansa ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 2 +- - clang/lib/Driver/ToolChains/Linux.cpp | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 868d32f501e8..beed8d34a127 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2428,7 +2428,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( - static const char *const AArch64beLibDirs[] = {"/lib"}; - static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu"}; - -- static const char *const ARMLibDirs[] = {"/lib"}; -+ static const char *const ARMLibDirs[] = {"/lib", "/lib32"}; - static const char *const ARMTriples[] = {"arm-linux-gnueabi"}; - static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf", - "armv7hl-redhat-linux-gnueabi", -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index ec1705af3cbd..75b32624b778 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -199,6 +199,7 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { - // reasoning about oslibdir spellings with the lib dir spellings in the - // GCCInstallationDetector, but that is a more significant refactoring. - if (Triple.getArch() == llvm::Triple::x86 || Triple.isPPC32() || -+ Triple.getArch() == llvm::Triple::arm || Triple.getArch() == llvm::Triple::thumb || - Triple.getArch() == llvm::Triple::sparc) - return "lib32"; - diff --git a/recipes-devtools/clang/clang/0032-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch b/recipes-devtools/clang/clang/0032-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch deleted file mode 100644 index 27b4652..0000000 --- a/recipes-devtools/clang/clang/0032-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 28f2573afd688996d73476e50f61dda416236bda Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 3 Feb 2024 16:47:10 -0800 -Subject: [PATCH] clang/llvm: Add OE specific ABI triple for N32 ABI - -Its gnun32 when using OE - -Upstream-Status: Inappropriate [OE-Specific] -Signed-off-by: Khem Raj ---- - clang/lib/Driver/ToolChains/Gnu.cpp | 1 + - clang/lib/Driver/ToolChains/Linux.cpp | 4 ++-- - llvm/lib/TargetParser/Triple.cpp | 4 +++- - 3 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index beed8d34a127..c47b93a4e142 100644 ---- a/clang/lib/Driver/ToolChains/Gnu.cpp -+++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2491,6 +2491,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( - - static const char *const MIPSN32LibDirs[] = {"/lib32"}; - static const char *const MIPSN32Triples[] = {"mips64-linux-gnuabin32", -+ "mips64-linux-gnun32", - "mipsisa64r6-linux-gnuabin32"}; - static const char *const MIPSN32ELLibDirs[] = {"/lib32"}; - static const char *const MIPSN32ELTriples[] = { -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 75b32624b778..b1d9c171df81 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -139,7 +139,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, - return IsMipsR6 ? "mipsisa32r6el-linux-gnu" : "mipsel-linux-gnu"; - case llvm::Triple::mips64: { - std::string MT = std::string(IsMipsR6 ? "mipsisa64r6" : "mips64") + -- "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64"); -+ "-linux-" + (IsMipsN32Abi ? "gnun32" : "gnu"); - if (D.getVFS().exists(concat(SysRoot, "/lib", MT))) - return MT; - if (D.getVFS().exists(concat(SysRoot, "/lib/mips64-linux-gnu"))) -@@ -148,7 +148,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, - } - case llvm::Triple::mips64el: { - std::string MT = std::string(IsMipsR6 ? "mipsisa64r6el" : "mips64el") + -- "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64"); -+ "-linux-" + (IsMipsN32Abi ? "gnun32" : "gnu"); - if (D.getVFS().exists(concat(SysRoot, "/lib", MT))) - return MT; - if (D.getVFS().exists(concat(SysRoot, "/lib/mips64el-linux-gnu"))) -diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp -index 97f426dd863b..dc57d5ff2d4a 100644 ---- a/llvm/lib/TargetParser/Triple.cpp -+++ b/llvm/lib/TargetParser/Triple.cpp -@@ -336,7 +336,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) { - case GNU: return "gnu"; - case GNUT64: return "gnut64"; - case GNUABI64: return "gnuabi64"; -- case GNUABIN32: return "gnuabin32"; -+ case GNUABIN32: return "gnun32"; - case GNUEABI: return "gnueabi"; - case GNUEABIT64: return "gnueabit64"; - case GNUEABIHF: return "gnueabihf"; -@@ -719,6 +719,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) { - .StartsWith("eabihf", Triple::EABIHF) - .StartsWith("eabi", Triple::EABI) - .StartsWith("gnuabin32", Triple::GNUABIN32) -+ .StartsWith("gnun32", Triple::GNUABIN32) - .StartsWith("gnuabi64", Triple::GNUABI64) - .StartsWith("gnueabihft64", Triple::GNUEABIHFT64) - .StartsWith("gnueabihf", Triple::GNUEABIHF) -@@ -1035,6 +1036,7 @@ Triple::Triple(const Twine &Str) - Environment = - StringSwitch(Components[0]) - .StartsWith("mipsn32", Triple::GNUABIN32) -+ .StartsWith("mips64-n32", Triple::GNUABIN32) - .StartsWith("mips64", Triple::GNUABI64) - .StartsWith("mipsisa64", Triple::GNUABI64) - .StartsWith("mipsisa32", Triple::GNU) diff --git a/recipes-devtools/clang/clang/0033-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch b/recipes-devtools/clang/clang/0033-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch deleted file mode 100644 index 37fa818..0000000 --- a/recipes-devtools/clang/clang/0033-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch +++ /dev/null @@ -1,93 +0,0 @@ -From c826b0d4aff98d44672ded6be2f6b04b15554e3f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 14 May 2024 22:04:43 -0700 -Subject: [PATCH] llvm: Add libunwind.pc.in and llvm-config scripts - -These are added by OE project - -Upstream-Status: Inappropriate [ OE-Specific ] - -Signed-off-by: Khem Raj ---- - libunwind/libunwind.pc.in | 9 ++++++ - llvm/tools/llvm-config/llvm-config | 52 ++++++++++++++++++++++++++++++ - 2 files changed, 61 insertions(+) - create mode 100644 libunwind/libunwind.pc.in - create mode 100644 llvm/tools/llvm-config/llvm-config - -diff --git a/libunwind/libunwind.pc.in b/libunwind/libunwind.pc.in -new file mode 100644 -index 000000000000..a93d676604f9 ---- /dev/null -+++ b/libunwind/libunwind.pc.in -@@ -0,0 +1,9 @@ -+prefix=/usr -+exec_prefix=/usr -+libdir=@LIBDIR@ -+includedir=/usr/include -+ -+Name: libunwind -+Description: libunwind base library -+Version: @VERSION@ -+Libs: -lunwind -diff --git a/llvm/tools/llvm-config/llvm-config b/llvm/tools/llvm-config/llvm-config -new file mode 100644 -index 000000000000..6a0dd54b8eab ---- /dev/null -+++ b/llvm/tools/llvm-config/llvm-config -@@ -0,0 +1,55 @@ -+#!/bin/bash -+# -+# Wrapper script for llvm-config. Supplies the right environment variables -+# for the target and delegates to the native llvm-config for anything else. This -+# is needed because arguments like --ldflags, --cxxflags, etc. are set by the -+# native compile rather than the target compile. -+# -+SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" -+NEXT_LLVM_CONFIG="$(which -a llvm-config | sed -n 2p)" -+export YOCTO_ALTERNATE_EXE_PATH="${YOCTO_ALTERNATE_EXE_PATH:="$(readlink -f "$SCRIPT_DIR/../llvm-config")"}" -+if [ -n "$( echo $base_libdir | sed -n '/lib64/p')" ]; then -+ export YOCTO_ALTERNATE_LIBDIR="${YOCTO_ALTERNATE_LIBDIR:="/lib64"}" -+else -+ export YOCTO_ALTERNATE_LIBDIR="${YOCTO_ALTERNATE_LIBDIR:="/lib"}" -+fi -+if [[ $# == 0 ]]; then -+ exec "$NEXT_LLVM_CONFIG" -+fi -+ -+remain="" -+output="" -+for arg in "$@"; do -+ case "$arg" in -+ --cppflags) -+ output="${output} ${CPPFLAGS}" -+ ;; -+ --cflags) -+ output="${output} ${CFLAGS}" -+ ;; -+ --cxxflags) -+ output="${output} ${CXXFLAGS}" -+ ;; -+ --libdir) -+ output="${output} ${libdir}" -+ ;; -+ --ldflags) -+ output="${output} ${LDFLAGS}" -+ ;; -+ --shared-mode) -+ output="${output} shared" -+ ;; -+ --link-shared) -+ break -+ ;; -+ *) -+ remain="${remain} ${arg}" -+ ;; -+ esac -+done -+ -+if [ "${remain}" != "" ]; then -+ output="${output} "$("$NEXT_LLVM_CONFIG" ${remain}) -+fi -+ -+echo "${output}" diff --git a/recipes-devtools/clang/clang/0034-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch b/recipes-devtools/clang/clang/0034-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch deleted file mode 100644 index da32f37..0000000 --- a/recipes-devtools/clang/clang/0034-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch +++ /dev/null @@ -1,92 +0,0 @@ -From eab8305134f5b43204ac2c7976c90741d93da70f Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Fri, 13 Sep 2024 13:38:08 +0200 -Subject: [PATCH] scan-build-py: respect LLVM_LIBDIR_SUFFIX like other tools do - -* other libraries are installed in 'lib64' or 'lib32' based on - LLVM_LIBDIR_SUFFIX value, but libscanbuild files were always - installed in 'lib' - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/108549] - -Signed-off-by: Martin Jansa ---- - clang/tools/scan-build-py/CMakeLists.txt | 38 ++++++++++++------------ - 1 file changed, 19 insertions(+), 19 deletions(-) - -diff --git a/clang/tools/scan-build-py/CMakeLists.txt b/clang/tools/scan-build-py/CMakeLists.txt -index 9273eb5ed977..9033786d2da5 100644 ---- a/clang/tools/scan-build-py/CMakeLists.txt -+++ b/clang/tools/scan-build-py/CMakeLists.txt -@@ -77,52 +77,52 @@ foreach(lib ${LibExecs}) - endforeach() - - foreach(lib ${LibScanbuild}) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib} -+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/${lib} - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib/libscanbuild -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib} -- ${CMAKE_BINARY_DIR}/lib/libscanbuild/ -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) -- list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) -+ list(APPEND Depends ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/${lib}) - install(FILES lib/libscanbuild/${lib} -- DESTINATION lib/libscanbuild -+ DESTINATION lib${LLVM_LIBDIR_SUFFIX}/libscanbuild - COMPONENT scan-build-py) - endforeach() - - foreach(resource ${LibScanbuildResources}) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource} -+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources/${resource} - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib/libscanbuild -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource} -- ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) -- list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) -+ list(APPEND Depends ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources/${resource}) - install(FILES lib/libscanbuild/resources/${resource} -- DESTINATION lib/libscanbuild/resources -+ DESTINATION lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources - COMPONENT scan-build-py) - endforeach() - - foreach(lib ${LibEar}) -- add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libear/${lib} -+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/${lib} - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} - COMMAND ${CMAKE_COMMAND} -E make_directory -- ${CMAKE_BINARY_DIR}/lib/libear -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib} -- ${CMAKE_BINARY_DIR}/lib/libear/ -+ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) -- list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) -+ list(APPEND Depends ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/${lib}) - install(FILES lib/libear/${lib} -- DESTINATION lib/libear -+ DESTINATION lib${LLVM_LIBDIR_SUFFIX}/libear - COMPONENT scan-build-py) - endforeach() - diff --git a/recipes-devtools/clang/clang/0035-compiler-rt-Do-not-pass-target-to-clang-compiler.patch b/recipes-devtools/clang/clang/0035-compiler-rt-Do-not-pass-target-to-clang-compiler.patch deleted file mode 100644 index c454327..0000000 --- a/recipes-devtools/clang/clang/0035-compiler-rt-Do-not-pass-target-to-clang-compiler.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7e387310a4904eaf2c83b781b95c8cf60243c332 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 13 Mar 2025 00:30:38 -0700 -Subject: [PATCH] compiler-rt: Do not pass --target to clang compiler - -In OE we use -clang and -clang++ which -should resolve the --target correctly. - -Upstream-Status: Inappropriate [ OE-Specific ] -Signed-off-by: Khem Raj ---- - compiler-rt/lib/fuzzer/CMakeLists.txt | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/compiler-rt/lib/fuzzer/CMakeLists.txt b/compiler-rt/lib/fuzzer/CMakeLists.txt -index 6db24610df1f..692e194c2a98 100644 ---- a/compiler-rt/lib/fuzzer/CMakeLists.txt -+++ b/compiler-rt/lib/fuzzer/CMakeLists.txt -@@ -140,10 +140,6 @@ if(OS_NAME MATCHES "Android|Linux|Fuchsia" AND - COMPILER_RT_LIBCXXABI_PATH) - macro(partially_link_libcxx name dir arch) - get_target_flags_for_arch(${arch} target_cflags) -- if(CMAKE_CXX_COMPILER_ID MATCHES Clang) -- get_compiler_rt_target(${arch} target) -- set(target_cflags --target=${target} ${target_cflags}) -- endif() - set(cxx_${arch}_merge_dir "${CMAKE_CURRENT_BINARY_DIR}/cxx_${arch}_merge.dir") - file(MAKE_DIRECTORY ${cxx_${arch}_merge_dir}) - add_custom_command(TARGET clang_rt.${name}-${arch} POST_BUILD diff --git a/recipes-devtools/clang/clang/0036-Fix-build-on-ppc64-musl.patch b/recipes-devtools/clang/clang/0036-Fix-build-on-ppc64-musl.patch deleted file mode 100644 index 3abee7e..0000000 --- a/recipes-devtools/clang/clang/0036-Fix-build-on-ppc64-musl.patch +++ /dev/null @@ -1,97 +0,0 @@ -From a930a513c42524842931ec9dea7d16728f095043 Mon Sep 17 00:00:00 2001 -From: mojyack -Date: Mon, 16 Dec 2024 13:42:04 +0900 -Subject: [PATCH] Fix build on ppc64+musl - -In powerpc64-unknown-linux-musl, signal.h does not include asm/ptrace.h, -which causes "member access into incomplete type 'struct pt_regs'" errors. -Include the header explicitly to fix this. - -Also in sanitizer_linux_libcdep.cpp, there is a usage of -TlsPreTcbSize which is not defined in such a platform. -Guard the branch with macro. - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/120036] -Signed-off-by: Khem Raj ---- - .../lib/sanitizer_common/sanitizer_linux.cpp | 4 ++++ - .../sanitizer_common/sanitizer_linux_libcdep.cpp | 13 +++++++------ - .../sanitizer_platform_limits_posix.cpp | 2 +- - .../sanitizer_stoptheworld_linux_libcdep.cpp | 3 ++- - 4 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp -index 7aa48d29d2d5..a4d526b4466c 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp -@@ -86,6 +86,10 @@ - # include - # endif - -+# if SANITIZER_LINUX && defined(__powerpc64__) -+# include -+# endif -+ - # if SANITIZER_FREEBSD - # include - # include -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp -index e11eff13cd32..331e1c7d8d15 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp -@@ -619,21 +619,22 @@ static void GetTls(uptr *addr, uptr *size) { - *addr = tp - RoundUpTo(*size, align); - *size = tp - *addr + ThreadDescriptorSize(); - # else -- if (SANITIZER_GLIBC) -- *size += 1664; -- else if (SANITIZER_FREEBSD) -- *size += 128; // RTLD_STATIC_TLS_EXTRA --# if defined(__mips__) || defined(__powerpc64__) || SANITIZER_RISCV64 -+# if SANITIZER_GLIBC -+ *size += 1664; -+# elif SANITIZER_FREEBSD -+ *size += 128; // RTLD_STATIC_TLS_EXTRA -+# if defined(__mips__) || defined(__powerpc64__) || SANITIZER_RISCV64 - const uptr pre_tcb_size = TlsPreTcbSize(); - *addr -= pre_tcb_size; - *size += pre_tcb_size; --# else -+# else - // arm and aarch64 reserve two words at TP, so this underestimates the range. - // However, this is sufficient for the purpose of finding the pointers to - // thread-specific data keys. - const uptr tcb_size = ThreadDescriptorSize(); - *addr -= tcb_size; - *size += tcb_size; -+# endif - # endif - # endif - # elif SANITIZER_NETBSD -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -index a5311d266b0c..ec5f2edab6a6 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -96,7 +96,7 @@ - # include - # if defined(__mips64) || defined(__aarch64__) || defined(__arm__) || \ - defined(__hexagon__) || defined(__loongarch__) || SANITIZER_RISCV64 || \ -- defined(__sparc__) -+ defined(__sparc__) || defined(__powerpc64__) - # include - # ifdef __arm__ - typedef struct user_fpregs elf_fpregset_t; -diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp -index 945da99d41f4..58d17d90c343 100644 ---- a/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp -+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp -@@ -31,7 +31,8 @@ - #include // for pid_t - #include // for iovec - #include // for NT_PRSTATUS --#if (defined(__aarch64__) || SANITIZER_RISCV64 || SANITIZER_LOONGARCH64) && \ -+#if (defined(__aarch64__) || defined(__powerpc64__) || \ -+ SANITIZER_RISCV64 || SANITIZER_LOONGARCH64) && \ - !SANITIZER_ANDROID - // GLIBC 2.20+ sys/user does not include asm/ptrace.h - # include diff --git a/recipes-devtools/clang/clang/0037-clangd-Add-a-build-option-to-disable-building-dexp.patch b/recipes-devtools/clang/clang/0037-clangd-Add-a-build-option-to-disable-building-dexp.patch deleted file mode 100644 index 3851488..0000000 --- a/recipes-devtools/clang/clang/0037-clangd-Add-a-build-option-to-disable-building-dexp.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 8001f900e602c0a8abcf118bda5869a2eb0d5ee9 Mon Sep 17 00:00:00 2001 -From: Yoann Congal -Date: Tue, 25 Mar 2025 22:25:55 +0100 -Subject: [PATCH] clangd: Add a build option to disable building dexp - -Building dexp on Debian 11 currently causes intermittent failure[0][1]. - -Adding the CLANGD_BUILD_DEXP option to disable dexp from the build -allows Debian 11 users to build clang (albeit without the dexp tool). - -This option is set to "Build Dexp" by default so, no change is expected -without manual setting. - -[0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803 -[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101322 - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/133124] -Signed-off-by: Yoann Congal ---- - clang-tools-extra/clangd/CMakeLists.txt | 8 +++++++- - clang-tools-extra/clangd/test/CMakeLists.txt | 7 +++++-- - clang-tools-extra/clangd/test/lit.site.cfg.py.in | 1 + - 3 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/clang-tools-extra/clangd/CMakeLists.txt b/clang-tools-extra/clangd/CMakeLists.txt -index 6f10afe4a562..a1e9da41b4b3 100644 ---- a/clang-tools-extra/clangd/CMakeLists.txt -+++ b/clang-tools-extra/clangd/CMakeLists.txt -@@ -210,6 +210,9 @@ if (CLANGD_ENABLE_REMOTE) - include(AddGRPC) - endif() - -+option(CLANGD_BUILD_DEXP "Build the dexp tool as part of Clangd" ON) -+llvm_canonicalize_cmake_booleans(CLANGD_BUILD_DEXP) -+ - if(CLANG_INCLUDE_TESTS) - add_subdirectory(test) - add_subdirectory(unittests) -@@ -220,4 +223,7 @@ option(CLANGD_ENABLE_REMOTE "Use gRPC library to enable remote index support for - set(GRPC_INSTALL_PATH "" CACHE PATH "Path to gRPC library manual installation.") - - add_subdirectory(index/remote) --add_subdirectory(index/dex/dexp) -+ -+if(CLANGD_BUILD_DEXP) -+ add_subdirectory(index/dex/dexp) -+endif() -diff --git a/clang-tools-extra/clangd/test/CMakeLists.txt b/clang-tools-extra/clangd/test/CMakeLists.txt -index b51f461a4986..42fc3506641f 100644 ---- a/clang-tools-extra/clangd/test/CMakeLists.txt -+++ b/clang-tools-extra/clangd/test/CMakeLists.txt -@@ -3,8 +3,6 @@ set(CLANGD_TEST_DEPS - ClangdTests - clangd-indexer - split-file -- # No tests for it, but we should still make sure they build. -- dexp - ) - - if(CLANGD_BUILD_XPC) -@@ -12,6 +10,11 @@ if(CLANGD_BUILD_XPC) - list(APPEND CLANGD_TEST_DEPS ClangdXpcUnitTests) - endif() - -+if(CLANGD_BUILD_DEXP) -+ # No tests for it, but we should still make sure they build. -+ list(APPEND CLANGD_TEST_DEPS dexp) -+endif() -+ - if(CLANGD_ENABLE_REMOTE) - list(APPEND CLANGD_TEST_DEPS clangd-index-server clangd-index-server-monitor) - endif() -diff --git a/clang-tools-extra/clangd/test/lit.site.cfg.py.in b/clang-tools-extra/clangd/test/lit.site.cfg.py.in -index 1fe7c8d0f324..a0bb3561e19e 100644 ---- a/clang-tools-extra/clangd/test/lit.site.cfg.py.in -+++ b/clang-tools-extra/clangd/test/lit.site.cfg.py.in -@@ -15,6 +15,7 @@ config.llvm_shlib_dir = "@SHLIBDIR@" - config.clangd_source_dir = "@CMAKE_CURRENT_SOURCE_DIR@/.." - config.clangd_binary_dir = "@CMAKE_CURRENT_BINARY_DIR@/.." - config.clangd_build_xpc = @CLANGD_BUILD_XPC@ -+config.clangd_build_dexp = @CLANGD_BUILD_DEXP@ - config.clangd_enable_remote = @CLANGD_ENABLE_REMOTE@ - config.clangd_tidy_checks = @CLANGD_TIDY_CHECKS@ - config.have_zlib = @LLVM_ENABLE_ZLIB@ diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb deleted file mode 100644 index 6e2817c..0000000 --- a/recipes-devtools/clang/clang_git.bb +++ /dev/null @@ -1,499 +0,0 @@ -# Copyright (C) 2014 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "LLVM based C/C++ compiler" -DESCRIPTION = "Clang is an LLVM based C/C++/Objective-C compiler, \ - which aims to deliver amazingly fast compiles, \ - extremely useful error and warning messages and \ - to provide a platform for building great source \ - level tools. The Clang Static Analyzer and \ - clang-tidy are tools that automatically find bugs \ - in your code, and are great examples of the sort \ - of tools that can be built using the Clang frontend \ - as a library to parse C/C++ code" -HOMEPAGE = "http://clang.llvm.org/" -SECTION = "devel" - -require clang.inc -require common-source.inc - -INHIBIT_DEFAULT_DEPS = "1" - -BUILD_CC:class-nativesdk = "clang" -BUILD_CXX:class-nativesdk = "clang++" -BUILD_AR:class-nativesdk = "llvm-ar" -BUILD_RANLIB:class-nativesdk = "llvm-ranlib" -BUILD_NM:class-nativesdk = "llvm-nm" - -BUILDSDK_CPPFLAGS:append:class-nativesdk = "${@oe.utils.vartrue('DEBUG_BUILD', ' -Wno-error=unused-command-line-argument', '', d)}" - -LDFLAGS:remove:class-nativesdk = "-fuse-ld=lld" - -LDFLAGS:append:class-target:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" -LDFLAGS:append:class-target:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed" - -inherit cmake cmake-native pkgconfig python3native python3targetconfig - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" - -def get_clang_arch(bb, d, arch_var): - import re - a = d.getVar(arch_var) - if re.match('(i.86|athlon|x86.64)$', a): return 'X86' - elif re.match('arm$', a): return 'ARM' - elif re.match('armeb$', a): return 'ARM' - elif re.match('aarch64$', a): return 'AArch64' - elif re.match('aarch64_be$', a): return 'AArch64' - elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips' - elif re.match('riscv32$', a): return 'riscv32' - elif re.match('riscv64$', a): return 'riscv64' - elif re.match('p(pc|owerpc)(|64)', a): return 'PowerPC' - elif re.match('loongarch64$', a): return 'loongarch64' - else: - bb.note("'%s' is not a primary llvm architecture" % a) - return "" - -def get_clang_host_arch(bb, d): - return get_clang_arch(bb, d, 'HOST_ARCH') - -def get_clang_target_arch(bb, d): - return get_clang_arch(bb, d, 'TARGET_ARCH') - -PACKAGECONFIG_CLANG_COMMON = "build-id eh libedit rtti shared-libs \ - ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcplusplus libomp unwindlib', '', d)} \ - " - -PACKAGECONFIG ??= "compiler-rt libcplusplus lldb-wchar terminfo \ - ${PACKAGECONFIG_CLANG_COMMON} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'lto thin-lto', d)} \ - " -PACKAGECONFIG:class-native = "clangd \ - ${PACKAGECONFIG_CLANG_COMMON} \ - " -PACKAGECONFIG:class-nativesdk = "clangd \ - ${PACKAGECONFIG_CLANG_COMMON} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'lto thin-lto', d)} \ - " - -PACKAGECONFIG[bootstrap] = "-DCLANG_ENABLE_BOOTSTRAP=On -DCLANG_BOOTSTRAP_PASSTHROUGH='${PASSTHROUGH}' -DBOOTSTRAP_LLVM_ENABLE_LTO=Thin -DBOOTSTRAP_LLVM_ENABLE_LLD=ON,,," -PACKAGECONFIG[build-id] = "-DENABLE_LINKER_BUILD_ID=ON,-DENABLE_LINKER_BUILD_ID=OFF,," -PACKAGECONFIG[clangd] = "-DCLANG_ENABLE_CLANGD=ON,-DCLANG_ENABLE_CLANGD=OFF,," - -# Activate to build the dexp tool in clangd -# Disabled by default for -native since it is known to trigger compiler failure on Debian 11 -# See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803 -PACKAGECONFIG[clangd-dexp] = "-DCLANGD_BUILD_DEXP=ON,-DCLANGD_BUILD_DEXP=OFF,," - -PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,," -PACKAGECONFIG[eh] = "-DLLVM_ENABLE_EH=ON,-DLLVM_ENABLE_EH=OFF,," -PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,," -PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON -DLLDB_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF -DLLDB_ENABLE_LIBEDIT=OFF,libedit libedit-native" -PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,," -PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,," -PACKAGECONFIG[lldb-lua] = "-DLLDB_ENABLE_LUA=ON,-DLLDB_ENABLE_LUA=OFF,lua" -PACKAGECONFIG[lldb-wchar] = "-DLLDB_EDITLINE_USE_WCHAR=1,-DLLDB_EDITLINE_USE_WCHAR=0," -PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," -PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," -PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF,," -PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," -PACKAGECONFIG[split-dwarf] = "-DLLVM_USE_SPLIT_DWARF=ON,-DLLVM_USE_SPLIT_DWARF=OFF,," -PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON -DCOMPILER_RT_TERMINFO_LIB=ON,-DLLVM_ENABLE_TERMINFO=OFF -DCOMPILER_RT_TERMINFO_LIB=OFF,ncurses," -PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," -PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,," - -OECMAKE_SOURCEPATH = "${S}/llvm" - -OECMAKE_TARGET_COMPILE = "${@bb.utils.contains('PACKAGECONFIG', 'bootstrap', 'stage2', 'all', d)}" -OECMAKE_TARGET_INSTALL = "${@bb.utils.contains('PACKAGECONFIG', 'bootstrap', 'stage2-install', 'install', d)}" -BINPATHPREFIX = "${@bb.utils.contains('PACKAGECONFIG', 'bootstrap', '/tools/clang/stage2-bins/NATIVE', '', d)}" - -PASSTHROUGH = "\ -CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_BUILD_LLVM_DYLIB;LLVM_LINK_LLVM_DYLIB;\ -LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ -LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ -LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ -CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_ENABLE_RUNTIMES;LLVM_BINUTILS_INCDIR;\ -LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ -PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ -LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;LLDB_PYTHON_EXE_RELATIVE_PATH;\ -LLDB_PYTHON_EXT_SUFFIX;CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\ -CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_UNWINDLIB;\ -CLANG_DEFAULT_OPENMP_RUNTIME;LLVM_ENABLE_PER_TARGET_RUNTIME_DIR;\ -LLVM_BUILD_TOOLS;LLVM_USE_HOST_TOOLS;LLVM_CONFIG_PATH;\ -" -# -# Default to build all OE-Core supported target arches (user overridable). -# Gennerally setting LLVM_TARGETS_TO_BUILD = "" in local.conf is ok in most simple situations -# where only one target architecture is needed along with just one build arch (usually X86) -# -LLVM_TARGETS_TO_BUILD ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86;LoongArch;NVPTX;SPIRV" - -LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" - -HF = "" -HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" -HF[vardepvalue] = "${HF}" - -# Ensure that LLVM_PROJECTS does not contain compiler runtime components e.g. libcxx etc -# they are enabled via LLVM_ENABLE_RUNTIMES -LLVM_PROJECTS ?= "clang;clang-tools-extra;lld${LLDB}" -LLDB ?= ";lldb" -# LLDB support for RISCV32/Mips32 does not work yet -LLDB:riscv32 = "" -LLDB:mips = "" -LLDB:mipsel = "" -LLDB:powerpc = "" - -# linux hosts (.so) on Windows .pyd -SOLIBSDEV:mingw32 = ".pyd" - -#CMAKE_VERBOSE = "VERBOSE=1" - -EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ - -DLLVM_APPEND_VC_REV=OFF \ - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ - -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ - -DLLVM_ENABLE_PIC=ON \ - -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ - -DLLVM_BINDINGS_LIST='' \ - -DLLVM_ENABLE_FFI=ON \ - -DLLVM_ENABLE_ZSTD=ON \ - -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ - -DLLVM_OPTIMIZED_TABLEGEN=ON \ - -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ - -DCMAKE_SYSTEM_NAME=Linux \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS_RELEASE='${CXXFLAGS} -DNDEBUG -g0' \ - -DCMAKE_C_FLAGS_RELEASE='${CFLAGS} -DNDEBUG -g0' \ - -DBUILD_SHARED_LIBS=OFF \ - -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \ - -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \ - -DLLVM_VERSION_SUFFIX='${VER_SUFFIX}' \ - -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ - -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ -" - -EXTRA_OECMAKE:append:class-native = "\ - -DPYTHON_EXECUTABLE='${PYTHON}' \ -" -EXTRA_OECMAKE:append:class-nativesdk = "\ - -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \ - -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \ - -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \ - -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ - -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \ - -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \ - -DLLVM_HEADERS_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-min-tblgen \ - -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ - -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \ - -DLLDB_PYTHON_EXE_RELATIVE_PATH=${PYTHON_PN} \ - -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \ - -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \ - -DPYTHON_EXECUTABLE='${PYTHON}' \ -" -EXTRA_OECMAKE:append:class-target = "\ - -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \ - -DLLVM_HEADERS_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-min-tblgen \ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ - -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \ - -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ - -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \ - -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \ - -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ - -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \ - -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ - -DLLDB_PYTHON_RELATIVE_PATH=${PYTHON_SITEPACKAGES_DIR} \ - -DLLDB_PYTHON_EXE_RELATIVE_PATH=${bindir} \ - -DLLDB_PYTHON_EXT_SUFFIX=${SOLIBSDEV} \ -" - -DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native ninja-native swig-native" -DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_SYS} virtual/nativesdk-cross-binutils nativesdk-python3" -DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} python3 compiler-rt libcxx" - -RRECOMMENDS:${PN} = "binutils" -RRECOMMENDS:${PN}:append:class-target = " libcxx-dev" - -# patch out build host paths for reproducibility -reproducible_build_variables() { - sed -i -e "s,${DEBUG_PREFIX_MAP},,g" \ - -e "s,--sysroot=${RECIPE_SYSROOT},,g" \ - -e "s,${STAGING_DIR_HOST},,g" \ - -e "s,${S}/llvm,,g" \ - -e "s,${B},,g" \ - ${B}/tools/llvm-config/BuildVariables.inc -} - -do_configure:append:class-target() { - reproducible_build_variables -} - -do_configure:append:class-nativesdk() { - reproducible_build_variables -} - -do_install:append() { - rm -rf ${D}${libdir}/python*/site-packages/six.py - for t in clang-pseudo clang-pseudo-gen clang-rename; do - if [ -e ${B}${BINPATHPREFIX}/bin/$t ]; then - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/$t ${D}${bindir}/$t - fi - done -} - -do_install:append:class-target () { - # Allow bin path to change based on YOCTO_ALTERNATE_EXE_PATH - sed -i 's;${_IMPORT_PREFIX}/bin;${_IMPORT_PREFIX_BIN};g' ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake - - # Insert function to populate Import Variables - sed -i "4i\ -if(DEFINED ENV{YOCTO_ALTERNATE_EXE_PATH})\n\ - execute_process(COMMAND \"llvm-config\" \"--bindir\" OUTPUT_VARIABLE _IMPORT_PREFIX_BIN OUTPUT_STRIP_TRAILING_WHITESPACE)\n\ -else()\n\ - set(_IMPORT_PREFIX_BIN \"\${_IMPORT_PREFIX}/bin\")\n\ -endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake - - if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then - mkdir -p ${D}${nonarch_libdir} - mv ${D}${libdir}/clang ${D}${nonarch_libdir}/clang - ln -rs ${D}${nonarch_libdir}/clang ${D}${libdir}/clang - rmdir --ignore-fail-on-non-empty ${D}${libdir} - fi - for t in clang clang++ llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump llvm-readelf \ - llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov; do - ln -sf $t ${D}${bindir}/${TARGET_PREFIX}$t - done - - # reproducibility - sed -i -e 's,${B},,g' ${D}${libdir}/cmake/llvm/LLVMConfig.cmake -} - -do_install:append:class-native () { - if ${@bb.utils.contains('PACKAGECONFIG', 'clangd', 'true', 'false', d)}; then - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clangd-indexer ${D}${bindir}/clangd-indexer - fi - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/lldb-tblgen ${D}${bindir}/lldb-tblgen - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/llvm-min-tblgen ${D}${bindir}/llvm-min-tblgen - for f in `find ${D}${bindir} -executable -type f -not -type l`; do - test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f - echo "stripped $f" - done - ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV} - ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} - ln -sf llvm-config ${D}${bindir}/llvm-config${PV} - - if ${@ 'false' if 'llvm' in d.getVar('PROVIDES') or '' else 'true' } ; then - for f in bugpoint dsymutil llc lli opt reduce-chunk-list sancov sanstats verify-uselistorder ; do - rm -f ${D}${bindir}/$f - done - rm -f ${D}${bindir}/llvm-* - - rm -rf ${D}${includedir}/llvm - rm -rf ${D}${includedir}/llvm-c - rm -rf ${D}${libdir}/cmake/llvm - rm -rf ${D}${libdir}/libLLVM* - rm -rf ${D}${libdir}/libLTO* - rm -rf ${D}${libdir}/libRemarks* - fi -} - -do_install:append:class-nativesdk () { - if [ -e ${D}${libdir}/cmake/llvm/LLVMConfig.cmake ] ; then - sed -i -e "s|${B}/./bin/||g" ${D}${libdir}/cmake/llvm/LLVMConfig.cmake - fi - if ${@bb.utils.contains('PACKAGECONFIG', 'clangd', 'true', 'false', d)}; then - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clangd-indexer ${D}${bindir}/clangd-indexer - fi - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tblgen ${D}${bindir}/clang-tblgen - install -Dm 0755 ${B}${BINPATHPREFIX}/bin/clang-tidy-confusable-chars-gen ${D}${bindir}/clang-tidy-confusable-chars-gen - for f in `find ${D}${bindir} -executable -type f -not -type l`; do - test -n "`file -b $f|grep -i ELF`" && ${STRIP} $f - done - ln -sf clang-tblgen ${D}${bindir}/clang-tblgen${PV} - ln -sf llvm-tblgen ${D}${bindir}/llvm-tblgen${PV} - ln -sf llvm-config ${D}${bindir}/llvm-config${PV} - rm -rf ${D}${datadir}/llvm/cmake - rm -rf ${D}${datadir}/llvm - - #reproducibility - if [ -e ${D}${libdir}/cmake/llvm/LLVMConfig.cmake ] ; then - sed -i -e 's,${B},,g' ${D}${libdir}/cmake/llvm/LLVMConfig.cmake - fi -} - -PACKAGES =+ "${PN}-libllvm ${PN}-lldb-python ${PN}-libclang-cpp ${PN}-tidy ${PN}-format ${PN}-tools \ - libclang lldb lldb-server liblldb llvm-linker-tools" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS:lldb += "${PN}-lldb-python lldb-server" - -RDEPENDS:${PN}-tools += "\ - perl-module-digest-md5 \ - perl-module-file-basename \ - perl-module-file-copy \ - perl-module-file-find \ - perl-module-file-path \ - perl-module-findbin \ - perl-module-hash-util \ - perl-module-sys-hostname \ - perl-module-term-ansicolor \ -" - -RRECOMMENDS:${PN}-tidy += "${PN}-tools" - -FILES:llvm-linker-tools = "${libdir}/LLVMgold* ${libdir}/libLTO.so.* ${libdir}/LLVMPolly*" - -FILES:${PN}-libclang-cpp = "${libdir}/libclang-cpp.so.*" - -FILES:${PN}-lldb-python = "${libdir}/python*/site-packages/lldb/*" - -FILES:${PN}-tidy = "${bindir}/*clang-tidy*" -FILES:${PN}-format = "${bindir}/*clang-format*" - -FILES:${PN}-tools = "${bindir}/analyze-build \ - ${bindir}/c-index-test \ - ${bindir}/clang-apply-replacements \ - ${bindir}/clang-change-namespace \ - ${bindir}/clang-check \ - ${bindir}/clang-doc \ - ${bindir}/clang-extdef-mapping \ - ${bindir}/clang-include-fixer \ - ${bindir}/clang-linker-wrapper \ - ${bindir}/clang-move \ - ${bindir}/clang-nvlink-wrapper \ - ${bindir}/clang-offload-bundler \ - ${bindir}/clang-offload-packager \ - ${bindir}/clang-pseudo* \ - ${bindir}/clang-query \ - ${bindir}/clang-refactor \ - ${bindir}/clang-rename* \ - ${bindir}/clang-reorder-fields \ - ${bindir}/clang-repl \ - ${bindir}/clang-scan-deps \ - ${bindir}/diagtool \ - ${bindir}/find-all-symbols \ - ${bindir}/hmaptool \ - ${bindir}/hwasan_symbolize \ - ${bindir}/intercept-build \ - ${bindir}/modularize \ - ${bindir}/pp-trace \ - ${bindir}/sancov \ - ${bindir}/scan-build \ - ${bindir}/scan-build-py \ - ${bindir}/scan-view \ - ${bindir}/split-file \ - ${libdir}/libscanbuild/* \ - ${libdir}/libear/* \ - ${libexecdir}/analyze-c++ \ - ${libexecdir}/analyze-cc \ - ${libexecdir}/c++-analyzer \ - ${libexecdir}/ccc-analyzer \ - ${libexecdir}/intercept-c++ \ - ${libexecdir}/intercept-cc \ - ${datadir}/scan-build/* \ - ${datadir}/scan-view/* \ - ${datadir}/opt-viewer/* \ - ${datadir}/clang/* \ -" - -FILES:${PN} += "\ - ${bindir}/clang-cl \ - ${libdir}/BugpointPasses.so \ - ${libdir}/LLVMHello.so \ - ${libdir}/*Plugin.so \ - ${libdir}/${BPN} \ - ${nonarch_libdir}/${BPN}/*/include/ \ -" - -FILES:lldb = "\ - ${bindir}/lldb \ - ${bindir}/lldb-argdumper \ - ${bindir}/lldb-instr \ - ${bindir}/lldb-vscode \ -" - -FILES:lldb-server = "\ - ${bindir}/lldb-server \ -" - -FILES:liblldb = "\ - ${libdir}/liblldbIntelFeatures.so.* \ - ${libdir}/liblldb.so.* \ -" - -FILES:${PN}-libllvm =+ "\ - ${libdir}/libLLVM.so.${MAJOR_VER}.${MINOR_VER} \ - ${libdir}/libLLVM-${MAJOR_VER}.so \ - ${libdir}/libRemarks.so.* \ -" - -FILES:libclang = "\ - ${libdir}/libclang.so.* \ -" - -FILES:${PN}-dev += "\ - ${datadir}/llvm/cmake \ - ${libdir}/cmake \ - ${nonarch_libdir}/libear \ - ${nonarch_libdir}/${BPN}/*.la \ -" -FILES:${PN}-doc += "${datadir}/clang-doc" - -FILES:${PN}-staticdev += "${nonarch_libdir}/${BPN}/*.a" - -FILES:${PN}-staticdev:remove = "${libdir}/${BPN}/*.a" -FILES:${PN}-dev:remove = "${libdir}/${BPN}/*.la" -FILES:${PN}:remove = "${libdir}/${BPN}/*" - - -INSANE_SKIP:${PN} += "already-stripped" -#INSANE_SKIP:${PN}-dev += "dev-elf" -INSANE_SKIP:${PN}-lldb-python += "dev-so dev-deps" -INSANE_SKIP:${MLPREFIX}liblldb = "dev-so" -INSANE_SKIP:${PN}-libllvm = "dev-so" - -#Avoid SSTATE_SCAN_COMMAND running sed over llvm-config. -SSTATE_SCAN_FILES:remove = "*-config" - -TOOLCHAIN = "clang" -TOOLCHAIN:class-native = "gcc" -TOOLCHAIN:class-nativesdk = "clang" -COMPILER_RT:class-nativesdk:toolchain-clang:runtime-llvm = "-rtlib=libgcc --unwindlib=libgcc" -LIBCPLUSPLUS:class-nativesdk:toolchain-clang:runtime-llvm = "-stdlib=libstdc++" - -SYSROOT_DIRS:append:class-target = " ${nonarch_libdir}" - -SYSROOT_PREPROCESS_FUNCS:append:class-target = " clang_sysroot_preprocess" -SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " clang_sysroot_preprocess" - -clang_sysroot_preprocess() { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 0755 ${S}/llvm/tools/llvm-config/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} - # LLDTargets.cmake references the lld executable(!) that some modules/plugins link to - install -d ${SYSROOT_DESTDIR}${bindir} - - binaries="lld diagtool clang-${MAJOR_VER} clang-format clang-offload-packager - clang-offload-bundler clang-scan-deps clang-repl - clang-refactor clang-check clang-extdef-mapping clang-apply-replacements - clang-reorder-fields clang-tidy clang-change-namespace clang-doc clang-include-fixer - find-all-symbols clang-move clang-query pp-trace modularize" - - if ${@bb.utils.contains('PACKAGECONFIG', 'clangd', 'true', 'false', d)}; then - binaries="${binaries} clangd" - fi - - for f in ${binaries} - do - install -m 755 ${D}${bindir}/$f ${SYSROOT_DESTDIR}${bindir}/ - done -} diff --git a/recipes-devtools/clang/common-source.inc b/recipes-devtools/clang/common-source.inc deleted file mode 100644 index d8a0f68..0000000 --- a/recipes-devtools/clang/common-source.inc +++ /dev/null @@ -1,17 +0,0 @@ -do_fetch() { - : -} -do_fetch[noexec] = "1" -deltask do_unpack -deltask do_patch - -SRC_URI = "" - -do_configure[depends] += "llvm-project-source-${PV}:do_preconfigure" -do_populate_lic[depends] += "llvm-project-source-${PV}:do_unpack" -do_create_spdx[depends] += "llvm-project-source-${PV}:do_preconfigure" - -# spdx shared workdir detection fails as not WORKDIR is altered but S and B -# return always true to fix that -def is_work_shared_spdx(d): - return True diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc deleted file mode 100644 index 3561477..0000000 --- a/recipes-devtools/clang/common.inc +++ /dev/null @@ -1,71 +0,0 @@ -FILESEXTRAPATHS =. "${FILE_DIRNAME}/clang:" - -LIC_FILES_CHKSUM = "file://llvm/LICENSE.TXT;md5=${LLVMMD5SUM} \ - file://clang/LICENSE.TXT;md5=${CLANGMD5SUM} \ -" -LICENSE = "Apache-2.0-with-LLVM-exception" - -# Snapshot -#RELEASE ?= "a69568efe6c4972e71af295c6577b3412dd57c22" -#BASEURI ?= "https://api.github.com/repos/llvm/llvm-project/tarball/${RELEASE};downloadfilename=llvm-${PV}-${RELEASE}.tar.gz" -#SOURCEDIR ?= "llvm-llvm-project-${@'${RELEASE}'[0:7]}" -#SRC_URI[sha256sum] = "aed4f66cd72867b36cc55a0588436933c3d58d3e61ca782b6bf57605d3fdcb09" - -# GA Release -RELEASE ?= "${PV}" -BASEURI ?= "${LLVM_HTTP}/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz" -SOURCEDIR ?= "llvm-project-${PV}.src" -SRC_URI[sha256sum] = "f0a4a240aabc9b056142d14d5478bb6d962aeac549cbd75b809f5499240a8b38" - -SRC_URI = "\ - ${BASEURI} \ - file://0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch \ - file://0002-compiler-rt-support-a-new-embedded-linux-target.patch \ - file://0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch \ - file://0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \ - file://0005-llvm-allow-env-override-of-exe-and-libdir-path.patch \ - file://0006-clang-driver-Check-sysroot-for-ldso-path.patch \ - file://0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \ - file://0008-clang-Prepend-trailing-to-sysroot.patch \ - file://0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \ - file://0010-clang-Define-releative-gcc-installation-dir.patch \ - file://0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \ - file://0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch \ - file://0013-Check-for-atomic-double-intrinsics.patch \ - file://0014-cmake-Fix-configure-for-packages-using-find_package.patch \ - file://0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch \ - file://0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ - file://0017-clang-Use-python3-in-python-scripts.patch \ - file://0018-For-x86_64-set-Yocto-based-GCC-install-search-path.patch \ - file://0019-llvm-Insert-anchor-for-adding-OE-distro-vendor-names.patch \ - file://0020-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \ - file://0021-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \ - file://0022-libunwind-Added-unw_backtrace-method.patch \ - file://0023-clang-Do-not-use-install-relative-libc-headers.patch \ - file://0024-Fix-lib-paths-for-OpenEmbedded-Host.patch \ - file://0025-Correct-library-search-path-for-OpenEmbedded-Host.patch \ - file://0026-lldb-Link-with-libatomic-on-x86.patch \ - file://0027-compiler-rt-Enable-__int128-for-ppc32.patch \ - file://0028-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \ - file://0029-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch \ - file://0030-compiler-rt-Undef-_TIME_BITS-along-with-_FILE_OFFSET.patch \ - file://0031-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \ - file://0032-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch \ - file://0033-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch \ - file://0034-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch \ - file://0035-compiler-rt-Do-not-pass-target-to-clang-compiler.patch \ - file://0036-Fix-build-on-ppc64-musl.patch \ - file://0037-clangd-Add-a-build-option-to-disable-building-dexp.patch \ -" -# Fallback to no-PIE if not set -GCCPIE ??= "" - -S = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}/${SOURCEDIR}" -B ?= "${WORKDIR}/llvm-project-source-${PV}/build.${HOST_SYS}.${TARGET_SYS}" - -# We need to ensure that for the shared work directory, the do_patch signatures match -# The real WORKDIR location isn't a dependency for the shared workdir. -src_patches[vardepsexclude] = "WORKDIR" -should_apply[vardepsexclude] += "PN" - -BPN = "clang" diff --git a/recipes-devtools/clang/compiler-rt-sanitizers_git.bb b/recipes-devtools/clang/compiler-rt-sanitizers_git.bb deleted file mode 100644 index 6beb16a..0000000 --- a/recipes-devtools/clang/compiler-rt-sanitizers_git.bb +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright (C) 2021 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "LLVM based C/C++ compiler Sanitizers Runtime" -DESCRIPTION = "Runtime libraries that are required \ - to run the code with sanitizer instrumentation" -HOMEPAGE = "http://compiler-rt.llvm.org/" -SECTION = "base" - -require clang.inc -require common-source.inc - -BPN = "compiler-rt-sanitizers" - -inherit cmake pkgconfig python3native - - -LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a" - -TUNE_CCARGS:remove = "-no-integrated-as" - -DEPENDS += "ninja-native virtual/crypt compiler-rt" -DEPENDS:append:class-native = " clang-native libxcrypt-native" -DEPENDS:append:class-nativesdk = " clang-native clang-crosssdk-${SDK_SYS} nativesdk-libxcrypt nativesdk-gcc-runtime" -DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc gcc-runtime" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[crt] = "-DCOMPILER_RT_BUILD_CRT:BOOL=ON,-DCOMPILER_RT_BUILD_CRT:BOOL=OFF" -PACKAGECONFIG[static-libcxx] = "-DSANITIZER_USE_STATIC_CXX_ABI=ON -DSANITIZER_USE_STATIC_LLVM_UNWINDER=ON -DCOMPILER_RT_ENABLE_STATIC_UNWINDER=ON,," -# Context Profiling -PACKAGECONFIG[ctx-profile] = "-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF" - -HF = "" -HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" -HF[vardepvalue] = "${HF}" - -CXXFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" - -OECMAKE_TARGET_COMPILE = "compiler-rt" -OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers" -OECMAKE_SOURCEPATH = "${S}/llvm" -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ - -DCOMPILER_RT_STANDALONE_BUILD=ON \ - -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ - -DCOMPILER_RT_BUILD_BUILTINS=OFF \ - -DCOMPILER_RT_INCLUDE_TESTS=OFF \ - -DSANITIZER_CXX_ABI_LIBNAME=${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "libc++", "libstdc++", d)} \ - -DCOMPILER_RT_BUILD_XRAY=ON \ - -DCOMPILER_RT_BUILD_SANITIZERS=ON \ - -DCOMPILER_RT_BUILD_LIBFUZZER=ON \ - -DCOMPILER_RT_BUILD_PROFILE=ON \ - -DCOMPILER_RT_BUILD_MEMPROF=ON \ - -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ - -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ - -DLLVM_APPEND_VC_REV=OFF \ - -S ${S}/runtimes \ -" - -EXTRA_OECMAKE:append:class-target = "\ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ - -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -" - -EXTRA_OECMAKE:append:class-nativesdk = "\ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ - -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ - -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ - -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ -" - -EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " -EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " - -do_install:append () { - mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib - mv ${D}${nonarch_libdir}/linux ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib - # Already shipped with compile-rt Orc support - rm -rf ${D}${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/liborc_rt-*.a - rm -rf ${D}${nonarch_libdir}/clang/${MAJOR_VER}/include/orc/ -} - -FILES_SOLIBSDEV = "" -FILES:${PN} += "${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER} \ - ${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/lib*${SOLIBSDEV} \ - ${nonarch_libdir}/clang/${MAJOR_VER}/*.txt \ - ${nonarch_libdir}/clang/${MAJOR_VER}/share/*.txt" -FILES:${PN}-staticdev += "${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/*.a" -FILES:${PN}-dev += "${datadir} ${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/*.syms \ - ${nonarch_libdir}/clang/${MAJOR_VER}/include \ - ${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/clang_rt.crt*.o \ - ${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/libclang_rt.asan-preinit*.a" -INSANE_SKIP:${PN} = "dev-so libdir" -INSANE_SKIP:${PN}-dbg = "libdir" - -#PROVIDES:append:class-target = "\ -# virtual/${MLPREFIX}compilerlibs \ -# libgcc \ -# libgcc-initial \ -# libgcc-dev \ -# libgcc-initial-dev \ -# " -# - -RDEPENDS:${PN}-dev += "${PN}-staticdev" - -BBCLASSEXTEND = "native nativesdk" - -ALLOW_EMPTY:${PN} = "1" -ALLOW_EMPTY:${PN}-dev = "1" - -TOOLCHAIN = "clang" -# Overrides defaults from clang.bbclass -TOOLCHAIN:class-nativesdk = "clang" -TOOLCHAIN:class-native = "clang" -SYSROOT_DIRS:append:class-target = " ${nonarch_libdir}" - -# riscv and x86_64 Sanitizers work on musl too -COMPATIBLE_HOST:libc-musl:x86-64 = "(.*)" -COMPATIBLE_HOST:libc-musl:riscv64 = "(.*)" -COMPATIBLE_HOST:libc-musl:riscv32 = "(.*)" -COMPATIBLE_HOST:libc-musl = "null" diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb deleted file mode 100644 index debc61f..0000000 --- a/recipes-devtools/clang/compiler-rt_git.bb +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright (C) 2015 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "LLVM based C/C++ compiler Runtime" -DESCRIPTIOM = "Simple builtin library that provides an \ - implementation of the low-level target-specific \ - hooks required by code generation and other runtime \ - components" -HOMEPAGE = "http://compiler-rt.llvm.org/" -SECTION = "base" - -require clang.inc -require common-source.inc - -BPN = "compiler-rt" - -inherit cmake cmake-native pkgconfig python3native - - -LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a" - -LIBCPLUSPLUS = "" -COMPILER_RT = "" - -TUNE_CCARGS:remove = "-no-integrated-as" - -INHIBIT_DEFAULT_DEPS = "1" - -DEPENDS += "ninja-native libgcc" -DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc gcc-runtime" -DEPENDS:append:class-nativesdk = " clang-native clang-crosssdk-${SDK_SYS} nativesdk-gcc-runtime" -DEPENDS:append:class-native = " clang-native" - -# Trick clang.bbclass into not creating circular dependencies -UNWINDLIB:class-nativesdk:toolchain-clang = "--unwindlib=libgcc" -COMPILER_RT:class-nativesdk:toolchain-clang = "-rtlib=libgcc --unwindlib=libgcc" -LIBCPLUSPLUS:class-nativesdk:toolchain-clang = "-stdlib=libstdc++" -UNWINDLIB:class-native:toolchain-clang = "--unwindlib=libgcc" -COMPILER_RT:class-native:toolchain-clang = "-rtlib=libgcc --unwindlib=libgcc" -LIBCPLUSPLUS:class-native:toolchain-clang = "-stdlib=libstdc++" -UNWINDLIB:class-target:toolchain-clang = "--unwindlib=libgcc" -COMPILER_RT:class-target:toolchain-clang = "-rtlib=libgcc --unwindlib=libgcc" -LIBCPLUSPLUS:class-target:toolchain-clang = "-stdlib=libstdc++" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[crt] = "-DCOMPILER_RT_BUILD_CRT:BOOL=ON,-DCOMPILER_RT_BUILD_CRT:BOOL=OFF" -PACKAGECONFIG[profile] = "-DCOMPILER_RT_BUILD_PROFILE=ON,-DCOMPILER_RT_BUILD_PROFILE=OFF" -# Context Profiling, might need to enable 'profile' too -PACKAGECONFIG[ctx-profile] = "-DCOMPILER_RT_BUILD_CTX_PROFILE=ON,-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF" - -HF = "" -HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" -HF[vardepvalue] = "${HF}" - -OECMAKE_TARGET_COMPILE = "compiler-rt" -OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers" -OECMAKE_SOURCEPATH = "${S}/llvm" -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ - -DCOMPILER_RT_STANDALONE_BUILD=ON \ - -DCOMPILER_RT_INCLUDE_TESTS=OFF \ - -DCOMPILER_RT_BUILD_XRAY=OFF \ - -DCOMPILER_RT_BUILD_SANITIZERS=OFF \ - -DCOMPILER_RT_BUILD_MEMPROF=OFF \ - -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \ - -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ - -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ - -DLLVM_APPEND_VC_REV=OFF \ - -S ${S}/runtimes \ -" -EXTRA_OECMAKE:append:class-target = "\ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ - -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -" - -EXTRA_OECMAKE:append:class-nativesdk = "\ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ - -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ - -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ - -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ - -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ -" -EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " - -do_install:append () { - mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib - mv ${D}${nonarch_libdir}/linux ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib -} - -FILES_SOLIBSDEV = "" - -FILES:${PN} += "${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/lib*${SOLIBSDEV} \ - ${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/*.txt \ - ${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/share/*.txt" -FILES:${PN}-staticdev += "${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/*.a" -FILES:${PN}-dev += "${datadir} ${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/*.syms \ - ${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/include \ - ${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/clang_rt.crt*.o \ - ${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib/linux/libclang_rt.asan-preinit*.a" - -INSANE_SKIP:${PN} = "dev-so libdir" -INSANE_SKIP:${PN}-dbg = "libdir" - -#PROVIDES:append:class-target = "\ -# virtual/${MLPREFIX}compilerlibs \ -# libgcc \ -# libgcc-initial \ -# libgcc-dev \ -# libgcc-initial-dev \ -# " -# - -RDEPENDS:${PN}-dev += "${PN}-staticdev" - -BBCLASSEXTEND = "native nativesdk" - -ALLOW_EMPTY:${PN} = "1" -ALLOW_EMPTY:${PN}-dev = "1" - -TOOLCHAIN = "clang" -# Overrides defaults from clang.bbclass -TOOLCHAIN:class-nativesdk = "clang" -TOOLCHAIN:class-native = "clang" -SYSROOT_DIRS:append:class-target = " ${nonarch_libdir}" diff --git a/recipes-devtools/clang/libclc_git.bb b/recipes-devtools/clang/libclc_git.bb deleted file mode 100644 index 1e2f837..0000000 --- a/recipes-devtools/clang/libclc_git.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Implementation of the library requirements of the OpenCL 1.1+ C programming language" -HOMEPAGE = "http://libclc.llvm.org/" -SECTION = "libs" - -require clang.inc -require common-source.inc - -BPN = "libclc" - -TOOLCHAIN = "clang" - -LIC_FILES_CHKSUM = "file://libclc/LICENSE.TXT;md5=7cc795f6cbb2d801d84336b83c8017db" - -inherit cmake cmake-qemu pkgconfig python3native - -DEPENDS += "clang spirv-tools spirv-llvm-translator spirv-llvm-translator-native ncurses" - -OECMAKE_SOURCEPATH = "${S}/libclc" - -EXTRA_OECMAKE += "\ - -DLLVM_APPEND_VC_REV=OFF \ - -DLIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR=${STAGING_BINDIR_NATIVE} \ - -DLLVM_CLANG=${STAGING_BINDIR_NATIVE}/clang \ - -DLLVM_AS=${STAGING_BINDIR_NATIVE}/llvm-as \ - -DLLVM_LINK=${STAGING_BINDIR_NATIVE}/llvm-link \ - -DLLVM_OPT=${STAGING_BINDIR_NATIVE}/opt \ - -DLLVM_SPIRV=${STAGING_BINDIR_NATIVE}/llvm-spirv \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -Dclc_comp_in:FILEPATH=${OECMAKE_SOURCEPATH}/cmake/CMakeCLCCompiler.cmake.in \ - -Dll_comp_in:FILEPATH=${OECMAKE_SOURCEPATH}/cmake/CMakeLLAsmCompiler.cmake.in \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON" - -FILES:${PN} += "${datadir}/clc" - -BBCLASSEXTEND = "native nativesdk" - -export YOCTO_ALTERNATE_EXE_PATH -export YOCTO_ALTERNATE_LIBDIR diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb deleted file mode 100644 index 85c467c..0000000 --- a/recipes-devtools/clang/libcxx_git.bb +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright (C) 2015 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "libc++ is a new implementation of the C++ standard library, targeting C++11 and above" -HOMEPAGE = "http://libcxx.llvm.org/" -SECTION = "base" - -require clang.inc -require common-source.inc - -inherit cmake cmake-native python3native - -BPN = "libcxx" - -PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "unwind unwind-shared", "", d)}" -PACKAGECONFIG:append:armv5 = " no-atomics" -PACKAGECONFIG:remove:class-native = "compiler-rt" -PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," -PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," -PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," -PACKAGECONFIG[compiler-rt] = "-DLIBCXX_USE_COMPILER_RT=ON -DLIBCXXABI_USE_COMPILER_RT=ON -DLIBUNWIND_USE_COMPILER_RT=ON,,compiler-rt" -PACKAGECONFIG[unwind-shared] = "-DLIBUNWIND_ENABLE_SHARED=ON,-DLIBUNWIND_ENABLE_SHARED=OFF,," - -DEPENDS += "ninja-native" -DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${MLPREFIX}compilerlibs" -DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_SYS} nativesdk-compiler-rt" -DEPENDS:append:class-native = " clang-native compiler-rt-native" - -COMPILER_RT ?= "${@bb.utils.contains("PACKAGECONFIG", "compiler-rt", "-rtlib=compiler-rt", "-rtlib=libgcc", d)}" -UNWINDLIB ?= "${@bb.utils.contains("PACKAGECONFIG", "unwind", "-unwindlib=none", "-unwindlib=libgcc", d)}" -LIBCPLUSPLUS ?= "-stdlib=libstdc++" -# Trick clang.bbclass into not creating circular dependencies -UNWINDLIB:class-nativesdk = "-unwindlib=libgcc" -LIBCPLUSPLUS:class-nativesdk = "-stdlib=libstdc++" -UNWINDLIB:class-native = "-unwindlib=libgcc" -LIBCPLUSPLUS:class-native = "-stdlib=libstdc++" - -LDFLAGS:append = " ${UNWINDLIB}" - -INHIBIT_DEFAULT_DEPS = "1" - -LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \ - file://libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \ - file://libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \ -" - -OECMAKE_TARGET_COMPILE = "${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "unwind", "", d)} cxxabi cxx" -OECMAKE_TARGET_INSTALL = "${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "install-unwind", "", d)} install-cxxabi install-cxx" - -OECMAKE_SOURCEPATH = "${S}/llvm" -EXTRA_OECMAKE += "\ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ - -DCMAKE_CROSSCOMPILING=ON \ - -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ - -DLLVM_ENABLE_RTTI=ON \ - -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \ - -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ - -DLIBCXXABI_INCLUDE_TESTS=OFF \ - -DLIBCXXABI_ENABLE_SHARED=ON \ - -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ - -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ - -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ - -S ${S}/runtimes \ - -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' \ - -DLLVM_RUNTIME_TARGETS=${HOST_SYS} \ - -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ - -DLLVM_APPEND_VC_REV=OFF \ - -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -" - -EXTRA_OECMAKE:append:class-target = " \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ - -DLLVM_DEFAULT_TARGET_TRIPLE=${HOST_SYS} \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -" - -EXTRA_OECMAKE:append:class-nativesdk = " \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ - -DLLVM_DEFAULT_TARGET_TRIPLE=${HOST_SYS} \ -" - -EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " - -CXXFLAGS:append:armv5 = " -mfpu=vfp2" - -ALLOW_EMPTY:${PN} = "1" - -PROVIDES:append:runtime-llvm = " libunwind" - -do_install:append() { - if ${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "true", "false", d)} - then - for f in libunwind.h __libunwind_config.h unwind.h unwind_itanium.h unwind_arm_ehabi.h - do - install -Dm 0644 ${S}/libunwind/include/$f ${D}${includedir}/$f - done - install -d ${D}${libdir}/pkgconfig - sed -e 's,@LIBDIR@,${libdir},g;s,@VERSION@,${PV},g' ${S}/libunwind/libunwind.pc.in > ${D}${libdir}/pkgconfig/libunwind.pc - fi -} - -PACKAGES:append:runtime-llvm = " libunwind" -FILES:libunwind:runtime-llvm = "${libdir}/libunwind.so.*" -# Package library module manifest path -FILES:${PN}-dev += "${datadir}/libc++/v1/ ${libdir}/libc++.modules.json" - -BBCLASSEXTEND = "native nativesdk" -TOOLCHAIN = "clang" -# Overrides defaults from clang.bbclass -TOOLCHAIN:class-nativesdk = "clang" -TOOLCHAIN:class-native = "clang" diff --git a/recipes-devtools/clang/llvm-project-source.bb b/recipes-devtools/clang/llvm-project-source.bb deleted file mode 100644 index c1cd887..0000000 --- a/recipes-devtools/clang/llvm-project-source.bb +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (C) 2018 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "This is the canonical git mirror of the LLVM subversion repository." -HOMEPAGE = "https://github.com/llvm/llvm-project" - -require llvm-project-source.inc -require clang.inc - -BPN = "llvm-project-source" - -EXCLUDE_FROM_WORLD = "1" diff --git a/recipes-devtools/clang/llvm-project-source.inc b/recipes-devtools/clang/llvm-project-source.inc deleted file mode 100644 index 50e9154..0000000 --- a/recipes-devtools/clang/llvm-project-source.inc +++ /dev/null @@ -1,99 +0,0 @@ -deltask do_configure -deltask do_compile -deltask do_install -deltask do_populate_sysroot -deltask do_populate_lic -RM_WORK_EXCLUDE += "${PN}" - -inherit nopackages - -PN = "llvm-project-source-${PV}" -WORKDIR = "${TMPDIR}/work-shared/llvm-project-source-${PV}-${PR}" -SSTATE_SWSPEC = "sstate:llvm-project-source::${PV}:${PR}::${SSTATE_VERSION}:" - -STAMP = "${STAMPS_DIR}/work-shared/llvm-project-source-${PV}-${PR}" -STAMPCLEAN = "${STAMPS_DIR}/work-shared/llvm-project-source-${PV}-*" - -INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "" -PACKAGES = "" -TARGET_ARCH = "allarch" -TARGET_AS_ARCH = "none" -TARGET_CC_ARCH = "none" -TARGET_LD_ARCH = "none" -TARGET_OS = "linux" -baselib = "lib" -PACKAGE_ARCH = "all" - -B = "${WORKDIR}/build" - -# space separated list of additional distro vendor values we want to support e.g. -# "yoe webos" or "-yoe -webos" '-' is optional -CLANG_EXTRA_OE_VENDORS ?= "${TARGET_VENDOR} ${SDK_VENDOR}" -# Extra OE DISTRO that want to support as build host. space separated list of additional distro. -# ":" separated the ID in "/etc/os-release" and the triple for finding gcc on this OE DISTRO. -# eg: "poky:poky wrlinux:wrs" -CLANG_EXTRA_OE_DISTRO ?= "poky:poky" -# Match with MULTILIB_GLOBAL_VARIANTS -MULTILIB_VARIANTS = "lib32 lib64 libx32" - -python do_preconfigure() { - import subprocess - case = "" - triple = "" - vendors = d.getVar('CLANG_EXTRA_OE_VENDORS') - multilib_variants = (d.getVar("MULTILIB_VARIANTS") or "").split() - vendors_to_add = [] - for vendor in vendors.split(): - # convert -yoe into yoe - vendor = vendor.lstrip('-') - # generate possible multilib vendor names for yoe - # such as yoemllib32 - vendors_to_add.extend([vendor + 'ml' + variant for variant in multilib_variants]) - # skip oe since already part of the cpp file - if vendor != "oe": - vendors_to_add.append(vendor) - - for vendor_to_add in vendors_to_add: - case += '\\n .Case("' + vendor_to_add + '", Triple::OpenEmbedded)' - triple += ' "x86_64-' + vendor_to_add + '-linux",' - - bb.note("Adding support following TARGET_VENDOR values") - bb.note(str(vendors_to_add)) - bb.note("in llvm/lib/TargetParser/Triple.cpp and ${S}/clang/lib/Driver/ToolChains/Gnu.cpp") - cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_TRIPLES#%s#g' ${S}/clang/lib/Driver/ToolChains/Gnu.cpp" % (triple)) - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_CASES#%s#g' -i ${S}/llvm/lib/TargetParser/Triple.cpp" % (case)) - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - - - case = "" - triple = "" - name = "" - check = "" - oe_names = "" - distros = d.getVar('CLANG_EXTRA_OE_DISTRO') - for distro in distros.split(): - distro_id = distro.split(":")[0].replace('-','_') - distro_triple = distro.split(":")[1] - case += '\\n .Case("' + distro_id + '", Distro::' + distro_id.upper() + ')' - triple += '\\n if (Distro.Is' + distro_id.upper() + '())\\n return "x86_64-' + distro_triple + '-linux",' - name += '\\n '+ distro_id.upper() + ',' - check += '\\nbool Is' + distro_id.upper() + '() const { return DistroVal == ' + distro_id.upper() + '; }' - oe_names += distro_id.upper() + ' ||' - - check += '\\nbool IsOpenEmbedded() const { return DistroVal == ' + oe_names[0:-3] + '; }' - - cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_DISTRO_NAME#%s#g' ${S}/clang/include/clang/Driver/Distro.h" % (name)) - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_DISTRO_CHECK#%s#g' ${S}/clang/include/clang/Driver/Distro.h" % (check)) - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_DISTRO_TRIPLES#%s#g' ${S}/clang/lib/Driver/ToolChains/Linux.cpp" % (triple)) - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_DISTRO_CASES#%s#g' -i ${S}/clang/lib/Driver/Distro.cpp" % (case)) - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) -} - -do_patch[vardepsexclude] = "MULTILIBS" -addtask do_preconfigure after do_patch -do_create_spdx[depends] += "${PN}:do_preconfigure" diff --git a/recipes-devtools/clang/nativesdk-clang-glue.bb b/recipes-devtools/clang/nativesdk-clang-glue.bb deleted file mode 100644 index 8e5622f..0000000 --- a/recipes-devtools/clang/nativesdk-clang-glue.bb +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (C) 2014 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "SDK Cross compiler wrappers for LLVM based C/C++ compiler" -HOMEPAGE = "http://clang.llvm.org/" -LICENSE = "Apache-2.0-with-LLVM-exception" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0-with-LLVM-exception;md5=0bcd48c3bdfef0c9d9fd17726e4b7dab" -SECTION = "devel" - -inherit_defer nativesdk -DEPENDS += "nativesdk-clang" - -do_install() { - install -d ${D}${prefix_nativesdk} - cd ${D}${prefix_nativesdk} - ln -s ..${libdir} . - ln -s ..${includedir} . - cd .. - ln -s .${base_libdir} . -} - -sysroot_stage_all () { - sysroot_stage_dir ${D} ${SYSROOT_DESTDIR} -} - -FILES:${PN} += "${prefix_nativesdk} ${base_libdir_nativesdk}" -FILES:${PN}-dbg = "" - -deltask do_configure -deltask do_compile -deltask do_patch -deltask do_fetch -deltask do_unpack -deltask do_create_spdx -deltask do_create_package_spdx -deltask do_create_runtime_spdx diff --git a/recipes-devtools/clang/openmp_git.bb b/recipes-devtools/clang/openmp_git.bb deleted file mode 100644 index 398479b..0000000 --- a/recipes-devtools/clang/openmp_git.bb +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (C) 2017 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "LLVM OpenMP compiler Runtime" -HOMEPAGE = "https://openmp.llvm.org/" -SECTION = "libs" - -require clang.inc -require common-source.inc - -BPN = "openmp" - -TOOLCHAIN = "clang" - -LIC_FILES_CHKSUM = "file://openmp/LICENSE.TXT;md5=d75288d1ce0450b28b8d58a284c09c79" - -inherit cmake pkgconfig perlnative python3native python3targetconfig - -DEPENDS += "elfutils libffi clang" - -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DLLVM_APPEND_VC_REV=OFF \ - -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ - -DOPENMP_LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ - -DOPENMP_STANDALONE_BUILD=ON \ - -DCLANG_TOOL=${STAGING_BINDIR_NATIVE}/clang \ - -DLINK_TOOL=${STAGING_BINDIR_NATIVE}/llvm-link \ - -DOPT_TOOL=${STAGING_BINDIR_NATIVE}/opt \ - -DOPENMP_LLVM_LIT_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-lit \ - -DEXTRACT_TOOL=${STAGING_BINDIR_NATIVE}/llvm-extract \ - -DPACKAGER_TOOL=${STAGING_BINDIR_NATIVE}/clang-offload-packager \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - " - -OECMAKE_SOURCEPATH = "${S}/openmp" - -PACKAGECONFIG ?= "ompt-tools offloading-plugin" - -PACKAGECONFIG:remove:arm = "ompt-tools offloading-plugin" -PACKAGECONFIG:remove:powerpc = "ompt-tools offloading-plugin" - -PACKAGECONFIG:append:mipsarcho32 = " no-atomics" - -PACKAGECONFIG[ompt-tools] = "-DOPENMP_ENABLE_OMPT_TOOLS=ON,-DOPENMP_ENABLE_OMPT_TOOLS=OFF," -PACKAGECONFIG[aliases] = "-DLIBOMP_INSTALL_ALIASES=ON,-DLIBOMP_INSTALL_ALIASES=OFF," -PACKAGECONFIG[offloading-plugin] = ",,elfutils libffi,libelf libffi" -PACKAGECONFIG[no-atomics] = "-DLIBOMP_HAVE_BUILTIN_ATOMIC=OFF -DLIBOMP_LIBFLAGS='-latomic',," - -PACKAGES += "${PN}-libomptarget ${PN}-gdb-plugin" -FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/lib*${SOLIBSDEV}" -FILES:${PN}-libomptarget = "${libdir}/libomptarget-*.bc" -FILES:${PN}-gdb-plugin = "${datadir}/gdb/python/ompd" - -RDEPENDS:${PN}-gdb-plugin += "python3-core" - -INSANE_SKIP:${PN} = "dev-so" -# Currently the static libraries contain buildpaths -INSANE_SKIP:${PN}-staticdev += "buildpaths" - -COMPATIBLE_HOST:mips64 = "null" -COMPATIBLE_HOST:riscv32 = "null" -COMPATIBLE_HOST:powerpc = "null" - -BBCLASSEXTEND = "native nativesdk" - -CVE_STATUS[CVE-2022-26345] = "cpe-incorrect: specific to the Intel distribution before 2022.1" -- cgit v1.2.3-54-g00ecf