From patchwork Tue Mar 24 23:08:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 84265 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A302F532E7 for ; Tue, 24 Mar 2026 23:08:45 +0000 (UTC) Received: from mail-dy1-f179.google.com (mail-dy1-f179.google.com [74.125.82.179]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10697.1774393720184709997 for ; Tue, 24 Mar 2026 16:08:40 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=GXzpfVMH; spf=pass (domain: gmail.com, ip: 74.125.82.179, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f179.google.com with SMTP id 5a478bee46e88-2c156c4a9efso949221eec.1 for ; Tue, 24 Mar 2026 16:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774393719; x=1774998519; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Rk6WG7aq0H2dvQM147b4PYdXi22HI8JyufHHFQc8Fts=; b=GXzpfVMHdrxeZ90tij8iiQogpKB3jtMalhFgF8975tFhM8S1feGoJlbj7kcua0wLyl c6FXED5r/HmJeR5EO5FwF3SZCBfvr6V1VUoFqfrX+akDO3Ip1fzP/HbbDwAzi8X1+0eT tq9oeb5qM8OnWrlL5dwG87CkfkWWlF55uMFYi10yAhmR3vL1TNPWlJgMzBBl1uNJ9Iqr 5laPJokE8F9U9eUDXbF2EGB/ura+1k21UkwDSboO5OwBq1gEPBOslCOIr2cHaDXhPAG3 XMgu40TdWjC5o9oA3Gt25ZhdZTvENlhsW9Tv8TM2TptrA1NFPAKlPSnJSkJSorvKi8d/ /J+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774393719; x=1774998519; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Rk6WG7aq0H2dvQM147b4PYdXi22HI8JyufHHFQc8Fts=; b=sZepwFW4kwMndjIHqFrLf/zDjDOBjIOfI5l1s/Ebn4Zy9CECdAbUe5KyC0K6iR0YLH o9lVYCFgVFUWGPD3Ecym2M1eLJ2nIYZesO5dE0rM8YYmtYUTzAcZ7+R+7ma2rKe1uhV8 5+eHI07D94TpTgKDz640IrtWOKSu3iylhazs+T6jE9BG6WkWh+kXHRgrBoZBbo9PKbNY 68ux97iPgujPokwzHJ48Ff5Hi0sw1UKumeFPe/mC0Se2eo1e7ZUgwTmxpCqK/C7RmB2D nlDn6FvbJBN1YiwOWt974eDYtwfoLWpYOik97Hz78wQ+gTeVHyLdTe3dEnrrH3ouiqmP vsGQ== X-Gm-Message-State: AOJu0Yw6GIRF+4GpKdb6jZPEcBM2OLZ7hgaQcpatEsfGRZ831VpZRiyK iPB8jHELIzBB6mpBTnUoWazbIixu1kY639QjedjGQRWrlsI+dzQn7zMfNThAcX5ngi4= X-Gm-Gg: ATEYQzxsca/lHeHPZSxI0v+uEi7NDD4wOBV8osKrRrDr3HqWt91xh7FeIiD2nq3Z7q6 gRELw/GPOvUdX1idrjeMDhFlWsD1Z7KmwHzy7yIWOzcUfO6SVHiuv2X8LiOTzkOU7DauWxoLXnf KO7Fxkzg+4yWxDwnD7DoEUAjkRdZYqxABkodR5ORRiHWZ+CsyzqKmoOevDpZbI4g9bpHmtKKx8I jPTv7OIdOLodTRYrPqtOTnNZpajxqMFdMxqwpuKrslSN6MHqRUFJetQ1pUUsalL3SN255wzcFIb HE/oyzdpGvOsOjQzhXxMrBLI2zbc+i/BpaEttPrG+ahsE9Y+VGpXHDWjQ5Y+FyLphvcuZfT/QXN nt5rUHiiwgvD5eNGPJoRWnNAh6Al8UsT2Hqbnw6jABtwlk5jzNz4XMw0isYU5NFlrC+hUHnOUmL if7G6/yDRNWd0V8U2owp9FtJxSBMAAsVzuC4CdbsOJtKj36/WkZ8VWVkrQYywhV+sFL87F3kss8 hAZddxtxQbdxhuvs2MuhJRY8Zy/pCkb98EueBMBUue8zoVl/t15K3stC7/g X-Received: by 2002:a05:7300:a943:b0:2b7:a27f:3a6a with SMTP id 5a478bee46e88-2c15d28c39amr541286eec.4.1774393718477; Tue, 24 Mar 2026 16:08:38 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b17d1ddsm16235874eec.11.2026.03.24.16.08.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 16:08:37 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 1/5] clang/llvm: Upgrade to 22.x major release Date: Tue, 24 Mar 2026 16:08:31 -0700 Message-ID: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 24 Mar 2026 23:08:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233829 From: Khem Raj Includes support for new Intel (Wildcat Lake, Nova Lake with APX and AVX10.2) Arm (C1 Nano, Pro, Premium, Ultra) processors. It also features performance optimizations for AMD Zen 4 and Zen 5 architectures. Integrated Distributed ThinLTO is more mature, with enhancements like cache support for incremental builds and robust handling of temporary artifacts. LLDB added first-class WebAssembly debugging support, including breakpoints and variable inspection. Support for Google Native Client (NaCl) is dropped in this release. Detailed ChangeLog [1] [1] https://releases.llvm.org/22.1.0/docs/ReleaseNotes.html Signed-off-by: Khem Raj --- meta/conf/distro/include/maintainers.inc | 2 +- .../clang/0001-Install-lldb-tblgen.patch | 29 ---- ...ilding-native-tools-when-cross-compi.patch | 63 --------- ...ibunwind-headers-when-LIBCXXABI_LIBU.patch | 8 +- ...-support-a-new-embedded-linux-target.patch | 2 +- ...lify-cross-compilation.-Don-t-use-na.patch | 6 +- ...env-override-of-exe-and-libdir-path.patch} | 22 +-- ...-driver-Check-sysroot-for-ldso-path.patch} | 12 +- ...ools.cpp-Add-lssp_nonshared-on-musl.patch} | 6 +- ...7-clang-Prepend-trailing-to-sysroot.patch} | 6 +- ...-the-target-sysroot-for-compiler-ru.patch} | 6 +- ...fine-releative-gcc-installation-dir.patch} | 14 +- ...d-and-ldl-along-with-lunwind-for-st.patch} | 6 +- ...-Check-for-atomic-double-intrinsics.patch} | 2 +- ...UTABLE-when-cross-compiling-for-nati.patch | 24 ---- ...ure-for-packages-using-find_package.patch} | 18 +-- ...e-dir-location-for-cross-toolchains.patch} | 17 +-- ...dyld-prefix-when-checking-sysroot-f.patch} | 14 +- ...clang-Use-python3-in-python-scripts.patch} | 4 +- ...-anchor-for-adding-OE-distro-vendor.patch} | 32 ++--- ...t-use-backtrace-APIs-on-non-glibc-l.patch} | 2 +- ...iple-for-non-debian-multiarch-linux-.patch | 29 ++++ ...ibunwind-Added-unw_backtrace-method.patch} | 12 +- ...iple-for-non-debian-multiarch-linux-.patch | 28 ---- ...020-lldb-Link-with-libatomic-on-x86.patch} | 4 +- ...mpiler-rt-Enable-__int128-for-ppc32.patch} | 25 ++-- ...t-use-cmake-infra-to-detect-libzstd.patch} | 8 +- ...-Fix-stat-struct-s-size-for-O32-ABI.patch} | 8 +- ...cpp-ARMLibDirs-search-also-in-lib32.patch} | 8 +- ...-OE-specific-ABI-triple-for-N32-ABI.patch} | 16 +-- ...nwind.pc.in-and-llvm-config-scripts.patch} | 2 +- ...spect-LLVM_LIBDIR_SUFFIX-like-other-.patch | 90 ++++++++++++ ...o-not-pass-target-to-clang-compiler.patch} | 4 +- ...-sort-ClassInfo-lists-by-name-as-we.patch} | 6 +- ...spect-LLVM_LIBDIR_SUFFIX-like-other-.patch | 92 ------------- ...ve-LLVM_LDFLAGS-from-ldflags-output.patch} | 16 +-- ...de-sync_fetch_and_-for-any-pre-ARMv.patch} | 6 +- ...ode-uptr-sptr-typedefs-on-Mips-Linu.patch} | 4 +- ...-relative-paths-for-getArchSpecific.patch} | 8 +- ...-headers-in-the-debug-info-when-bui.patch} | 6 +- ...g-block-when-searching-for-noreturn.patch} | 4 +- ..._HAVE_OPT_VIEWER_MODULES-externally.patch} | 10 +- ...0036-allow-external-prepare_builtins.patch | 54 -------- ...clang-tblgen-if-it-is-actually-need.patch} | 10 +- ...symlink-path-for-libcc-when-LLVM_ENA.patch | 71 ++++++++++ ...loadArch-UNUSED-to-UNUSED_-to-avoid-.patch | 128 ++++++++++++++++++ ...ex-test-when-clang-tests-are-include.patch | 43 ------ ...symlink-path-for-libcc-when-LLVM_ENA.patch | 33 ----- ...libgcc.a-symlink-path-when-LLVM_ENAB.patch | 83 ------------ meta/recipes-devtools/clang/common-clang.inc | 8 +- meta/recipes-devtools/clang/common.inc | 83 ++++++------ 51 files changed, 529 insertions(+), 665 deletions(-) delete mode 100644 meta/recipes-devtools/clang/clang/0001-Install-lldb-tblgen.patch delete mode 100644 meta/recipes-devtools/clang/clang/0001-clang-Support-building-native-tools-when-cross-compi.patch rename meta/recipes-devtools/clang/clang/{0005-llvm-allow-env-override-of-exe-and-libdir-path.patch => 0004-llvm-allow-env-override-of-exe-and-libdir-path.patch} (81%) rename meta/recipes-devtools/clang/clang/{0006-clang-driver-Check-sysroot-for-ldso-path.patch => 0005-clang-driver-Check-sysroot-for-ldso-path.patch} (88%) rename meta/recipes-devtools/clang/clang/{0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch => 0006-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch} (86%) rename meta/recipes-devtools/clang/clang/{0008-clang-Prepend-trailing-to-sysroot.patch => 0007-clang-Prepend-trailing-to-sysroot.patch} (88%) rename meta/recipes-devtools/clang/clang/{0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch => 0008-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch} (89%) rename meta/recipes-devtools/clang/clang/{0010-clang-Define-releative-gcc-installation-dir.patch => 0009-clang-Define-releative-gcc-installation-dir.patch} (93%) rename meta/recipes-devtools/clang/clang/{0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch => 0010-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch} (87%) rename meta/recipes-devtools/clang/clang/{0013-Check-for-atomic-double-intrinsics.patch => 0011-Check-for-atomic-double-intrinsics.patch} (94%) delete mode 100644 meta/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch rename meta/recipes-devtools/clang/clang/{0014-cmake-Fix-configure-for-packages-using-find_package.patch => 0012-cmake-Fix-configure-for-packages-using-find_package.patch} (90%) rename meta/recipes-devtools/clang/clang/{0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch => 0013-clang-Fix-resource-dir-location-for-cross-toolchains.patch} (80%) rename meta/recipes-devtools/clang/clang/{0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch => 0014-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch} (89%) rename meta/recipes-devtools/clang/clang/{0017-clang-Use-python3-in-python-scripts.patch => 0015-clang-Use-python3-in-python-scripts.patch} (92%) rename meta/recipes-devtools/clang/clang/{0018-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch => 0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch} (91%) rename meta/recipes-devtools/clang/clang/{0019-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch => 0017-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch} (97%) create mode 100644 meta/recipes-devtools/clang/clang/0018-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch rename meta/recipes-devtools/clang/clang/{0021-libunwind-Added-unw_backtrace-method.patch => 0019-libunwind-Added-unw_backtrace-method.patch} (82%) delete mode 100644 meta/recipes-devtools/clang/clang/0020-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch rename meta/recipes-devtools/clang/clang/{0022-lldb-Link-with-libatomic-on-x86.patch => 0020-lldb-Link-with-libatomic-on-x86.patch} (92%) rename meta/recipes-devtools/clang/clang/{0023-compiler-rt-Enable-__int128-for-ppc32.patch => 0021-compiler-rt-Enable-__int128-for-ppc32.patch} (68%) rename meta/recipes-devtools/clang/clang/{0024-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch => 0022-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch} (91%) rename meta/recipes-devtools/clang/clang/{0025-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch => 0023-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch} (88%) rename meta/recipes-devtools/clang/clang/{0026-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch => 0024-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch} (98%) rename meta/recipes-devtools/clang/clang/{0027-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch => 0025-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch} (88%) rename meta/recipes-devtools/clang/clang/{0028-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch => 0026-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch} (97%) create mode 100644 meta/recipes-devtools/clang/clang/0027-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch rename meta/recipes-devtools/clang/clang/{0030-compiler-rt-Do-not-pass-target-to-clang-compiler.patch => 0028-compiler-rt-Do-not-pass-target-to-clang-compiler.patch} (91%) rename meta/recipes-devtools/clang/clang/{0031-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch => 0029-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch} (89%) delete mode 100644 meta/recipes-devtools/clang/clang/0029-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch rename meta/recipes-devtools/clang/clang/{0032-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch => 0030-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch} (71%) rename meta/recipes-devtools/clang/clang/{0033-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch => 0031-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch} (95%) rename meta/recipes-devtools/clang/clang/{0034-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch => 0032-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch} (93%) rename meta/recipes-devtools/clang/clang/{0035-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch => 0033-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch} (88%) rename meta/recipes-devtools/clang/clang/{0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch => 0034-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch} (89%) rename meta/recipes-devtools/clang/clang/{0038-Prevent-revisiting-block-when-searching-for-noreturn.patch => 0035-Prevent-revisiting-block-when-searching-for-noreturn.patch} (91%) rename meta/recipes-devtools/clang/clang/{0001-dont-expose-LLVM_HAVE_OPT_VIEWER_MODULES.patch => 0036-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch} (82%) delete mode 100644 meta/recipes-devtools/clang/clang/0036-allow-external-prepare_builtins.patch rename meta/recipes-devtools/clang/clang/{clang-no-tblgen.patch => 0037-clang-Only-build-clang-tblgen-if-it-is-actually-need.patch} (72%) create mode 100644 meta/recipes-devtools/clang/clang/0038-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch create mode 100644 meta/recipes-devtools/clang/clang/0039-Clang-Rename-OffloadArch-UNUSED-to-UNUSED_-to-avoid-.patch delete mode 100644 meta/recipes-devtools/clang/clang/0039-Only-build-c-index-test-when-clang-tests-are-include.patch delete mode 100644 meta/recipes-devtools/clang/clang/0040-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch delete mode 100644 meta/recipes-devtools/clang/clang/0041-llvm-libgcc-Fix-libgcc.a-symlink-path-when-LLVM_ENAB.patch diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 840f615b4c..e77051568f 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -484,7 +484,7 @@ RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield -Date: Fri, 19 Sep 2025 16:33:55 +0100 -Subject: [PATCH] Install lldb-tblgen - -In keeping with the llvm-tblgen and clang-tblgen binaries, allow -lldb-tblgen to be installed by cmake so that cross builds are easier. - -Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/0ce6052a0c08035a07fcabb05271be7313308db3] -Signed-off-by: Ross Burton ---- - lldb/utils/TableGen/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lldb/utils/TableGen/CMakeLists.txt b/lldb/utils/TableGen/CMakeLists.txt -index 0ac010bcda35..ce96dddd4420 100644 ---- a/lldb/utils/TableGen/CMakeLists.txt -+++ b/lldb/utils/TableGen/CMakeLists.txt -@@ -8,6 +8,7 @@ if (NOT DEFINED LLDB_TABLEGEN_EXE) - set(LLVM_LINK_COMPONENTS Support) - - add_tablegen(lldb-tblgen LLDB -+ DESTINATION "${CMAKE_INSTALL_BINDIR}" - LLDBOptionDefEmitter.cpp - LLDBPropertyDefEmitter.cpp - LLDBTableGen.cpp --- -2.43.0 - diff --git a/meta/recipes-devtools/clang/clang/0001-clang-Support-building-native-tools-when-cross-compi.patch b/meta/recipes-devtools/clang/clang/0001-clang-Support-building-native-tools-when-cross-compi.patch deleted file mode 100644 index c4198394ac..0000000000 --- a/meta/recipes-devtools/clang/clang/0001-clang-Support-building-native-tools-when-cross-compi.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 2ff1134d1d2b9f3c207e3ebd98de922f9ef6c15a Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Wed, 24 Sep 2025 17:02:57 +0100 -Subject: [PATCH] [clang] Support building native tools when cross-compiling - standalone clang - -When cross-compiling the LLVM project as a whole (from llvm/), if it -cannot find presupplied tools it will create a native build environment -to build the tools it needs. - -However, when doing a standalone build of clang (that is, from clang/ -and linking against an existing libLLVM) this doesn't work. Instead -a _target_ binary is built which predictably then fails. - -The conventional workaround for this is to build the native tools in a -separate native compile phase and pass the paths to the cross build, for -example see OpenEmbedded[1] or Nix[2]. But we can do better! - -The first problem is that LLVM_USE_HOST_TOOLS is only set in the llvm/ -CMakeLists.txt, so setup_host_tool() will never consider building a -native binary. This can be solved by setting LLVM_USE_HOST_TOOLS based -on CMAKE_CROSSCOMPILING in clang/CMakeLists.txt in the standalone case. - -Now setup_host_tool() will try to build a native tool, but it needs -build_native_tool() from CrossCompile.cmake, so that also needs to be -included. - -Finally, the native binary then fails because there's no provider for -the dependency "CONFIGURE_Clang_NATIVE", so use llvm_create_cross_target -to create the native environment. - -These few lines mirror what the lldb CMakeLists.txt does in the -standalone case, so there is prior art for this. - -[1] https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/clang/clang_git.bb?id=e18d697e92b55e57124e80234369d46575226386#n212 -[2] https://github.com/NixOS/nixpkgs/blob/3354d448f2a26117a74638957b0131ce3da9c8c4/pkgs/development/compilers/llvm/common/tblgen.nix#L54 - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/160605] -Signed-off-by: Ross Burton ---- - clang/CMakeLists.txt | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt -index 1bb73599970c..4eaa71289985 100644 ---- a/clang/CMakeLists.txt -+++ b/clang/CMakeLists.txt -@@ -80,6 +80,12 @@ if(CLANG_BUILT_STANDALONE) - include(GetErrcMessages) - include(LLVMDistributionSupport) - -+ if(CMAKE_CROSSCOMPILING) -+ set(LLVM_USE_HOST_TOOLS ON) -+ include(CrossCompile) -+ llvm_create_cross_target(Clang NATIVE "" Release) -+ endif() -+ - set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") - set(BUG_REPORT_URL "${LLVM_PACKAGE_BUGREPORT}" CACHE STRING - "Default URL where bug reports are to be submitted.") --- -2.43.0 - diff --git a/meta/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch b/meta/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch index ab84a877fa..c48118d2e2 100644 --- a/meta/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch +++ b/meta/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch @@ -1,4 +1,4 @@ -From 41ba0feeeebcbe242836639ef3b562adc29ffa96 Mon Sep 17 00:00:00 2001 +From 96e23bbd0ec636d0042508675f9e8f4a1dfbbaa0 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 @@ -18,10 +18,10 @@ Signed-off-by: Khem Raj 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt -index cf478bcee01f..4b374572905d 100644 +index 2b67c5972339..45d84b404b30 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt -@@ -472,7 +472,7 @@ set(LIBCXXABI_LIBUNWIND_PATH "${LIBCXXABI_LIBUNWIND_PATH}" CACHE PATH +@@ -476,7 +476,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) @@ -30,7 +30,7 @@ index cf478bcee01f..4b374572905d 100644 PATHS ${LIBCXXABI_LIBUNWIND_INCLUDES} ${LIBCXXABI_LIBUNWIND_PATH}/include ${CMAKE_BINARY_DIR}/${LIBCXXABI_LIBUNWIND_INCLUDES} -@@ -483,18 +483,23 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) +@@ -487,18 +487,23 @@ if (LIBCXXABI_USE_LLVM_UNWINDER OR LLVM_NATIVE_ARCH MATCHES ARM) NO_CMAKE_FIND_ROOT_PATH ) diff --git a/meta/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch b/meta/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch index b6885e2f42..7a082be28a 100644 --- a/meta/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch +++ b/meta/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch @@ -1,4 +1,4 @@ -From b044e0e56a8af940836056f61145dea1f961cd4c Mon Sep 17 00:00:00 2001 +From ef520576789bee51de0bb3914ad51cf117c1c880 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 diff --git a/meta/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch b/meta/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch index 44cb2299cd..5777a48e59 100644 --- a/meta/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch +++ b/meta/recipes-devtools/clang/clang/0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch @@ -1,4 +1,4 @@ -From ab6fdb73b582c1eafd1c342e9cde5b3d8ec7ab86 Mon Sep 17 00:00:00 2001 +From 4eeac06ba9fda1f253021aa79ab471c7d835ec43 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 @@ -21,10 +21,10 @@ Signed-off-by: Khem Raj 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt -index 9f8e8334d75b..a0ba047bdb73 100644 +index a92258ae1244..98c4e9a681d5 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt -@@ -107,7 +107,16 @@ if (COMPILER_RT_STANDALONE_BUILD) +@@ -109,7 +109,16 @@ if (COMPILER_RT_STANDALONE_BUILD) set(CMAKE_CXX_EXTENSIONS NO) if (NOT LLVM_RUNTIMES_BUILD) diff --git a/meta/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch b/meta/recipes-devtools/clang/clang/0004-llvm-allow-env-override-of-exe-and-libdir-path.patch similarity index 81% rename from meta/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch rename to meta/recipes-devtools/clang/clang/0004-llvm-allow-env-override-of-exe-and-libdir-path.patch index 797980f554..9749ba5c67 100644 --- a/meta/recipes-devtools/clang/clang/0005-llvm-allow-env-override-of-exe-and-libdir-path.patch +++ b/meta/recipes-devtools/clang/clang/0004-llvm-allow-env-override-of-exe-and-libdir-path.patch @@ -1,4 +1,4 @@ -From fb846030137c14f4f64937f0bfad5a6aad9bb523 Mon Sep 17 00:00:00 2001 +From 8d6bc584c3aa0b695fc8616bbdcd02e0b6bb1e45 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 @@ -19,13 +19,13 @@ Signed-off-by: Khem Raj 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 49df8fdcb7f7..c092db81bb8f 100644 +index 24ea264419af..0a3f51ae2b83 100644 --- a/llvm/tools/llvm-config/llvm-config.cpp +++ b/llvm/tools/llvm-config/llvm-config.cpp -@@ -245,6 +245,13 @@ Typical components:\n\ +@@ -248,6 +248,13 @@ Typical components:\n\ /// Compute the path to the main executable. - std::string GetExecutablePath(const char *Argv0) { + static 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"); @@ -35,24 +35,24 @@ index 49df8fdcb7f7..c092db81bb8f 100644 + // 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; -@@ -324,7 +331,7 @@ int main(int argc, char **argv) { + void *P = (void *)(intptr_t)getExecutablePath; +@@ -326,7 +333,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; + std::vector ActiveIncludeOptions; if (IsInDevelopmentTree) { ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include"; -@@ -365,12 +372,18 @@ int main(int argc, char **argv) { - sys::fs::make_absolute(ActivePrefix, Path); +@@ -367,12 +374,18 @@ int main(int argc, char **argv) { + sys::path::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); +- sys::path::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 @@ -66,6 +66,6 @@ index 49df8fdcb7f7..c092db81bb8f 100644 } + ActiveLibDir = ActivePrefix + BaseLibDir; + ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; + ActiveIncludeOptions.push_back(ActiveIncludeDir); } diff --git a/meta/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch b/meta/recipes-devtools/clang/clang/0005-clang-driver-Check-sysroot-for-ldso-path.patch similarity index 88% rename from meta/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch rename to meta/recipes-devtools/clang/clang/0005-clang-driver-Check-sysroot-for-ldso-path.patch index c4f04e68e8..a80b472bc3 100644 --- a/meta/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch +++ b/meta/recipes-devtools/clang/clang/0005-clang-driver-Check-sysroot-for-ldso-path.patch @@ -1,4 +1,4 @@ -From d547d656c8063eff2db8dbab3e226e29288acd54 Mon Sep 17 00:00:00 2001 +From 449d13f69cf2a59d6e5b13e0db48d9f10592a34e 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 @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 8ac8d4eb9181..f1a334c7a081 100644 +index d525b417b4ea..1c31901ade74 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -515,8 +515,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -630,8 +630,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { Triple.getEnvironment() == llvm::Triple::GNUEABIHFT64 || tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; @@ -34,7 +34,7 @@ index 8ac8d4eb9181..f1a334c7a081 100644 break; } case llvm::Triple::loongarch32: { -@@ -570,11 +574,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -685,11 +689,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { LibDir = "lib64"; Loader = (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; @@ -54,7 +54,7 @@ index 8ac8d4eb9181..f1a334c7a081 100644 break; case llvm::Triple::riscv32: case llvm::Triple::riscv64: { -@@ -592,6 +604,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -707,6 +719,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { case llvm::Triple::sparcv9: LibDir = "lib64"; Loader = "ld-linux.so.2"; @@ -65,7 +65,7 @@ index 8ac8d4eb9181..f1a334c7a081 100644 break; case llvm::Triple::systemz: LibDir = "lib"; -@@ -606,6 +622,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -721,6 +737,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"; diff --git a/meta/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/meta/recipes-devtools/clang/clang/0006-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch similarity index 86% rename from meta/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch rename to meta/recipes-devtools/clang/clang/0006-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch index 0ebabad3f6..a313639818 100644 --- a/meta/recipes-devtools/clang/clang/0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch +++ b/meta/recipes-devtools/clang/clang/0006-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch @@ -1,4 +1,4 @@ -From 007986bc79780a879d9fbf77ac8565bf9c82eb8c Mon Sep 17 00:00:00 2001 +From 83c7e439b87352ac28f4f13cccd23ac9892bd624 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 @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj 1 file changed, 6 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index f5e265585743..3565c9398f92 100644 +index cb6a9b242421..8f126474b7d1 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -551,6 +551,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, +@@ -539,6 +539,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (IsIAMCU) CmdArgs.push_back("-lgloss"); diff --git a/meta/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch b/meta/recipes-devtools/clang/clang/0007-clang-Prepend-trailing-to-sysroot.patch similarity index 88% rename from meta/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch rename to meta/recipes-devtools/clang/clang/0007-clang-Prepend-trailing-to-sysroot.patch index eb11427f96..95c3620a76 100644 --- a/meta/recipes-devtools/clang/clang/0008-clang-Prepend-trailing-to-sysroot.patch +++ b/meta/recipes-devtools/clang/clang/0007-clang-Prepend-trailing-to-sysroot.patch @@ -1,4 +1,4 @@ -From 82ba05d9deeba4188f4a61d6a502565b22dad656 Mon Sep 17 00:00:00 2001 +From a4a69433c13e4d8f17c16920a7fee4370f3f99e8 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 @@ -25,10 +25,10 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index f1a334c7a081..67e922e08228 100644 +index 1c31901ade74..f7f096c1ac0a 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -215,7 +215,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) +@@ -235,7 +235,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(); diff --git a/meta/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/meta/recipes-devtools/clang/clang/0008-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch similarity index 89% rename from meta/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch rename to meta/recipes-devtools/clang/clang/0008-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch index 4d60808814..9010a424c1 100644 --- a/meta/recipes-devtools/clang/clang/0009-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch +++ b/meta/recipes-devtools/clang/clang/0008-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch @@ -1,4 +1,4 @@ -From caf707f3e0dfe6a589dbbd73a4d0edbe759892cd Mon Sep 17 00:00:00 2001 +From 210b589dcd380c54af2d74313203cb1b5dcf99eb 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 @@ -16,7 +16,7 @@ Signed-off-by: Khem Raj 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp -index 07a3ae925f96..ec28b899f829 100644 +index 77a2c73f0d44..f39de1409c3c 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -15,6 +15,7 @@ @@ -27,7 +27,7 @@ index 07a3ae925f96..ec28b899f829 100644 #include "clang/Config/config.h" #include "clang/Driver/Action.h" #include "clang/Driver/CommonArgs.h" -@@ -702,7 +703,10 @@ StringRef ToolChain::getOSLibName() const { +@@ -723,7 +724,10 @@ StringRef ToolChain::getOSLibName() const { } std::string ToolChain::getCompilerRTPath() const { diff --git a/meta/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch b/meta/recipes-devtools/clang/clang/0009-clang-Define-releative-gcc-installation-dir.patch similarity index 93% rename from meta/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch rename to meta/recipes-devtools/clang/clang/0009-clang-Define-releative-gcc-installation-dir.patch index 5a170b3113..600af6165b 100644 --- a/meta/recipes-devtools/clang/clang/0010-clang-Define-releative-gcc-installation-dir.patch +++ b/meta/recipes-devtools/clang/clang/0009-clang-Define-releative-gcc-installation-dir.patch @@ -1,4 +1,4 @@ -From efd146e3170d15f5c6fbe177ce98b61f796bb45b Mon Sep 17 00:00:00 2001 +From 34fea9c83ec264f37573a3498ad25d5f15cc5139 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 @@ -61,7 +61,7 @@ Signed-off-by: Khem Raj 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 3565c9398f92..6c52b337c16d 100644 +index 8f126474b7d1..c80980a7fb09 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -18,6 +18,7 @@ @@ -71,8 +71,8 @@ index 3565c9398f92..6c52b337c16d 100644 +#include "clang/Driver/Distro.h" #include "clang/Driver/Driver.h" #include "clang/Driver/MultilibBuilder.h" - #include "clang/Driver/Options.h" -@@ -2798,6 +2799,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( + #include "clang/Driver/Tool.h" +@@ -2847,6 +2848,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) { @@ -80,7 +80,7 @@ index 3565c9398f92..6c52b337c16d 100644 // Locations relative to the system lib directory where GCC's triple-specific // directories might reside. struct GCCLibSuffix { -@@ -2809,19 +2811,20 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( +@@ -2858,19 +2860,20 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( // Whether this library suffix is relevant for the triple. bool Active; } Suffixes[] = { @@ -106,9 +106,9 @@ index 3565c9398f92..6c52b337c16d 100644 + // Debian puts cross-compilers in gcc-cross. + {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists}}; + SmallVector Installations; for (auto &Suffix : Suffixes) { - if (!Suffix.Active) -@@ -3212,8 +3215,11 @@ Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, +@@ -3273,8 +3276,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"); diff --git a/meta/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch b/meta/recipes-devtools/clang/clang/0010-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch similarity index 87% rename from meta/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch rename to meta/recipes-devtools/clang/clang/0010-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch index 35e0e7b8a0..730b1a69d6 100644 --- a/meta/recipes-devtools/clang/clang/0011-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch +++ b/meta/recipes-devtools/clang/clang/0010-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch @@ -1,4 +1,4 @@ -From ec4353ee503799295624e1d3a23bd58f81916942 Mon Sep 17 00:00:00 2001 +From a2e17ab8cdaec876783272c4a981e1d0840dc2f3 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 @@ -21,10 +21,10 @@ Signed-off-by: Khem Raj 1 file changed, 2 insertions(+) diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp -index 8d3775de9be5..d34b4d680c5e 100644 +index 10a1a412eea0..a217897610c3 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp -@@ -2326,6 +2326,8 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D, +@@ -2415,6 +2415,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"); diff --git a/meta/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch b/meta/recipes-devtools/clang/clang/0011-Check-for-atomic-double-intrinsics.patch similarity index 94% rename from meta/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch rename to meta/recipes-devtools/clang/clang/0011-Check-for-atomic-double-intrinsics.patch index 3421465af4..47c6b3af3f 100644 --- a/meta/recipes-devtools/clang/clang/0013-Check-for-atomic-double-intrinsics.patch +++ b/meta/recipes-devtools/clang/clang/0011-Check-for-atomic-double-intrinsics.patch @@ -1,4 +1,4 @@ -From d8aa37bcef7b1def50a84315b9a6165257a3a4f3 Mon Sep 17 00:00:00 2001 +From f5ede55e9ee16abace53b961767a96b705c35033 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 diff --git a/meta/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch b/meta/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch deleted file mode 100644 index 64c17d23f2..0000000000 --- a/meta/recipes-devtools/clang/clang/0012-Pass-PYTHON_EXECUTABLE-when-cross-compiling-for-nati.patch +++ /dev/null @@ -1,24 +0,0 @@ -From c3600b46f7fae26fb66fa48401617e6ca1be260c 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 bfbd9cfd4063..2a69c5133c56 100644 ---- a/llvm/cmake/modules/CrossCompile.cmake -+++ b/llvm/cmake/modules/CrossCompile.cmake -@@ -101,6 +101,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype) - -DLLVM_INCLUDE_BENCHMARKS=OFF - -DLLVM_INCLUDE_TESTS=OFF - -DLLVM_TABLEGEN_FLAGS="${LLVM_TABLEGEN_FLAGS}" -+ -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/meta/recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch b/meta/recipes-devtools/clang/clang/0012-cmake-Fix-configure-for-packages-using-find_package.patch similarity index 90% rename from meta/recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch rename to meta/recipes-devtools/clang/clang/0012-cmake-Fix-configure-for-packages-using-find_package.patch index b518da1724..3d80fb811c 100644 --- a/meta/recipes-devtools/clang/clang/0014-cmake-Fix-configure-for-packages-using-find_package.patch +++ b/meta/recipes-devtools/clang/clang/0012-cmake-Fix-configure-for-packages-using-find_package.patch @@ -1,4 +1,4 @@ -From f2232b5332f650f4920e1f2a86530de9b26ef1fc Mon Sep 17 00:00:00 2001 +From 1fd496b6c684f5c2d3c562e1bfd8b176a604c55c 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() @@ -51,10 +51,10 @@ index 4059fc3e986c..44d43aa8f25b 100644 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 83772ed8d2b1..1d184b8d613f 100644 +index d938214f9d0d..4816f2127e14 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -1495,7 +1495,6 @@ macro(llvm_add_tool project name) +@@ -1485,7 +1485,6 @@ macro(llvm_add_tool project name) if( LLVM_BUILD_TOOLS ) get_target_export_arg(${name} ${project} export_to_llvmexports) install(TARGETS ${name} @@ -62,7 +62,7 @@ index 83772ed8d2b1..1d184b8d613f 100644 RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR} COMPONENT ${name}) if (LLVM_ENABLE_PDB) -@@ -1511,10 +1510,8 @@ macro(llvm_add_tool project name) +@@ -1501,10 +1500,8 @@ macro(llvm_add_tool project name) endif() endif() endif() @@ -75,7 +75,7 @@ index 83772ed8d2b1..1d184b8d613f 100644 endif() get_subproject_title(subproject_title) set_target_properties(${name} PROPERTIES FOLDER "${subproject_title}/Tools") -@@ -1569,7 +1566,6 @@ macro(add_llvm_utility name) +@@ -1559,7 +1556,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} @@ -83,7 +83,7 @@ index 83772ed8d2b1..1d184b8d613f 100644 RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} COMPONENT ${name}) if (LLVM_ENABLE_PDB) -@@ -1583,7 +1579,6 @@ macro(add_llvm_utility name) +@@ -1573,7 +1569,6 @@ macro(add_llvm_utility name) DEPENDS ${name} COMPONENT ${name}) endif() @@ -92,10 +92,10 @@ index 83772ed8d2b1..1d184b8d613f 100644 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 9a2e73a1e371..149c94487edb 100644 +index 84c03cd6432e..72da60ce3ca1 100644 --- a/llvm/cmake/modules/TableGen.cmake +++ b/llvm/cmake/modules/TableGen.cmake -@@ -227,12 +227,7 @@ macro(add_tablegen target project) +@@ -237,12 +237,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)) @@ -108,7 +108,7 @@ index 9a2e73a1e371..149c94487edb 100644 COMPONENT ${target} RUNTIME DESTINATION "${ADD_TABLEGEN_DESTINATION}") if(NOT LLVM_ENABLE_IDE) -@@ -243,7 +238,6 @@ macro(add_tablegen target project) +@@ -253,7 +248,6 @@ macro(add_tablegen target project) endif() if(ADD_TABLEGEN_EXPORT) string(TOUPPER ${ADD_TABLEGEN_EXPORT} export_upper) diff --git a/meta/recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch b/meta/recipes-devtools/clang/clang/0013-clang-Fix-resource-dir-location-for-cross-toolchains.patch similarity index 80% rename from meta/recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch rename to meta/recipes-devtools/clang/clang/0013-clang-Fix-resource-dir-location-for-cross-toolchains.patch index a9841fdc29..1247435624 100644 --- a/meta/recipes-devtools/clang/clang/0015-clang-Fix-resource-dir-location-for-cross-toolchains.patch +++ b/meta/recipes-devtools/clang/clang/0013-clang-Fix-resource-dir-location-for-cross-toolchains.patch @@ -1,4 +1,4 @@ -From acc6845a5fc31b64640dece7786293f782a33f35 Mon Sep 17 00:00:00 2001 +From 4489105ec8cac2924ba1a9b97e93d220d5c80e4e 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 @@ -13,17 +13,18 @@ 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 ++++++++- + clang/lib/Options/OptionUtils.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) -diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp -index 55748c0bce91..306716809f54 100644 ---- a/clang/lib/Driver/Driver.cpp -+++ b/clang/lib/Driver/Driver.cpp -@@ -188,6 +188,7 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath) { +diff --git a/clang/lib/Options/OptionUtils.cpp b/clang/lib/Options/OptionUtils.cpp +index e5aefa012f67..7c1b657ce2c1 100644 +--- a/clang/lib/Options/OptionUtils.cpp ++++ b/clang/lib/Options/OptionUtils.cpp +@@ -213,6 +213,7 @@ std::string clang::GetResourcesPath(StringRef BinaryPath) { // Dir is bin/ or lib/, depending on where BinaryPath is. StringRef Dir = llvm::sys::path::parent_path(BinaryPath); @@ -31,7 +32,7 @@ index 55748c0bce91..306716809f54 100644 SmallString<128> P(Dir); StringRef ConfiguredResourceDir(CLANG_RESOURCE_DIR); -@@ -204,9 +205,15 @@ std::string Driver::GetResourcesPath(StringRef BinaryPath) { +@@ -229,9 +230,15 @@ std::string clang::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. diff --git a/meta/recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/meta/recipes-devtools/clang/clang/0014-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch similarity index 89% rename from meta/recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch rename to meta/recipes-devtools/clang/clang/0014-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch index 1b8e137813..27eec3575f 100644 --- a/meta/recipes-devtools/clang/clang/0016-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch +++ b/meta/recipes-devtools/clang/clang/0014-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch @@ -1,4 +1,4 @@ -From cbb2d023069d3774a68ac37aa9815ba5e80f2903 Mon Sep 17 00:00:00 2001 +From 96609db9cb81baa404bff930cf3e0093a70367a7 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 @@ -19,10 +19,10 @@ Signed-off-by: Khem Raj 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 67e922e08228..3ee2d56df00f 100644 +index f7f096c1ac0a..7b608a84a66e 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -517,8 +517,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -632,8 +632,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; LibDir = "lib32"; @@ -33,7 +33,7 @@ index 67e922e08228..3ee2d56df00f 100644 LibDir = "lib"; } break; -@@ -574,8 +574,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -689,8 +689,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { LibDir = "lib64"; Loader = (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; @@ -44,7 +44,7 @@ index 67e922e08228..3ee2d56df00f 100644 LibDir = "lib"; } break; -@@ -583,8 +583,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -698,8 +698,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { LibDir = "lib64"; Loader = (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; @@ -55,7 +55,7 @@ index 67e922e08228..3ee2d56df00f 100644 LibDir = "lib"; } break; -@@ -604,8 +604,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -719,8 +719,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { case llvm::Triple::sparcv9: LibDir = "lib64"; Loader = "ld-linux.so.2"; @@ -66,7 +66,7 @@ index 67e922e08228..3ee2d56df00f 100644 LibDir = "lib"; } break; -@@ -622,8 +622,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { +@@ -737,8 +737,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"; diff --git a/meta/recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch b/meta/recipes-devtools/clang/clang/0015-clang-Use-python3-in-python-scripts.patch similarity index 92% rename from meta/recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch rename to meta/recipes-devtools/clang/clang/0015-clang-Use-python3-in-python-scripts.patch index d283d77c2b..cf31f0f2b7 100644 --- a/meta/recipes-devtools/clang/clang/0017-clang-Use-python3-in-python-scripts.patch +++ b/meta/recipes-devtools/clang/clang/0015-clang-Use-python3-in-python-scripts.patch @@ -1,4 +1,4 @@ -From 9ed96e86d625e5a08b1142798d6da13e8e9c62c6 Mon Sep 17 00:00:00 2001 +From eda6a8b4da8630db99fb23ca8a49a9375d4a8aa8 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 @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 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 +index 49a1b1493264..6158876d15f7 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 @@ diff --git a/meta/recipes-devtools/clang/clang/0018-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch b/meta/recipes-devtools/clang/clang/0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch similarity index 91% rename from meta/recipes-devtools/clang/clang/0018-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch rename to meta/recipes-devtools/clang/clang/0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch index 696253a602..f9cf5eb3b0 100644 --- a/meta/recipes-devtools/clang/clang/0018-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch +++ b/meta/recipes-devtools/clang/clang/0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch @@ -1,4 +1,4 @@ -From 7cff6198ade4591b8bf2bfe4e94d7fe57241f926 Mon Sep 17 00:00:00 2001 +From 83ff15be59e49cdb746df59b5cb492b56552162e Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Mon, 25 Jan 2021 16:14:35 +0800 Subject: [PATCH] llvm/clang: Insert anchor for adding OE distro vendor names @@ -97,18 +97,18 @@ Signed-off-by: Khem Raj 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h -index 5c25592e68ad..122095f98bca 100644 +index 0e17b30eb7e8..b449a62dc299 100644 --- a/clang/include/clang/Driver/Distro.h +++ b/clang/include/clang/Driver/Distro.h -@@ -47,6 +47,7 @@ public: - RHEL7, +@@ -45,6 +45,7 @@ public: + RHEL10, Fedora, Gentoo, + //CLANG_EXTRA_OE_DISTRO_NAME OpenSUSE, - UbuntuHardy, - UbuntuIntrepid, -@@ -142,6 +143,7 @@ public: + UbuntuQuantal, + UbuntuRaring, +@@ -132,6 +133,7 @@ public: bool IsGentoo() const { return DistroVal == Gentoo; } @@ -117,7 +117,7 @@ index 5c25592e68ad..122095f98bca 100644 }; diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp -index 90e5a390be7e..1246236d62ef 100644 +index df10458d092d..61dc127a4574 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) { @@ -129,10 +129,10 @@ index 90e5a390be7e..1246236d62ef 100644 return Version; } diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 6c52b337c16d..df84e07da1fc 100644 +index c80980a7fb09..80fd8058bd98 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2374,6 +2374,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +@@ -2370,6 +2370,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", @@ -141,7 +141,7 @@ index 6c52b337c16d..df84e07da1fc 100644 static const char *const X32Triples[] = {"x86_64-linux-gnux32", "x86_64-pc-linux-gnux32"}; diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index 3ee2d56df00f..bb7270bb08ba 100644 +index 7b608a84a66e..4a0adedce09a 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -81,6 +81,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, @@ -153,15 +153,15 @@ index 3ee2d56df00f..bb7270bb08ba 100644 case llvm::Triple::aarch64: if (IsAndroid) diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp -index 0584c941d2e6..6b9567ad0b8d 100644 +index a4f9dd42c0fe..86b74451ec0d 100644 --- a/llvm/lib/TargetParser/Triple.cpp +++ b/llvm/lib/TargetParser/Triple.cpp -@@ -668,7 +668,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { - .Case("mesa", Triple::Mesa) +@@ -702,7 +702,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) { .Case("suse", Triple::SUSE) .Case("oe", Triple::OpenEmbedded) -- .Case("intel", Triple::Intel) -+ .Case("intel", Triple::Intel) //CLANG_EXTRA_OE_VENDORS_CASES + .Case("intel", Triple::Intel) +- .Case("meta", Triple::Meta) ++ .Case("meta", Triple::Meta) //CLANG_EXTRA_OE_VENDORS_CASES .Default(Triple::UnknownVendor); } diff --git a/meta/recipes-devtools/clang/clang/0019-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch b/meta/recipes-devtools/clang/clang/0017-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch similarity index 97% rename from meta/recipes-devtools/clang/clang/0019-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch rename to meta/recipes-devtools/clang/clang/0017-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch index 79b396e132..b591fecc7e 100644 --- a/meta/recipes-devtools/clang/clang/0019-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch +++ b/meta/recipes-devtools/clang/clang/0017-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch @@ -1,4 +1,4 @@ -From 806d90c9bead326dc1d181fdc6449f7c14f6abef Mon Sep 17 00:00:00 2001 +From 4902e73e4bfaec34ddeb5b367b0b197b3cece5f2 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 diff --git a/meta/recipes-devtools/clang/clang/0018-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/meta/recipes-devtools/clang/clang/0018-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch new file mode 100644 index 0000000000..b4db6c1996 --- /dev/null +++ b/meta/recipes-devtools/clang/clang/0018-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch @@ -0,0 +1,29 @@ +From c61bf65967bfd083862f227c69e2e0dc51b0ecc2 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, 2 insertions(+), 1 deletion(-) + +diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp +index 4a0adedce09a..9fed904c05c2 100644 +--- a/clang/lib/Driver/ToolChains/Linux.cpp ++++ b/clang/lib/Driver/ToolChains/Linux.cpp +@@ -227,8 +227,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + : Generic_ELF(D, Triple, Args) { + GCCInstallation.TripleToDebianMultiarch = [](const llvm::Triple &T) { + StringRef TripleStr = T.str(); ++ // OpenEmbedded does not hardcode the triple to i386-linux-gnu like debian + StringRef DebianMultiarch = +- T.getArch() == llvm::Triple::x86 ? "i386-linux-gnu" : TripleStr; ++ T.getArch() == llvm::Triple::x86 && T.getVendor() != llvm::Triple::OpenEmbedded ? "i386-linux-gnu" : TripleStr; + return DebianMultiarch; + }; + diff --git a/meta/recipes-devtools/clang/clang/0021-libunwind-Added-unw_backtrace-method.patch b/meta/recipes-devtools/clang/clang/0019-libunwind-Added-unw_backtrace-method.patch similarity index 82% rename from meta/recipes-devtools/clang/clang/0021-libunwind-Added-unw_backtrace-method.patch rename to meta/recipes-devtools/clang/clang/0019-libunwind-Added-unw_backtrace-method.patch index 2580c9e68e..9440b73767 100644 --- a/meta/recipes-devtools/clang/clang/0021-libunwind-Added-unw_backtrace-method.patch +++ b/meta/recipes-devtools/clang/clang/0019-libunwind-Added-unw_backtrace-method.patch @@ -1,4 +1,4 @@ -From 04c601a6a77aff75bae5e395c5c6a21446ad1856 Mon Sep 17 00:00:00 2001 +From 66fd11e91ad01fd8065d5545caabd86cf73b0a82 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 @@ -12,22 +12,22 @@ Signed-off-by: Khem Raj 2 files changed, 21 insertions(+) diff --git a/libunwind/include/libunwind.h b/libunwind/include/libunwind.h -index b2dae8feed9a..0ab974c9bfa4 100644 +index 56ca7110274a..60a27f28100b 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; +@@ -235,6 +235,7 @@ 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 const char *unw_strerror(int) LIBUNWIND_AVAIL; +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 +index 7ffffc2a30c0..ed0b394cb002 100644 --- a/libunwind/src/libunwind.cpp +++ b/libunwind/src/libunwind.cpp -@@ -431,6 +431,26 @@ int __unw_remove_find_dynamic_unwind_sections( +@@ -531,6 +531,26 @@ int __unw_remove_find_dynamic_unwind_sections( #endif // __APPLE__ diff --git a/meta/recipes-devtools/clang/clang/0020-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch b/meta/recipes-devtools/clang/clang/0020-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch deleted file mode 100644 index 5646fcd026..0000000000 --- a/meta/recipes-devtools/clang/clang/0020-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 38c0e64da50d88605728f26c5d9dd6fbbb84ec82 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 bb7270bb08ba..6354c4d06570 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -720,6 +720,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/meta/recipes-devtools/clang/clang/0022-lldb-Link-with-libatomic-on-x86.patch b/meta/recipes-devtools/clang/clang/0020-lldb-Link-with-libatomic-on-x86.patch similarity index 92% rename from meta/recipes-devtools/clang/clang/0022-lldb-Link-with-libatomic-on-x86.patch rename to meta/recipes-devtools/clang/clang/0020-lldb-Link-with-libatomic-on-x86.patch index cc25c4b5cb..86572c9f5c 100644 --- a/meta/recipes-devtools/clang/clang/0022-lldb-Link-with-libatomic-on-x86.patch +++ b/meta/recipes-devtools/clang/clang/0020-lldb-Link-with-libatomic-on-x86.patch @@ -1,4 +1,4 @@ -From 1e5283110b9c089eece00e3104704f2317bd7586 Mon Sep 17 00:00:00 2001 +From d3369eb71b185b8dd4a861c95f3ee1c37f4c4d62 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 @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 1 file changed, 4 insertions(+) diff --git a/lldb/source/Utility/CMakeLists.txt b/lldb/source/Utility/CMakeLists.txt -index 1dd4d63f7016..8821b73be476 100644 +index 04f1692e53b3..da0a48d9da54 100644 --- a/lldb/source/Utility/CMakeLists.txt +++ b/lldb/source/Utility/CMakeLists.txt @@ -19,6 +19,10 @@ if (CMAKE_SYSTEM_NAME MATCHES "Windows") diff --git a/meta/recipes-devtools/clang/clang/0023-compiler-rt-Enable-__int128-for-ppc32.patch b/meta/recipes-devtools/clang/clang/0021-compiler-rt-Enable-__int128-for-ppc32.patch similarity index 68% rename from meta/recipes-devtools/clang/clang/0023-compiler-rt-Enable-__int128-for-ppc32.patch rename to meta/recipes-devtools/clang/clang/0021-compiler-rt-Enable-__int128-for-ppc32.patch index 866a1ecc70..0ddac62e0f 100644 --- a/meta/recipes-devtools/clang/clang/0023-compiler-rt-Enable-__int128-for-ppc32.patch +++ b/meta/recipes-devtools/clang/clang/0021-compiler-rt-Enable-__int128-for-ppc32.patch @@ -1,4 +1,4 @@ -From 371173b5c202288f7992fb4855ec631250b691b4 Mon Sep 17 00:00:00 2001 +From 223392b1ee3179b237856447ca42ab527276a995 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 @@ -6,15 +6,15 @@ 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/CMakeLists.txt | 13 ++++++------- compiler-rt/lib/builtins/int_types.h | 2 +- - 2 files changed, 8 insertions(+), 9 deletions(-) + 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt -index 3ab92403d416..9c1148e2a8e3 100644 +index c3dbd65998f1..b3a44ea3c3b3 100644 --- a/compiler-rt/lib/builtins/CMakeLists.txt +++ b/compiler-rt/lib/builtins/CMakeLists.txt -@@ -752,11 +752,9 @@ set(mips64el_SOURCES ${GENERIC_TF_SOURCES} +@@ -813,11 +813,9 @@ set(mips64el_SOURCES ${GENERIC_TF_SOURCES} set(nvptx64_SOURCES ${GENERIC_SOURCES}) @@ -27,7 +27,7 @@ index 3ab92403d416..9c1148e2a8e3 100644 ppc/divtc3.c ppc/fixtfdi.c ppc/fixunstfdi.c -@@ -771,14 +769,15 @@ set(powerpc64_SOURCES +@@ -832,14 +830,15 @@ set(powerpc64_SOURCES ) # These routines require __int128, which isn't supported on AIX. if (NOT OS_NAME MATCHES "AIX") @@ -46,18 +46,15 @@ index 3ab92403d416..9c1148e2a8e3 100644 set(riscv_SOURCES cpu_model/riscv.c -@@ -948,9 +947,9 @@ else () - list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) - endif() +@@ -1014,7 +1013,7 @@ else () -- # For RISCV32, we must force enable int128 for compiling long -+ # For RISCV32/PPC32, we must force enable int128 for compiling long + # For RISCV32 and 32-bit SPARC, 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") +- if (COMPILER_RT_ENABLE_SOFTWARE_INT128 OR ("${arch}" MATCHES "riscv32|sparc$" ++ if (COMPILER_RT_ENABLE_SOFTWARE_INT128 OR ("${arch}" MATCHES "riscv32|powerpc|sparc$" + AND NOT CMAKE_COMPILER_IS_GNUCC)) 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 7c7f8cb64aa9..81386f1b99b0 100644 --- a/compiler-rt/lib/builtins/int_types.h diff --git a/meta/recipes-devtools/clang/clang/0024-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch b/meta/recipes-devtools/clang/clang/0022-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch similarity index 91% rename from meta/recipes-devtools/clang/clang/0024-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch rename to meta/recipes-devtools/clang/clang/0022-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch index 6d5e7db46b..025e52078d 100644 --- a/meta/recipes-devtools/clang/clang/0024-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch +++ b/meta/recipes-devtools/clang/clang/0022-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch @@ -1,4 +1,4 @@ -From 71b10214a98cdd3fdec3965a1195ce8cc70baf96 Mon Sep 17 00:00:00 2001 +From 8f03c695454a0a79a7f8bc651434e651f46c1f02 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 @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt -index a579eaf7d953..6eba2b7a8e6c 100644 +index 099b0e55579b..8c35b8a31457 100644 --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -22,7 +22,7 @@ if (HAS_WERROR_GLOBAL_CTORS) @@ -42,7 +42,7 @@ index a579eaf7d953..6eba2b7a8e6c 100644 endif() if( WIN32 ) -@@ -339,7 +339,7 @@ if(LLVM_ENABLE_ZLIB) +@@ -351,7 +351,7 @@ if(LLVM_ENABLE_ZLIB) get_property(zlib_library TARGET ZLIB::ZLIB PROPERTY LOCATION) endif() get_library_name(${zlib_library} zlib_library) @@ -51,7 +51,7 @@ index a579eaf7d953..6eba2b7a8e6c 100644 endif() if(LLVM_ENABLE_ZSTD) -@@ -353,7 +353,7 @@ if(LLVM_ENABLE_ZSTD) +@@ -365,7 +365,7 @@ if(LLVM_ENABLE_ZSTD) endif() if (zstd_target STREQUAL zstd::libzstd_shared) get_library_name(${zstd_library} zstd_library) diff --git a/meta/recipes-devtools/clang/clang/0025-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch b/meta/recipes-devtools/clang/clang/0023-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch similarity index 88% rename from meta/recipes-devtools/clang/clang/0025-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch rename to meta/recipes-devtools/clang/clang/0023-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch index 409b60132e..241dcc0b14 100644 --- a/meta/recipes-devtools/clang/clang/0025-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch +++ b/meta/recipes-devtools/clang/clang/0023-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch @@ -1,4 +1,4 @@ -From 8245da75b5626e2361ed2833cdfd08a51dc70459 Mon Sep 17 00:00:00 2001 +From d463a5bde09e3aa42eef12dafca5090d11000434 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 @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj 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 f118d53f0df8..c72814288990 100644 +index 05ebee49f2ab..89c4dcaf3e3d 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; +@@ -100,6 +100,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__) @@ -36,7 +36,7 @@ index f118d53f0df8..c72814288990 100644 const unsigned struct_kernel_stat_sz = SANITIZER_ANDROID ? FIRST_32_SECOND_64(104, 128) # if defined(_ABIN32) && _MIPS_SIM == _ABIN32 -@@ -108,6 +120,7 @@ const unsigned struct_kernel_stat_sz = SANITIZER_ANDROID +@@ -110,6 +122,7 @@ const unsigned struct_kernel_stat_sz = SANITIZER_ANDROID : FIRST_32_SECOND_64(160, 216); # endif const unsigned struct_kernel_stat64_sz = 104; diff --git a/meta/recipes-devtools/clang/clang/0026-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch b/meta/recipes-devtools/clang/clang/0024-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch similarity index 98% rename from meta/recipes-devtools/clang/clang/0026-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch rename to meta/recipes-devtools/clang/clang/0024-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch index 6c8dfb96b7..66f8206cb9 100644 --- a/meta/recipes-devtools/clang/clang/0026-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch +++ b/meta/recipes-devtools/clang/clang/0024-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch @@ -1,4 +1,4 @@ -From fa56e3ce3bbd7b795ab553a1b5da4a0f90589fda Mon Sep 17 00:00:00 2001 +From f131292f065b8f0abaf747f27b390ce0cc91d88d 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 @@ -55,10 +55,10 @@ Signed-off-by: Martin Jansa 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index df84e07da1fc..21c8a30719e0 100644 +index 80fd8058bd98..37cb6cfdf2da 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2350,7 +2350,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +@@ -2346,7 +2346,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( static const char *const AArch64beLibDirs[] = {"/lib"}; static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu"}; @@ -68,7 +68,7 @@ index df84e07da1fc..21c8a30719e0 100644 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 6354c4d06570..c77337561b89 100644 +index 9fed904c05c2..5bb66c9faa1f 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -198,6 +198,7 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) { diff --git a/meta/recipes-devtools/clang/clang/0027-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch b/meta/recipes-devtools/clang/clang/0025-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch similarity index 88% rename from meta/recipes-devtools/clang/clang/0027-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch rename to meta/recipes-devtools/clang/clang/0025-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch index 40fb95439a..b7b4e9430d 100644 --- a/meta/recipes-devtools/clang/clang/0027-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch +++ b/meta/recipes-devtools/clang/clang/0025-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch @@ -1,4 +1,4 @@ -From 6d381de086b2646c438af919f2f1ed2c46c8e89a Mon Sep 17 00:00:00 2001 +From c709e3253eada59c2d17bd6bc826180247e9692b 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 @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index 21c8a30719e0..3a0f1a247481 100644 +index 37cb6cfdf2da..bcd7d345c25a 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2413,6 +2413,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( +@@ -2415,6 +2415,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( static const char *const MIPSN32LibDirs[] = {"/lib32"}; static const char *const MIPSN32Triples[] = {"mips64-linux-gnuabin32", @@ -26,7 +26,7 @@ index 21c8a30719e0..3a0f1a247481 100644 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 c77337561b89..9a7f8ffd72e2 100644 +index 5bb66c9faa1f..c6d6e20dbc4d 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -138,7 +138,7 @@ std::string Linux::getMultiarchTriple(const Driver &D, @@ -48,10 +48,10 @@ index c77337561b89..9a7f8ffd72e2 100644 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 6b9567ad0b8d..6eafade97808 100644 +index 86b74451ec0d..d94b7d44d11a 100644 --- a/llvm/lib/TargetParser/Triple.cpp +++ b/llvm/lib/TargetParser/Triple.cpp -@@ -339,7 +339,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) { +@@ -358,7 +358,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) { case GNU: return "gnu"; case GNUT64: return "gnut64"; case GNUABI64: return "gnuabi64"; @@ -60,7 +60,7 @@ index 6b9567ad0b8d..6eafade97808 100644 case GNUEABI: return "gnueabi"; case GNUEABIT64: return "gnueabit64"; case GNUEABIHF: return "gnueabihf"; -@@ -725,6 +725,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) { +@@ -762,6 +762,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) { .StartsWith("eabihf", Triple::EABIHF) .StartsWith("eabi", Triple::EABI) .StartsWith("gnuabin32", Triple::GNUABIN32) @@ -68,7 +68,7 @@ index 6b9567ad0b8d..6eafade97808 100644 .StartsWith("gnuabi64", Triple::GNUABI64) .StartsWith("gnueabihft64", Triple::GNUEABIHFT64) .StartsWith("gnueabihf", Triple::GNUEABIHF) -@@ -1039,6 +1040,7 @@ Triple::Triple(std::string &&Str) : Data(std::move(Str)) { +@@ -1087,6 +1088,7 @@ Triple::Triple(std::string &&Str) : Data(std::move(Str)) { Environment = StringSwitch(Components[0]) .StartsWith("mipsn32", Triple::GNUABIN32) diff --git a/meta/recipes-devtools/clang/clang/0028-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch b/meta/recipes-devtools/clang/clang/0026-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch similarity index 97% rename from meta/recipes-devtools/clang/clang/0028-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch rename to meta/recipes-devtools/clang/clang/0026-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch index 407956f8ee..6c0d57637c 100644 --- a/meta/recipes-devtools/clang/clang/0028-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch +++ b/meta/recipes-devtools/clang/clang/0026-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch @@ -1,4 +1,4 @@ -From c9060d3385b65e9a3d514801c68da7aa41647c5b Mon Sep 17 00:00:00 2001 +From e6188607010124711424b0e740026eb814260a01 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 diff --git a/meta/recipes-devtools/clang/clang/0027-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch b/meta/recipes-devtools/clang/clang/0027-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch new file mode 100644 index 0000000000..43154fc25c --- /dev/null +++ b/meta/recipes-devtools/clang/clang/0027-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch @@ -0,0 +1,90 @@ +From 65c639d79a5f914cfdfaf1357f0583d2a96d927e 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 84087a9fd8d2..ed1e55cc099f 100644 +--- a/clang/tools/scan-build-py/CMakeLists.txt ++++ b/clang/tools/scan-build-py/CMakeLists.txt +@@ -80,50 +80,50 @@ if(CLANG_INSTALL_SCANBUILDPY) + 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 + 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/ +- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) +- list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) ++ ${CMAKE_CURRENT_SOURCE_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/${lib} ++ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/ ++ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/${lib}) ++ list(APPEND Depends ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/${lib}) + install(FILES lib/libscanbuild/${lib} + DESTINATION lib/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 + 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 +- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) +- list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) ++ ${CMAKE_CURRENT_SOURCE_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources/${resource} ++ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libscanbuild/resources ++ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib${LLVM_LIBDIR_SUFFIX}/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 + 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 + 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/ +- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) +- list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) ++ ${CMAKE_CURRENT_SOURCE_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/${lib} ++ ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/ ++ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/${lib}) ++ list(APPEND Depends ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libear/${lib}) + install(FILES lib/libear/${lib} + DESTINATION lib/libear + COMPONENT scan-build-py) diff --git a/meta/recipes-devtools/clang/clang/0030-compiler-rt-Do-not-pass-target-to-clang-compiler.patch b/meta/recipes-devtools/clang/clang/0028-compiler-rt-Do-not-pass-target-to-clang-compiler.patch similarity index 91% rename from meta/recipes-devtools/clang/clang/0030-compiler-rt-Do-not-pass-target-to-clang-compiler.patch rename to meta/recipes-devtools/clang/clang/0028-compiler-rt-Do-not-pass-target-to-clang-compiler.patch index 3a670bf94f..84384a3700 100644 --- a/meta/recipes-devtools/clang/clang/0030-compiler-rt-Do-not-pass-target-to-clang-compiler.patch +++ b/meta/recipes-devtools/clang/clang/0028-compiler-rt-Do-not-pass-target-to-clang-compiler.patch @@ -1,4 +1,4 @@ -From 223ba6978ee5d198e4dd792e702e5049d53bde37 Mon Sep 17 00:00:00 2001 +From 2363194c7a0aa99fa94f83c1508573070ab0a6e3 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 @@ -13,7 +13,7 @@ Signed-off-by: Khem Raj 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 +index a57e2fe46245..2928ed2ab6d5 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 diff --git a/meta/recipes-devtools/clang/clang/0031-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch b/meta/recipes-devtools/clang/clang/0029-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch similarity index 89% rename from meta/recipes-devtools/clang/clang/0031-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch rename to meta/recipes-devtools/clang/clang/0029-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch index f5ae5cca4c..2d188352c3 100644 --- a/meta/recipes-devtools/clang/clang/0031-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch +++ b/meta/recipes-devtools/clang/clang/0029-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch @@ -1,4 +1,4 @@ -From be6d7ca8f69615782b7376e61ff65feb0b389b58 Mon Sep 17 00:00:00 2001 +From 1cd4d023741bed5bc761a0ca598cb534448e531d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 27 Nov 2020 10:11:08 +0000 Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well @@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp -index bfd158614ae3..7b1a0ec686da 100644 +index e6085af5aa91..b0180638c754 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp -@@ -362,7 +362,10 @@ public: +@@ -384,7 +384,10 @@ public: // name of a class shouldn't be significant. However, some of the backends // accidentally rely on this behaviour, so it will have to stay like this // until they are fixed. diff --git a/meta/recipes-devtools/clang/clang/0029-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch b/meta/recipes-devtools/clang/clang/0029-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch deleted file mode 100644 index 47af9a0541..0000000000 --- a/meta/recipes-devtools/clang/clang/0029-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 0380d07443155f26cca1fef70a21426faf102624 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/meta/recipes-devtools/clang/clang/0032-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch b/meta/recipes-devtools/clang/clang/0030-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch similarity index 71% rename from meta/recipes-devtools/clang/clang/0032-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch rename to meta/recipes-devtools/clang/clang/0030-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch index cfa24d8c4b..2413328dca 100644 --- a/meta/recipes-devtools/clang/clang/0032-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch +++ b/meta/recipes-devtools/clang/clang/0030-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch @@ -1,4 +1,4 @@ -From ac2b09550c5b7e51e4ac70ff5dfa006a54e0bf0e Mon Sep 17 00:00:00 2001 +From c98860bee062b81b9cad4b9c07e6c0e6f37801a6 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Wed, 2 Apr 2025 17:05:17 +0300 Subject: [PATCH] llvm-config: remove LLVM_LDFLAGS from --ldflags output @@ -18,15 +18,15 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp -index c092db81bb8f..a02cc25020a7 100644 +index 0a3f51ae2b83..5c95a1f3ff24 100644 --- a/llvm/tools/llvm-config/llvm-config.cpp +++ b/llvm/tools/llvm-config/llvm-config.cpp -@@ -542,7 +542,7 @@ int main(int argc, char **argv) { - OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n'; - } else if (Arg == "--ldflags") { - OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L") -- << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n'; -+ << ActiveLibDir << '\n'; +@@ -576,7 +576,7 @@ int main(int argc, char **argv) { + HostTriple.isWindowsMSVCEnvironment() ? "-LIBPATH:" : "-L"; + LDFlags += ActiveLibDir; + MaybePrintQuoted(LDFlags); +- OS << ' ' << LLVM_LDFLAGS << '\n'; ++ OS << '\n'; } else if (Arg == "--system-libs") { PrintSystemLibs = true; } else if (Arg == "--libs") { diff --git a/meta/recipes-devtools/clang/clang/0033-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch b/meta/recipes-devtools/clang/clang/0031-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch similarity index 95% rename from meta/recipes-devtools/clang/clang/0033-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch rename to meta/recipes-devtools/clang/clang/0031-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch index e586de7d99..d20041dc63 100644 --- a/meta/recipes-devtools/clang/clang/0033-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch +++ b/meta/recipes-devtools/clang/clang/0031-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch @@ -1,4 +1,4 @@ -From 2c1f2effb8a5489fbb384610d7bf515a2c5b9b68 Mon Sep 17 00:00:00 2001 +From a53fec9b2df6089fd813e625e32c60db3f47a782 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 10 May 2025 14:03:12 -0700 Subject: [PATCH] compiler-rt: Exclude sync_fetch_and_* for any pre-ARMv6 @@ -40,10 +40,10 @@ Signed-off-by: Khem Raj 1 file changed, 12 insertions(+) diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt -index 9c1148e2a8e3..9a15606e1e22 100644 +index b3a44ea3c3b3..4a328ab0ca26 100644 --- a/compiler-rt/lib/builtins/CMakeLists.txt +++ b/compiler-rt/lib/builtins/CMakeLists.txt -@@ -908,6 +908,18 @@ else () +@@ -975,6 +975,18 @@ else () ${TARGET_${arch}_CFLAGS}) list(JOIN CMAKE_REQUIRED_FLAGS " " CMAKE_REQUIRED_FLAGS) message(STATUS "Performing additional configure checks with target flags: ${CMAKE_REQUIRED_FLAGS}") diff --git a/meta/recipes-devtools/clang/clang/0034-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch b/meta/recipes-devtools/clang/clang/0032-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch similarity index 93% rename from meta/recipes-devtools/clang/clang/0034-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch rename to meta/recipes-devtools/clang/clang/0032-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch index 9ccd4997b0..db8683630d 100644 --- a/meta/recipes-devtools/clang/clang/0034-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch +++ b/meta/recipes-devtools/clang/clang/0032-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch @@ -1,4 +1,4 @@ -From e7ec5120258d95ac015100cbfe4e595d4592d47b Mon Sep 17 00:00:00 2001 +From d52b056f8450bb6dd224b7f905ebbab846197e00 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 22 May 2025 21:50:45 -0700 Subject: [PATCH] [compiler-rt] Hardcode uptr/sptr typedefs on Mips/Linux @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h b/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h -index fff60c96f632..511ee8fe49cc 100644 +index c719e2a8ef60..60b997e653c4 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h @@ -139,7 +139,7 @@ diff --git a/meta/recipes-devtools/clang/clang/0035-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch b/meta/recipes-devtools/clang/clang/0033-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch similarity index 88% rename from meta/recipes-devtools/clang/clang/0035-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch rename to meta/recipes-devtools/clang/clang/0033-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch index 88e6fa9c4d..d630e8cf13 100644 --- a/meta/recipes-devtools/clang/clang/0035-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch +++ b/meta/recipes-devtools/clang/clang/0033-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch @@ -1,4 +1,4 @@ -From c4e8df6a492de2d98be18093de2fe0d97e221d48 Mon Sep 17 00:00:00 2001 +From d4acb02ca7e0a11b41c45068eb376dc306be304c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 7 Jul 2025 19:22:07 -0700 Subject: [PATCH] clang: Use sysroot relative paths for getArchSpecificLibPaths @@ -19,10 +19,10 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp -index ec28b899f829..f4aafa7996a9 100644 +index f39de1409c3c..d85ba775d317 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp -@@ -1001,7 +1001,10 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const { +@@ -1025,7 +1025,10 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const { } std::optional ToolChain::getRuntimePath() const { @@ -34,7 +34,7 @@ index ec28b899f829..f4aafa7996a9 100644 llvm::sys::path::append(P, "lib"); if (auto Ret = getTargetSubDirPath(P)) return Ret; -@@ -1029,7 +1032,10 @@ ToolChain::path_list ToolChain::getArchSpecificLibPaths() const { +@@ -1053,7 +1056,10 @@ ToolChain::path_list ToolChain::getArchSpecificLibPaths() const { path_list Paths; auto AddPath = [&](const ArrayRef &SS) { diff --git a/meta/recipes-devtools/clang/clang/0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch b/meta/recipes-devtools/clang/clang/0034-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch similarity index 89% rename from meta/recipes-devtools/clang/clang/0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch rename to meta/recipes-devtools/clang/clang/0034-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch index 7582134eea..09de70bbfc 100644 --- a/meta/recipes-devtools/clang/clang/0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch +++ b/meta/recipes-devtools/clang/clang/0034-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch @@ -1,4 +1,4 @@ -From 4a5e076817be3291d9370a8831f96d1223087a72 Mon Sep 17 00:00:00 2001 +From 1ac8251ad0c136f413b566ee88ad646904b2adb6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 27 Jul 2025 19:12:13 -0700 Subject: [PATCH] Revert "[libc++] Remap headers in the debug info when @@ -19,10 +19,10 @@ Signed-off-by: Khem Raj 1 file changed, 5 deletions(-) diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt -index 9e9852de2a4c..9ee1b4695783 100644 +index 787cfffa5019..d73bcd852a1e 100644 --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt -@@ -1719,11 +1719,6 @@ add_dependencies(cxx-headers generate-cxx-headers) +@@ -1718,11 +1718,6 @@ add_dependencies(cxx-headers generate-cxx-headers) target_include_directories(cxx-headers INTERFACE ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR} ${LIBCXX_GENERATED_INCLUDE_DIR}) diff --git a/meta/recipes-devtools/clang/clang/0038-Prevent-revisiting-block-when-searching-for-noreturn.patch b/meta/recipes-devtools/clang/clang/0035-Prevent-revisiting-block-when-searching-for-noreturn.patch similarity index 91% rename from meta/recipes-devtools/clang/clang/0038-Prevent-revisiting-block-when-searching-for-noreturn.patch rename to meta/recipes-devtools/clang/clang/0035-Prevent-revisiting-block-when-searching-for-noreturn.patch index d3d7403854..2ab1239fbc 100644 --- a/meta/recipes-devtools/clang/clang/0038-Prevent-revisiting-block-when-searching-for-noreturn.patch +++ b/meta/recipes-devtools/clang/clang/0035-Prevent-revisiting-block-when-searching-for-noreturn.patch @@ -1,4 +1,4 @@ -From fdd02ac61cb909711f56f1e990f45439b0beef7b Mon Sep 17 00:00:00 2001 +From c62cf61d798289a9d890897c4b59dd0b333ab865 Mon Sep 17 00:00:00 2001 From: Serge Pavlov Date: Fri, 25 Jul 2025 13:35:19 +0700 Subject: [PATCH] Prevent revisiting block when searching for noreturn vars @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent revisiting block when searching for noreturn vars When searching for noreturn variable initializations, do not visit CFG blocks that are already visited, it prevents hanging the analysis. -It must fix Ihttps://github.com/llvm/llvm-project/issues/150336. +It must fix https://github.com/llvm/llvm-project/issues/150336. Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/150582] Signed-off-by: Khem Raj diff --git a/meta/recipes-devtools/clang/clang/0001-dont-expose-LLVM_HAVE_OPT_VIEWER_MODULES.patch b/meta/recipes-devtools/clang/clang/0036-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch similarity index 82% rename from meta/recipes-devtools/clang/clang/0001-dont-expose-LLVM_HAVE_OPT_VIEWER_MODULES.patch rename to meta/recipes-devtools/clang/clang/0036-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch index 4f6ab6d00f..9bb718fda3 100644 --- a/meta/recipes-devtools/clang/clang/0001-dont-expose-LLVM_HAVE_OPT_VIEWER_MODULES.patch +++ b/meta/recipes-devtools/clang/clang/0036-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch @@ -1,4 +1,4 @@ -From b6af0a5b42adfbebaca1ee673d4c1d9d10fbacfb Mon Sep 17 00:00:00 2001 +From cb7ba8cd1ef469ada460ec19ec79261b8c0ae611 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 29 Sep 2025 14:44:05 +0100 Subject: [PATCH] Don't expose LLVM_HAVE_OPT_VIEWER_MODULES externally @@ -8,15 +8,16 @@ which is meaningless and simply introduces non-deterministic behaviour. Upstream-Status: Pending [https://github.com/llvm/llvm-project/issues/161199] Signed-off-by: Ross Burton +Signed-off-by: Khem Raj --- llvm/cmake/modules/LLVMConfig.cmake.in | 1 - 1 file changed, 1 deletion(-) diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in -index c15b9576cd5d..9cff70e4ef8e 100644 +index 70c807abea98..5603c9215332 100644 --- a/llvm/cmake/modules/LLVMConfig.cmake.in +++ b/llvm/cmake/modules/LLVMConfig.cmake.in -@@ -135,7 +135,6 @@ set(LLVM_DEFINITIONS "@LLVM_DEFINITIONS@") +@@ -137,7 +137,6 @@ set(LLVM_DEFINITIONS "@LLVM_DEFINITIONS@") set(LLVM_BINARY_DIR "@LLVM_CONFIG_BINARY_DIR@") set(LLVM_CMAKE_DIR "@LLVM_CONFIG_CMAKE_DIR@") set(LLVM_TOOLS_BINARY_DIR "@LLVM_CONFIG_TOOLS_BINARY_DIR@") @@ -24,6 +25,3 @@ index c15b9576cd5d..9cff70e4ef8e 100644 set(LLVM_CONFIGURATION_TYPES @CMAKE_CONFIGURATION_TYPES@) set(LLVM_ENABLE_SHARED_LIBS @BUILD_SHARED_LIBS@) --- -2.43.0 - diff --git a/meta/recipes-devtools/clang/clang/0036-allow-external-prepare_builtins.patch b/meta/recipes-devtools/clang/clang/0036-allow-external-prepare_builtins.patch deleted file mode 100644 index 7331eb6f83..0000000000 --- a/meta/recipes-devtools/clang/clang/0036-allow-external-prepare_builtins.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 61cb0afd40ef8d6a5493cbd3bd60f49f61e8b34f Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Wed, 16 Jul 2025 23:24:21 +0100 -Subject: [PATCH] allow external prepare_builtins - -In standalone cross builds, libclc can't build a native prepare_builtins. - -Hack the CMake to allow it to use an existing binary, which we build in the recipe. - -Upstream-Status: Inappropriate [discussion for a proper fix in https://github.com/llvm/llvm-project/issues/149814] -Signed-off-by: Ross Burton ---- - libclc/CMakeLists.txt | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt -index c98e2043464d..151c5d2d20c6 100644 ---- a/libclc/CMakeLists.txt -+++ b/libclc/CMakeLists.txt -@@ -178,17 +178,28 @@ set(LLVM_LINK_COMPONENTS - IRReader - Support - ) -+ - if( LIBCLC_STANDALONE_BUILD ) -- add_llvm_executable( prepare_builtins utils/prepare-builtins.cpp ) -- set( prepare_builtins_exe prepare_builtins ) -- set( prepare_builtins_target prepare_builtins ) -+ message("cross ${CMAKE_CROSSCOMPILING}") -+ if(CMAKE_CROSSCOMPILING) -+ find_program(PREPARE_BUILTINS prepare_builtins REQUIRED) -+ message("found ${PREPARE_BUILTINS}") -+ set( prepare_builtins_exe ${PREPARE_BUILTINS} ) -+ else() -+ add_llvm_executable( prepare_builtins utils/prepare-builtins.cpp ) -+ set( prepare_builtins_exe prepare_builtins ) -+ set( prepare_builtins_target prepare_builtins ) -+ target_compile_definitions( prepare_builtins PRIVATE ${LLVM_VERSION_DEFINE} ) -+ # These were not properly reported in early LLVM and we don't need them -+ target_compile_options( prepare_builtins PRIVATE -fno-rtti -fno-exceptions ) -+ endif() - else() - add_llvm_utility( prepare_builtins utils/prepare-builtins.cpp ) - setup_host_tool( prepare_builtins PREPARE_BUILTINS prepare_builtins_exe prepare_builtins_target ) -+ target_compile_definitions( prepare_builtins PRIVATE ${LLVM_VERSION_DEFINE} ) -+ # These were not properly reported in early LLVM and we don't need them -+ target_compile_options( prepare_builtins PRIVATE -fno-rtti -fno-exceptions ) - endif() --target_compile_definitions( prepare_builtins PRIVATE ${LLVM_VERSION_DEFINE} ) --# These were not properly reported in early LLVM and we don't need them --target_compile_options( prepare_builtins PRIVATE -fno-rtti -fno-exceptions ) - - # Setup arch devices - set( r600--_devices cedar cypress barts cayman ) diff --git a/meta/recipes-devtools/clang/clang/clang-no-tblgen.patch b/meta/recipes-devtools/clang/clang/0037-clang-Only-build-clang-tblgen-if-it-is-actually-need.patch similarity index 72% rename from meta/recipes-devtools/clang/clang/clang-no-tblgen.patch rename to meta/recipes-devtools/clang/clang/0037-clang-Only-build-clang-tblgen-if-it-is-actually-need.patch index e89cad8dc8..4bea94e4bc 100644 --- a/meta/recipes-devtools/clang/clang/clang-no-tblgen.patch +++ b/meta/recipes-devtools/clang/clang/0037-clang-Only-build-clang-tblgen-if-it-is-actually-need.patch @@ -1,11 +1,19 @@ -[clang] Only build clang-tblgen if it is actually needed +From 861a11e4307962e1bde286e150d75fb06f8583b1 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Sat, 11 Oct 2025 16:01:50 -0700 +Subject: [PATCH] [clang] Only build clang-tblgen if it is actually needed It's possible to build clang with an existing clang-tblgen (common when cross-compiling, for instance) by setting CLANG_TABLEGEN_EXE. If this is the case there's no need to build it, as it won't be used. Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/161952] + Signed-off-by: Ross Burton +Signed-off-by: Khem Raj +--- + clang/CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index e4cb1a359620..b650b3b986f4 100644 diff --git a/meta/recipes-devtools/clang/clang/0038-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch b/meta/recipes-devtools/clang/clang/0038-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch new file mode 100644 index 0000000000..9334aba6a5 --- /dev/null +++ b/meta/recipes-devtools/clang/clang/0038-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch @@ -0,0 +1,71 @@ +From eccc8eb432c94fb593f2858a8e8bf10bb259d045 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 28 Oct 2025 15:44:49 -0700 +Subject: [PATCH] llvm-libgcc: Fix symlink path for libcc when + LLVM_ENABLE_PER_TARGET_RUNTIME_DIR is unset + +current logic fails when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR = OFF +and it ends up with symlinks e.g. + +libgcc.a -> ..//usr/lib/clang/21.1.4/lib/linux/libclang_rt.builtins.a + +the real library is at +../lib/clang/21.1.4/lib/linux/libclang_rt.builtins-aarch64.a + +The relative path is incorrect and its missing to add -arch suffix +as well. + +So we make checks a bit more explicit to cover this case. + +The symlink for libgcc_so.1.0 is made to point to libunwind.so +which is functionally correct but it fails some linux distro packaging +complain because libunwind.so is made part of -dev package but +libgcc_so.1.0 ends up in the real package, and creates an unneeded +package -> dev dependency + +create the symlink to point to libunwind.so.1 instead then the boundaries +of packaging are not crossed and all is well. + +Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/165487] +Signed-off-by: Khem Raj +--- + llvm-libgcc/CMakeLists.txt | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/llvm-libgcc/CMakeLists.txt b/llvm-libgcc/CMakeLists.txt +index 47208fc19869..54009c1104c3 100644 +--- a/llvm-libgcc/CMakeLists.txt ++++ b/llvm-libgcc/CMakeLists.txt +@@ -124,11 +124,21 @@ target_link_libraries(unwind_shared PUBLIC + #=============================================================================== + + get_compiler_rt_install_dir(${COMPILER_RT_DEFAULT_TARGET_ARCH} install_dir_builtins) ++ ++# Drop a leading "lib/" if present so we don't duplicate lib/lib + string(REGEX REPLACE "^lib/" "" install_dir_builtins "${install_dir_builtins}") +-string(FIND "${install_dir_builtins}" "clang" install_path_contains_triple) +-if(install_path_contains_triple EQUAL -1) ++ ++# Decide based on the actual CMake option, not on guessing from the path. ++if (NOT LLVM_ENABLE_PER_TARGET_RUNTIME_DIR) ++ # Flat-ish layout, e.g. usr/lib/clang/21.1.4/lib/linux/ ++ # Libraries are named libclang_rt.builtins-.a + set(builtins_suffix "-${COMPILER_RT_DEFAULT_TARGET_ARCH}") ++ # Do NOT prepend "../" + else() ++ # Per-target layout, e.g. ++ # usr/lib/clang/21.1.4/lib/aarch64-unknown-linux-gnu/ ++ # Libraries are just libclang_rt.builtins.a ++ set(builtins_suffix "") + string(PREPEND install_dir_builtins "../") + endif() + set(LLVM_LIBGCC_COMPILER_RT ${install_dir_builtins}/libclang_rt.builtins${builtins_suffix}.a) +@@ -137,7 +147,7 @@ add_custom_target(llvm-libgcc ALL + DEPENDS unwind_shared unwind_static clang_rt.builtins-${COMPILER_RT_DEFAULT_TARGET_ARCH} + COMMAND ${CMAKE_COMMAND} -E create_symlink ${LLVM_LIBGCC_COMPILER_RT} libgcc.a + COMMAND ${CMAKE_COMMAND} -E create_symlink libunwind.a libgcc_eh.a +- COMMAND ${CMAKE_COMMAND} -E create_symlink libunwind.so libgcc_s.so.1.0 ++ COMMAND ${CMAKE_COMMAND} -E create_symlink libunwind.so.1 libgcc_s.so.1.0 + COMMAND ${CMAKE_COMMAND} -E create_symlink libgcc_s.so.1.0 libgcc_s.so.1 + COMMAND ${CMAKE_COMMAND} -E create_symlink libgcc_s.so.1 libgcc_s.so + ) diff --git a/meta/recipes-devtools/clang/clang/0039-Clang-Rename-OffloadArch-UNUSED-to-UNUSED_-to-avoid-.patch b/meta/recipes-devtools/clang/clang/0039-Clang-Rename-OffloadArch-UNUSED-to-UNUSED_-to-avoid-.patch new file mode 100644 index 0000000000..4757e0103b --- /dev/null +++ b/meta/recipes-devtools/clang/clang/0039-Clang-Rename-OffloadArch-UNUSED-to-UNUSED_-to-avoid-.patch @@ -0,0 +1,128 @@ +From 8e8793eb3ef1bc5ac45904378c8985fb62991e33 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 5 Jan 2026 18:30:54 -0800 +Subject: [PATCH] [Clang] Rename OffloadArch::UNUSED to UNUSED_ to avoid macro + collisions + +OffloadArch uses an enumerator named `UNUSED`, which is a very common macro name +in external codebases (e.g. Mesa defines UNUSED as an attribute helper). If such +a macro is visible when including clang/Basic/OffloadArch.h, the preprocessor +expands the token inside the enum and breaks compilation of the installed Clang +headers. + +Rename the enumerator to `UNUSED_` and update all in-tree references. This is a +spelling-only change (no behavioral impact) and mirrors the existing approach +used for SM_32_ to avoid macro clashes. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + clang/include/clang/Basic/OffloadArch.h | 2 +- + clang/lib/Basic/OffloadArch.cpp | 2 +- + clang/lib/Basic/Targets/NVPTX.cpp | 3 ++- + clang/lib/Basic/Targets/NVPTX.h | 2 +- + clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp | 2 +- + clang/lib/Driver/Driver.cpp | 6 +++--- + 6 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/clang/include/clang/Basic/OffloadArch.h b/clang/include/clang/Basic/OffloadArch.h +index ea665b1f49e0..b7d6e00f628e 100644 +--- a/clang/include/clang/Basic/OffloadArch.h ++++ b/clang/include/clang/Basic/OffloadArch.h +@@ -16,7 +16,7 @@ class StringRef; + namespace clang { + + enum class OffloadArch { +- UNUSED, ++ UNUSED_, + UNKNOWN, + // TODO: Deprecate and remove GPU architectures older than sm_52. + SM_20, +diff --git a/clang/lib/Basic/OffloadArch.cpp b/clang/lib/Basic/OffloadArch.cpp +index 05177f1c5803..6a743c73473e 100644 +--- a/clang/lib/Basic/OffloadArch.cpp ++++ b/clang/lib/Basic/OffloadArch.cpp +@@ -17,7 +17,7 @@ struct OffloadArchToStringMap { + #define GFX(gpu) {OffloadArch::GFX##gpu, "gfx" #gpu, "compute_amdgcn"} + static const OffloadArchToStringMap ArchNames[] = { + // clang-format off +- {OffloadArch::UNUSED, "", ""}, ++ {OffloadArch::UNUSED_, "", ""}, + SM(20), {OffloadArch::SM_21, "sm_21", "compute_20"}, // Fermi + SM(30), {OffloadArch::SM_32_, "sm_32", "compute_32"}, SM(35), SM(37), // Kepler + SM(50), SM(52), SM(53), // Maxwell +diff --git a/clang/lib/Basic/Targets/NVPTX.cpp b/clang/lib/Basic/Targets/NVPTX.cpp +index 6526eeff3d71..cf2d4bd6f746 100644 +--- a/clang/lib/Basic/Targets/NVPTX.cpp ++++ b/clang/lib/Basic/Targets/NVPTX.cpp +@@ -64,7 +64,7 @@ NVPTXTargetInfo::NVPTXTargetInfo(const llvm::Triple &Triple, + // Define available target features + // These must be defined in sorted order! + NoAsmVariants = true; +- GPU = OffloadArch::UNUSED; ++ GPU = OffloadArch::UNUSED_; + + // PTX supports f16 as a fundamental type. + HasFastHalfType = true; +@@ -177,6 +177,7 @@ void NVPTXTargetInfo::getTargetDefines(const LangOptions &Opts, + + // Skip setting architecture dependent macros if undefined. + if (!IsNVIDIAOffloadArch(GPU)) ++ if (GPU == OffloadArch::UNUSED_ && !HostTarget) + return; + + if (Opts.CUDAIsDevice || Opts.OpenMPIsTargetDevice || !HostTarget) { +diff --git a/clang/lib/Basic/Targets/NVPTX.h b/clang/lib/Basic/Targets/NVPTX.h +index 9bd0cc36d12b..337864ac5c1a 100644 +--- a/clang/lib/Basic/Targets/NVPTX.h ++++ b/clang/lib/Basic/Targets/NVPTX.h +@@ -87,7 +87,7 @@ public: + initFeatureMap(llvm::StringMap &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector &FeaturesVec) const override { +- if (GPU != OffloadArch::UNUSED) ++ if (GPU != OffloadArch::UNUSED_) + Features[OffloadArchToString(GPU)] = true; + // Only add PTX feature if explicitly requested. Otherwise, let the backend + // use the minimum required PTX version for the target SM. +diff --git a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp +index db0d56d6b18c..6df0b3b3574d 100644 +--- a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp ++++ b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp +@@ -2382,7 +2382,7 @@ void CGOpenMPRuntimeGPU::processRequiresDirective(const OMPRequiresDecl *D) { + case OffloadArch::Generic: + case OffloadArch::GRANITERAPIDS: + case OffloadArch::BMG_G21: +- case OffloadArch::UNUSED: ++ case OffloadArch::UNUSED_: + case OffloadArch::UNKNOWN: + break; + case OffloadArch::LAST: +diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp +index eb3f9cbea284..f4760e80788c 100644 +--- a/clang/lib/Driver/Driver.cpp ++++ b/clang/lib/Driver/Driver.cpp +@@ -961,12 +961,12 @@ inferOffloadToolchains(Compilation &C, Action::OffloadKind Kind) { + return llvm::DenseSet(); + } + if (Kind == Action::OFK_OpenMP && +- (ID == OffloadArch::UNKNOWN || ID == OffloadArch::UNUSED)) { ++ (ID == OffloadArch::UNKNOWN || ID == OffloadArch::UNUSED_)) { + C.getDriver().Diag(clang::diag::err_drv_failed_to_deduce_target_from_arch) + << Arch; + return llvm::DenseSet(); + } +- if (ID == OffloadArch::UNKNOWN || ID == OffloadArch::UNUSED) { ++ if (ID == OffloadArch::UNKNOWN || ID == OffloadArch::UNUSED_) { + C.getDriver().Diag(clang::diag::err_drv_offload_bad_gpu_arch) + << "offload" << Arch; + return llvm::DenseSet(); +@@ -3407,7 +3407,7 @@ class OffloadingActionBuilder final { + + // If we have a fat binary, add it to the list. + if (CudaFatBinary) { +- AddTopLevel(CudaFatBinary, OffloadArch::UNUSED); ++ AddTopLevel(CudaFatBinary, OffloadArch::UNUSED_); + CudaDeviceActions.clear(); + CudaFatBinary = nullptr; + return; diff --git a/meta/recipes-devtools/clang/clang/0039-Only-build-c-index-test-when-clang-tests-are-include.patch b/meta/recipes-devtools/clang/clang/0039-Only-build-c-index-test-when-clang-tests-are-include.patch deleted file mode 100644 index d3988b0f36..0000000000 --- a/meta/recipes-devtools/clang/clang/0039-Only-build-c-index-test-when-clang-tests-are-include.patch +++ /dev/null @@ -1,43 +0,0 @@ -From de5737078972d8ba89bc6194fc0f50421c8d5631 Mon Sep 17 00:00:00 2001 -From: David Spickett -Date: Tue, 29 Jul 2025 14:17:56 +0000 -Subject: [PATCH] Only build c-index-test when clang tests are included - -c-index-test is only used for testing, and it's used in tests -that are already guarded by CLANG_INCLUDE_TESTS in clang/CMakeLists.txt. - -This change enables us to do builds with LLVM_INSTALL_TOOLCHAIN_ONLY=OFF, -and CLANG_INCLUDE_TESTS=OFF, which contain the required files -to build other bits of llvm-project standalone, but does not -include c-index-test which we have no need for. - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/151157] -Signed-off-by: Ross Burton -Signed-off-by: Khem Raj ---- - clang/tools/CMakeLists.txt | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/clang/tools/CMakeLists.txt b/clang/tools/CMakeLists.txt -index 50e3d694236a..196dcb1e8466 100644 ---- a/clang/tools/CMakeLists.txt -+++ b/clang/tools/CMakeLists.txt -@@ -2,7 +2,6 @@ create_subdirectory_options(CLANG TOOL) - - add_clang_subdirectory(diagtool) - add_clang_subdirectory(driver) --add_clang_subdirectory(apinotes-test) - if(CLANG_ENABLE_CIR) - add_clang_subdirectory(cir-opt) - add_clang_subdirectory(cir-translate) -@@ -23,7 +22,10 @@ if(HAVE_CLANG_REPL_SUPPORT) - add_clang_subdirectory(clang-repl) - endif() - -+if(CLANG_INCLUDE_TESTS) -+add_clang_subdirectory(apinotes-test) - add_clang_subdirectory(c-index-test) -+endif() - - add_clang_subdirectory(clang-refactor) - # For MinGW/Cygwin we only enable shared library if LLVM_LINK_LLVM_DYLIB=ON. diff --git a/meta/recipes-devtools/clang/clang/0040-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch b/meta/recipes-devtools/clang/clang/0040-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch deleted file mode 100644 index f385dc83ea..0000000000 --- a/meta/recipes-devtools/clang/clang/0040-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4204fd1b62de30418433139fea1b7dad4fff9c59 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Oct 2025 15:44:49 -0700 -Subject: [PATCH] [llvm-libgcc] Fix symlink path for libgcc - -The symlink for libgcc_so.1.0 is made to point to libunwind.so -which is functionally correct but it fails some linux distro packaging -complain because libunwind.so is made part of -dev package but -libgcc_so.1.0 ends up in the real package, and creates an unneeded -package -> dev dependency - -create the symlink to point to libunwind.so.1 instead then the boundaries -of packaging are not crossed and all is well. - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/165487] -Signed-off-by: Khem Raj ---- - llvm-libgcc/CMakeLists.txt | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/llvm-libgcc/CMakeLists.txt b/llvm-libgcc/CMakeLists.txt -index 47208fc19869..54009c1104c3 100644 ---- a/llvm-libgcc/CMakeLists.txt -+++ b/llvm-libgcc/CMakeLists.txt -@@ -137,7 +147,7 @@ add_custom_target(llvm-libgcc ALL - DEPENDS unwind_shared unwind_static clang_rt.builtins-${COMPILER_RT_DEFAULT_TARGET_ARCH} - COMMAND ${CMAKE_COMMAND} -E create_symlink ${LLVM_LIBGCC_COMPILER_RT} libgcc.a - COMMAND ${CMAKE_COMMAND} -E create_symlink libunwind.a libgcc_eh.a -- COMMAND ${CMAKE_COMMAND} -E create_symlink libunwind.so libgcc_s.so.1.0 -+ COMMAND ${CMAKE_COMMAND} -E create_symlink libunwind.so.1 libgcc_s.so.1.0 - COMMAND ${CMAKE_COMMAND} -E create_symlink libgcc_s.so.1.0 libgcc_s.so.1 - COMMAND ${CMAKE_COMMAND} -E create_symlink libgcc_s.so.1 libgcc_s.so - ) diff --git a/meta/recipes-devtools/clang/clang/0041-llvm-libgcc-Fix-libgcc.a-symlink-path-when-LLVM_ENAB.patch b/meta/recipes-devtools/clang/clang/0041-llvm-libgcc-Fix-libgcc.a-symlink-path-when-LLVM_ENAB.patch deleted file mode 100644 index 789d6d727a..0000000000 --- a/meta/recipes-devtools/clang/clang/0041-llvm-libgcc-Fix-libgcc.a-symlink-path-when-LLVM_ENAB.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 919fcd11ad53bdfab9a14d5df6de0895bf24e456 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 28 Oct 2025 19:02:44 -0700 -Subject: [PATCH] [llvm-libgcc] Fix libgcc.a symlink path when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF - -The llvm-libgcc installation was creating incorrect symlinks for libgcc.a -when built with LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF, particularly seen with -Yocto cross-compilation environments. - -Issues seen: - -- Absolute path in symlink: The previous code didn't handle absolute paths - returned by get_compiler_rt_install_dir() in staging/sysroot environments, - resulting in symlinks like: - libgcc.a -> /absolute/path/to/sysroot/usr/lib/clang/.../libclang_rt.builtins.a - -- Missing architecture suffix: When the install path contained "clang", the - code would skip setting builtins_suffix, creating: - libgcc.a -> clang/21.1.4/lib/linux/libclang_rt.builtins.a - instead of: - libgcc.a -> clang/21.1.4/lib/linux/libclang_rt.builtins-aarch64.a - -- Incorrect relative path calculation: The original regex stripped too much - or too little of the path, either creating symlinks pointing to non-existent - locations or stripping the clang/ directory prefix entirely. - -Solution: - -- Extract the relative path starting from 'clang/' when present in absolute - paths, ensuring the symlink points to the correct location within the - installation hierarchy -- Always append the architecture suffix to the builtins library name -- Only prepend '../' to the path when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR is - enabled, as this is when the builtins are in a different directory level - -The symlink now correctly points to the existing compiler-rt builtins library -without creating duplicate copies. - -Tested with LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF in cross-compilation -environments (aarch64 target). - -Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/165487] -Signed-off-by: Khem Raj ---- - llvm-libgcc/CMakeLists.txt | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/llvm-libgcc/CMakeLists.txt b/llvm-libgcc/CMakeLists.txt -index cd9c5011d410..ee7fe768bda0 100644 ---- a/llvm-libgcc/CMakeLists.txt -+++ b/llvm-libgcc/CMakeLists.txt -@@ -124,11 +124,27 @@ target_link_libraries(unwind_shared PUBLIC - #=============================================================================== - - get_compiler_rt_install_dir(${COMPILER_RT_DEFAULT_TARGET_ARCH} install_dir_builtins) --string(REGEX REPLACE "^lib/" "" install_dir_builtins "${install_dir_builtins}") --string(FIND "${install_dir_builtins}" "clang" install_path_contains_triple) --if(install_path_contains_triple EQUAL -1) -- set(builtins_suffix "-${COMPILER_RT_DEFAULT_TARGET_ARCH}") -+ -+# Extract the relative path starting from 'clang' or after 'lib/' -+if(IS_ABSOLUTE "${install_dir_builtins}") -+ # For absolute paths, extract starting from 'clang/' if it exists -+ string(REGEX MATCH "clang/.*$" install_dir_builtins_temp "${install_dir_builtins}") -+ if(install_dir_builtins_temp) -+ set(install_dir_builtins "${install_dir_builtins_temp}") -+ else() -+ # Fallback: strip up to first lib/ -+ string(REGEX REPLACE "^.*/lib/" "" install_dir_builtins "${install_dir_builtins}") -+ endif() - else() -+ string(REGEX REPLACE "^lib/" "" install_dir_builtins "${install_dir_builtins}") -+endif() -+ -+# Always add the architecture suffix -+set(builtins_suffix "-${COMPILER_RT_DEFAULT_TARGET_ARCH}") -+ -+# Only prepend ../ when using per-target runtime directories -+string(FIND "${install_dir_builtins}" "clang" install_path_contains_triple) -+if(install_path_contains_triple GREATER -1 AND LLVM_ENABLE_PER_TARGET_RUNTIME_DIR) - string(PREPEND install_dir_builtins "../") - endif() - set(LLVM_LIBGCC_COMPILER_RT ${install_dir_builtins}/libclang_rt.builtins${builtins_suffix}.a) diff --git a/meta/recipes-devtools/clang/common-clang.inc b/meta/recipes-devtools/clang/common-clang.inc index 1f77400dd4..83735e292e 100644 --- a/meta/recipes-devtools/clang/common-clang.inc +++ b/meta/recipes-devtools/clang/common-clang.inc @@ -3,9 +3,9 @@ LLVM_DIR = "llvm${LLVM_RELEASE}" LLVM_HTTP ?= "https://github.com/llvm" -MAJOR_VER = "21" +MAJOR_VER = "22" MINOR_VER = "1" -PATCH_VER = "8" +PATCH_VER = "1" # could be 'rcX' or 'git' or empty ( for release ) VER_SUFFIX = "" @@ -16,10 +16,6 @@ CLANGMD5SUM = "ff42885ed2ab98f1ecb8c1fc41205343" LLDMD5SUM = "ae7dc7c027b1fa89b5b013d391d3ee2b" LLDBMD5SUM = "2e0d44968471fcde980034dbb826bea9" -# remove at next version upgrade or when output changes -PR = "r1" -HASHEQUIV_HASH_VERSION .= ".1" - LLVM_LIBDIR_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}" # set the default pigz thread diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc index 1e70e9c64b..00aeed3993 100644 --- a/meta/recipes-devtools/clang/common.inc +++ b/meta/recipes-devtools/clang/common.inc @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://llvm/LICENSE.TXT;md5=${LLVMMD5SUM} \ LICENSE = "Apache-2.0-with-LLVM-exception" # Snapshot -#RELEASE ?= "a69568efe6c4972e71af295c6577b3412dd57c22" +#RELEASE ?= "108df0694cc12fa496f63faa3a8762e7cc1a3b37" #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" +#SRC_URI[sha256sum] = "f19bc6ed902e30413a8a034a024fae228ca57339b450d3682fd7437fb2573378" # GA Release RELEASE ?= "${PV}" @@ -17,54 +17,49 @@ BASEURI ?= "${LLVM_HTTP}/llvm-project/releases/download/llvmorg-${PV}${VER_SUFFI UPSTREAM_CHECK_URI = "${LLVM_HTTP}/llvm-project/releases/" UPSTREAM_CHECK_REGEX = "releases/tag/llvmorg-?(?P\d+(\.\d+)+)" SOURCEDIR ?= "llvm-project-${PV}${VER_SUFFIX}.src" -SRC_URI[sha256sum] = "4633a23617fa31a3ea51242586ea7fb1da7140e426bd62fc164261fe036aa142" +SRC_URI[sha256sum] = "9c6f37f6f5f68d38f435d25f770fc48c62d92b2412205767a16dac2c942f0c95" 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://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-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch \ - file://0019-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \ - file://0020-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \ - file://0021-libunwind-Added-unw_backtrace-method.patch \ - file://0022-lldb-Link-with-libatomic-on-x86.patch \ - file://0023-compiler-rt-Enable-__int128-for-ppc32.patch \ - file://0024-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \ - file://0025-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch \ - file://0026-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \ - file://0027-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch \ - file://0028-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch \ - file://0029-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch \ - file://0030-compiler-rt-Do-not-pass-target-to-clang-compiler.patch \ - file://0031-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ - file://0032-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch \ - file://0033-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch \ - file://0034-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch \ - file://0035-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch \ - file://0036-allow-external-prepare_builtins.patch \ - file://0037-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch \ - file://0038-Prevent-revisiting-block-when-searching-for-noreturn.patch \ - file://0039-Only-build-c-index-test-when-clang-tests-are-include.patch \ - file://0040-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch \ - file://0041-llvm-libgcc-Fix-libgcc.a-symlink-path-when-LLVM_ENAB.patch \ - file://0001-Install-lldb-tblgen.patch \ - file://0001-dont-expose-LLVM_HAVE_OPT_VIEWER_MODULES.patch \ - file://0001-clang-Support-building-native-tools-when-cross-compi.patch \ - file://clang-no-tblgen.patch \ + file://0004-llvm-allow-env-override-of-exe-and-libdir-path.patch \ + file://0005-clang-driver-Check-sysroot-for-ldso-path.patch \ + file://0006-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch \ + file://0007-clang-Prepend-trailing-to-sysroot.patch \ + file://0008-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch \ + file://0009-clang-Define-releative-gcc-installation-dir.patch \ + file://0010-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch \ + file://0011-Check-for-atomic-double-intrinsics.patch \ + file://0012-cmake-Fix-configure-for-packages-using-find_package.patch \ + file://0013-clang-Fix-resource-dir-location-for-cross-toolchains.patch \ + file://0014-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch \ + file://0015-clang-Use-python3-in-python-scripts.patch \ + file://0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch \ + file://0017-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch \ + file://0018-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch \ + file://0019-libunwind-Added-unw_backtrace-method.patch \ + file://0020-lldb-Link-with-libatomic-on-x86.patch \ + file://0021-compiler-rt-Enable-__int128-for-ppc32.patch \ + file://0022-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch \ + file://0023-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch \ + file://0024-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch \ + file://0025-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch \ + file://0026-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch \ + file://0027-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch \ + file://0028-compiler-rt-Do-not-pass-target-to-clang-compiler.patch \ + file://0029-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ + file://0030-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch \ + file://0031-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch \ + file://0032-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch \ + file://0033-clang-Use-sysroot-relative-paths-for-getArchSpecific.patch \ + file://0034-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch \ + file://0035-Prevent-revisiting-block-when-searching-for-noreturn.patch \ + file://0036-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch \ + file://0037-clang-Only-build-clang-tblgen-if-it-is-actually-need.patch \ + file://0038-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch \ + file://0039-Clang-Rename-OffloadArch-UNUSED-to-UNUSED_-to-avoid-.patch \ " # Fallback to no-PIE if not set GCCPIE ??= "" From patchwork Tue Mar 24 23:08:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 84261 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6EF7F54AD6 for ; Tue, 24 Mar 2026 23:08:45 +0000 (UTC) Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10698.1774393720351975604 for ; Tue, 24 Mar 2026 16:08:40 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=c5lWuGnZ; spf=pass (domain: gmail.com, ip: 74.125.82.173, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-2c0e3a2605fso1224289eec.0 for ; Tue, 24 Mar 2026 16:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774393719; x=1774998519; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=g06zo/wm2munqQjcTubU1EsJTtfM8mkREiF22fZkyLc=; b=c5lWuGnZHm0znJPv6Gr1+jxFd5YS5k4sfnCAU30IGpC9sJfOCaXVp+jqg62l14Qj1+ 1tmliDJFVbbEnKBnfzdgh7bwY2PwLpn8NooITPVG2KoWaEQM8GwyWyAFDYI/kZk5CBrT /qbYtUYK7K5LB61wlAJojHGCx3e3OjGsd+QSunIdbRG3SO9BZ0OKRhhE37zPEgVXVafb 4GFJsizIqYSq1TL0Dds2fgOeBYzleLmHadv/TMrughjbCkczoDplZh6Vz1gkn74psxTc RwqxqiJt9uvJ9VkAV0GQSlTfv/T451+S+Th41u5GshL6ntBhwBl6EDOXlcdmNYnzHSci xdtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774393719; x=1774998519; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=g06zo/wm2munqQjcTubU1EsJTtfM8mkREiF22fZkyLc=; b=O1rN87Z0HfNBi3/auPEyBWMhoZ0T+minx1Mb2xXDfFcw/db/eQHyD5EIPibq9kJIzN fQBn6AbIRuqUXCmkBA81rX4Bo+YkYaxnJP4nps7lJEksFi4FtuvKDrPBTGrN/enMPgwg 1Gl8GwdDNBDJ6EJXaBJGWoH4S33MKFRLBz4eu+qAqeSdEdwSREVGTWgbrwisd2I2CFfA DG0g54QEi1JE1sP0mKvCPAlDtezzuPac31i/yWrTxQPOqWr8+Al7jQp3f1A5z7pVJ/Vt PTxwWJjIsQhW/9LwNVYojN0i8fo/T39u7jDldl+pHuVIxfMyq5MexUf0462hKdNYok3O /uCQ== X-Gm-Message-State: AOJu0Yz8Kssn1RsB0MzhRpQWE+fbRBxxg9ExqXdcMOEJdiUxt53i5o08 m3+jYQ/++4AuaKvz3eg3H+7GSRMacc7kDWhkq8qURml+onQF4x4qV4xG6iTIA5qrM4k= X-Gm-Gg: ATEYQzxVzJeKTyuKZ0gqMuKCBPGerl6p/xRYmb1+qAv2zNzm4EZnfCzTFuk9/JO16P3 DGJ5KiJzF6JPd1eee6c1l0cW8zMM9YUapT32/8tKqBVQQ2zXw3Np4Sl6LKNv25onNAd18UAhPfM wVfIrzWE6nKOMliHHur4Jea0t6BH5BR1qUHSx2cTHCbzFH30IHJuMUwfbAwCgdvlhaH6hfK1phG kKz7JEeYYR5ddO0smdrozMR5MgTlX73v4BNguz3v2Kq+cj+RKvnvFgWOW59fQcAeI6UBHx7x8yL uEZCgrURi/432Vn1sLweOLH/8Xeh5mW4WlxhFu0WAKSHnVY0FCSt8z2KWcxJYPr2HB7us0mukyp JWS+jX0KZMu7jCO0usNlW8N6ua6e1WsgrbRXUcBtcqeygUsV5fUJZojJhx11TWbvuQj2lPOnQjH 6DfkGlL0GZYB3Snua8jccKxmTNYXQnUvigv/YVB8Mpo/YM2iYp3yeW6twbqGk3OSayT6ubd86KP I73IBJLEyFmMUmPfZw1DIjwBef1LYaSRzsb/wDp9UOtSCca9UpWd6qb9/2+ X-Received: by 2002:a05:7301:5791:b0:2c0:dfb2:b50d with SMTP id 5a478bee46e88-2c15d47908cmr602207eec.25.1774393719439; Tue, 24 Mar 2026 16:08:39 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b17d1ddsm16235874eec.11.2026.03.24.16.08.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 16:08:38 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 2/5] clang: Do not package clang-offload-packager Date: Tue, 24 Mar 2026 16:08:32 -0700 Message-ID: <20260324230835.2363568-2-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> References: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 24 Mar 2026 23:08:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233830 From: Khem Raj It has been renamed to llvm-offload-binary and is built as part of llvm package, in OE we build llvm via its own recipe and its packaging uses greedy enough regexp to package it already Signed-off-by: Khem Raj --- meta/recipes-devtools/clang/clang_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb index e10c327a2a..662cda1b2e 100644 --- a/meta/recipes-devtools/clang/clang_git.bb +++ b/meta/recipes-devtools/clang/clang_git.bb @@ -150,7 +150,6 @@ FILES:${PN}-tools = "${bindir}/analyze-build \ ${bindir}/clang-move \ ${bindir}/clang-nvlink-wrapper \ ${bindir}/clang-offload-bundler \ - ${bindir}/clang-offload-packager \ ${bindir}/clang-pseudo* \ ${bindir}/clang-query \ ${bindir}/clang-refactor \ @@ -229,7 +228,7 @@ clang_sysroot_preprocess() { install -d ${SYSROOT_DESTDIR}${bindir}/ # clang and clang-tools - binaries="diagtool clang-${MAJOR_VER} clang-format clang-offload-packager + binaries="diagtool clang-${MAJOR_VER} clang-format clang-offload-bundler clang-scan-deps clang-repl clang-refactor clang-check clang-extdef-mapping" From patchwork Tue Mar 24 23:08:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 84264 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0F8BF54ADD for ; Tue, 24 Mar 2026 23:08:45 +0000 (UTC) Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.10517.1774393721534942697 for ; Tue, 24 Mar 2026 16:08:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=CHAgZucy; spf=pass (domain: gmail.com, ip: 74.125.82.173, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-2bdcf5970cdso331144eec.0 for ; Tue, 24 Mar 2026 16:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774393720; x=1774998520; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iuapuRbOhf/dWmcGQaP6q7kfiMuGIPpBLdL0jEtcOF0=; b=CHAgZucyvRJ5biVx8jSUrkyxcnjMgjG5RULkIow/IjiSjLSMEnsK85nIVsJv1jRIil L60qD5GV5fRem86Kl0gtWwvfd5+JbpkiEffUCkhd0aPk77BvhSqffBJLWqgdkTc2KwQu hYo4VlFS1OrGCqMgdvTRRXZ8z30zf2acAKzyRrB0zmfKLJxSTZJO1qXk/onBhAj9OOVD MRWTH/0lTt2toas6MG39Ws1WOO3O+Or7vkhJ8sHBNIhR8NdFPMHl9XX/gR6fa933isAG hIzOerzjGOGexEmiYEfd8R7wbAL2yFfPt5NpLkFB/7dqxjm8wBpCkJw2bpyal++KWZeH xDag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774393720; x=1774998520; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=iuapuRbOhf/dWmcGQaP6q7kfiMuGIPpBLdL0jEtcOF0=; b=hlfFwdo+a/czxUSNsKX/i7bEi9K9xRc6Ah+fQQs0so5kGhgRjJHMLlXuoSd6a8LQmy /qraNz/8KkM18phlK0l+JgwhZ4vYn2ttpP7gwfLkmvHVKe4MKCM3v70hpCfbrWk15LP+ d1go9Itpyc2WVIKzKoCMstfpUVSG+LbTeox7ujKPjVqs/UT8gCz4pLctYAdqJqz8GyI0 F7cYSPmP7MVpvYFGTelV+39hwAPC5wSumhe0fn8OgQinz9iD1TeSciFZwfYJTpTeq5UY vLA9si5gNdnVlTE3/69dPRzhhWaBlWR7RNMeBrwUmGQtI4WrjDCmH1t3EnRKqXu21r6f PpKA== X-Gm-Message-State: AOJu0Yzia51EQzLKhdhEF9Sjz+gYunk4NNAQddWyiSgCvRqCF2WRDtMY 1BHai/vK3dfeagKlUgmacOSq66X8WE+Io9e3vdHCEx5rS1LMrxYT0zlLGqp3tPOWSEg= X-Gm-Gg: ATEYQzyaQNq8dW2YZLJUCYZkYaz5t2kCVr9py0n7kD9VeG+mllLX+7TUWgCCEfjie1D +eoxM7UvIHafcrbriG3rr/zQ2BppH6V7erBaKxeKYkZv2V7JQGdnQZqMP7v/KJioq7qudrHVnMf VsXxZfvF9U03EThPRwLuid9+rfb+h2Mf68Y+EAMJm2YrsL61+4TFdf5JupeNmhCwHgyy82sHrit UaYhLxI5rC+DPq0JJsLJj/sV0T7b9kKSg9L/2yrpt4I8796k8lkW76mTdscHVi+QyHXupZJFtM2 ct+Nw8IcN5+QDJzkx0AnzkGfoFk5enRvn3sldeaGMxMYLZjKxgFMziKip3z5HfcNsTKuhborcEK y/xIScqaNjNGMDLHfV71CZb5Rxf9k6hzWaq8DyuLLTcvGdJXtliVOHvoKQVrrdpgvhmHhV4155d FJNd5foyOD5GarZY/dvrKp97TcFwLhDyu81AeecR+mS23w+iIaV2YVWU9BmB91QgpgNK3BZ0jS2 1CJNjgB9DCNOYnPtQ7xVQjfmaYkANVgNYlNPxOF0+jlGb3RHshqkIkYlKiT X-Received: by 2002:a05:7300:320b:b0:2be:171c:2180 with SMTP id 5a478bee46e88-2c15b9e4566mr962622eec.0.1774393720532; Tue, 24 Mar 2026 16:08:40 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b17d1ddsm16235874eec.11.2026.03.24.16.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 16:08:39 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 3/5] spirv-llvm-translation: Upgrade to 22.0 Date: Tue, 24 Mar 2026 16:08:33 -0700 Message-ID: <20260324230835.2363568-3-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> References: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 24 Mar 2026 23:08:45 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233831 From: Khem Raj major version of spirv translator should match clang major version Signed-off-by: Khem Raj --- ...anslator_21.1.5.bb => spirv-llvm-translator_22.0.0.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename meta/recipes-graphics/spir/{spirv-llvm-translator_21.1.5.bb => spirv-llvm-translator_22.0.0.bb} (75%) diff --git a/meta/recipes-graphics/spir/spirv-llvm-translator_21.1.5.bb b/meta/recipes-graphics/spir/spirv-llvm-translator_22.0.0.bb similarity index 75% rename from meta/recipes-graphics/spir/spirv-llvm-translator_21.1.5.bb rename to meta/recipes-graphics/spir/spirv-llvm-translator_22.0.0.bb index a727079a43..20f4ba8464 100644 --- a/meta/recipes-graphics/spir/spirv-llvm-translator_21.1.5.bb +++ b/meta/recipes-graphics/spir/spirv-llvm-translator_22.0.0.bb @@ -5,10 +5,10 @@ LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=47e311aa9caedd1b3abf098bd7814d1d" # pattern: llvm_branch_200, currently there are no minor releases, so, no llvm_branch_201 -SPIRV_BRANCH = "llvm_release_${@oe.utils.trim_version('${PV}', 1).replace('.', '')}0" -SRCREV = "a76fd0702de564476fb31e8a15f1415f05ad8951" +SPIRV_BRANCH = "main" +SRCREV = "f821423888319dd2f0c436fc9ab86c798ac48ba1" SRC_URI = " \ - git://github.com/KhronosGroup/SPIRV-LLVM-Translator;protocol=https;tag=v${PV};branch=${SPIRV_BRANCH} \ + git://github.com/KhronosGroup/SPIRV-LLVM-Translator;protocol=https;branch=${SPIRV_BRANCH} \ " UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" @@ -18,7 +18,7 @@ DEPENDS = "llvm spirv-tools spirv-headers" inherit cmake pkgconfig lib_package EXTRA_OECMAKE = "\ - -DBASE_LLVM_VERSION='${@oe.utils.trim_version('${PV}', 3)}' \ + -DBASE_LLVM_VERSION=22.1.0 \ -DCMAKE_SKIP_BUILD_RPATH=ON \ -DBUILD_SHARED_LIBS=ON \ -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=${STAGING_INCDIR}/.. \ From patchwork Tue Mar 24 23:08:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 84262 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2062EFC72D2 for ; Tue, 24 Mar 2026 23:08:46 +0000 (UTC) Received: from mail-dy1-f170.google.com (mail-dy1-f170.google.com [74.125.82.170]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.10518.1774393722394200181 for ; Tue, 24 Mar 2026 16:08:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=YubpW4DI; spf=pass (domain: gmail.com, ip: 74.125.82.170, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f170.google.com with SMTP id 5a478bee46e88-2c1092cc08cso1934697eec.1 for ; Tue, 24 Mar 2026 16:08:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774393721; x=1774998521; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=izB1jiyP6THzJEJrOixehqaFOzLIxCGqPSQK1cKlHMA=; b=YubpW4DI6LIr9XiI8uHhvjT75FpOWeL7gErEmi9EsoDHFQ8XuaVtSpJQQF7X0VZOv0 WUUUn2yU+nD8E74JceNpr75RKjZv0bCgc3uGXZUX6ks4uuw1pyxQtpZv2whx4XeKksI+ wEepSN0kgELtej/VSgNfUGJCf6kmOwNvRbEACqtw/gvQTUbQqwrJJ05kyHi5T4y8+lS5 5jPAivJhSdBpvG7v4GFqEzI5F6yKHmD7pphKMIq15q5j9MPLcc1NMlweL0OJ7CaRAdjb zLmzyHExYoj897mLmgw9mNw7F0yaNGVW0QTPJce1BIwFUxLgICcAWVQonnhgJ37Mn8QZ kEFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774393721; x=1774998521; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=izB1jiyP6THzJEJrOixehqaFOzLIxCGqPSQK1cKlHMA=; b=EkuhLQ0+xiZUkHUWzMi7aWAeFyRpPsLd0SbeMC/B5GYbvWDH/XOfBLpRVBvHvB3R8+ TITdm75VJcw63jB2pGSAqdwYIXPI93RFq6Rix59wKtygymZPtDnojct6FJ/Y02RHUF8n 1dfXbbJ8+dOwzLLQylKQKgR1bpcxlam+fkyHkHAXw9V9WC1lkGA9IEj4UBbhyTIiTBkb +OVTyh8GpwaOfr8AOQbJ2ofybpN1F45EmRgLWWa7hio2rrYYGguspfJOCsqMI7Yi7ndk TKKhlrYB6tVIm4ngZSyDThXyUVxjJAx6xYgYhzHMJyNfuDtk3/1rWMoXKqAmpt1Laz1r zFZg== X-Gm-Message-State: AOJu0Ywkbu8qcHxwbraqWr4BzLupoQ+NjvYAuCMSMqm1+HkmZEz74mbc 3dzXgNM/Prrin4jQjCOofy1yTvkRmOhqX8/dydTj+j/LTc6WVm5a1CXIAovstABK+mQ= X-Gm-Gg: ATEYQzwIFcGusYO8wqf3hDteZreGfAPMUgJ0wBo9wJ/QlbIUgevyspXT3J8v0dE8eHi l1YrKMGnBHgSQ5LelYIxxXJy2dDsoaPyiIrgACVtjeH3axR7/LZ+TBylqf39tgROd5qSX8jD+eY 1BU+TFb5TRsFXhrARAE8i7zaa+jaG9OvYpbMlz/WBULZH0kHtLashjJ/wnhkujwqVEA3qLFhWup QMwI9vx+o1ou0YrxGMvfo+MR1Z6Z0tOsNKaME3azhaatS72yqwx01q8+AqL+l+6wV1bN7axn/5K Z0rqMV7vv2CVyza65eI/HI/R8Kc+Wcjf+RvNqOPrmoJBP7AV0bzywAtbQcMAq2PBm7lYBXU9U5u vpA7LQkYhHLskDjyr7FljwWGBJx3PblOJSxHZcfmX7iIs/dsh7wBA6U2zr9/BoVNvw8iS7/pa+W 3CR7zIB6DWPHLMdYTGQmO5ToXzgVMgXYpw3VQgPAmtaZ3xVbMEaRnF9Z/FMCKj0os6zRSZ1RP2Y cCTaSD2X4l5bKg+4wOHROQ8Hm+VsEQFTq/DuQZRitx/T1qugc7Bljc5BJOQ X-Received: by 2002:a05:7300:cd8e:b0:2c1:571f:b821 with SMTP id 5a478bee46e88-2c15d49f242mr655495eec.28.1774393721570; Tue, 24 Mar 2026 16:08:41 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b17d1ddsm16235874eec.11.2026.03.24.16.08.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 16:08:41 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 4/5] libclc: Adjust path to prepare_builtins utility Date: Tue, 24 Mar 2026 16:08:34 -0700 Message-ID: <20260324230835.2363568-4-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> References: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 24 Mar 2026 23:08:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233832 From: Khem Raj In llvm-22 onwards the utility is built inside its own directory instead of parent directory as was the case prior to llvm-22 Adjust the path to point to new location Signed-off-by: Khem Raj --- meta/recipes-devtools/clang/libclc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/clang/libclc_git.bb b/meta/recipes-devtools/clang/libclc_git.bb index c4b4881542..db846d59a8 100644 --- a/meta/recipes-devtools/clang/libclc_git.bb +++ b/meta/recipes-devtools/clang/libclc_git.bb @@ -22,8 +22,8 @@ B_NATIVE = "${B}-native" LIBCLC_TARGETS ?= "all" EXTRA_OECMAKE += "-DLIBCLC_TARGETS_TO_BUILD='${LIBCLC_TARGETS}'" -EXTRA_OECMAKE:append:class-target = " -DPREPARE_BUILTINS=${B_NATIVE}/prepare_builtins" -EXTRA_OECMAKE:append:class-nativesdk = " -DPREPARE_BUILTINS=${B_NATIVE}/prepare_builtins" +EXTRA_OECMAKE:append:class-target = " -DPREPARE_BUILTINS=${B_NATIVE}/utils/prepare_builtins" +EXTRA_OECMAKE:append:class-nativesdk = " -DPREPARE_BUILTINS=${B_NATIVE}/utils/prepare_builtins" # Need to build a native prepare_builtins binary in target builds. The easiest # way to do this is with a second native cmake build tree. From patchwork Tue Mar 24 23:08:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 84263 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39EE9FC72DF for ; Tue, 24 Mar 2026 23:08:46 +0000 (UTC) Received: from mail-dy1-f181.google.com (mail-dy1-f181.google.com [74.125.82.181]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10701.1774393723508938205 for ; Tue, 24 Mar 2026 16:08:43 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=tMVQ3rkj; spf=pass (domain: gmail.com, ip: 74.125.82.181, mailfrom: raj.khem@gmail.com) Received: by mail-dy1-f181.google.com with SMTP id 5a478bee46e88-2c156c4a9efso949255eec.1 for ; Tue, 24 Mar 2026 16:08:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774393723; x=1774998523; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2xXZKnjQRFwk+RJX2E5iJoDwK+trjnTKE906W/Dmj9w=; b=tMVQ3rkjrGi15TSNTJEyWeWObdzL62Kqhiv4d5UxQ2vYIeYl1P/pJUBQgME10XsaXA GiFZU7JLvulkZ1OEVAhJPHOnaaXCX9yP+7hs3AdZcF/GmVAEoVmAg/ecqhdFdXMhmnw7 kYGoAuzDaCks4I7luX1ykSM2PCOa+dog/vKNu725B2WOm9etDML4jZkOZ0t77VhPGdrK 75PcTEzGWDSQ8chSDFEsseOw/yUTfOvp8hHqpO9RoxsRDCK6XigV3fPeTSKrZCppKgA5 Usu1UI6vFh8t7hOKzqPAlxbxDZQ+ouEFcyb16losbjezFUVyoiT9TNPdYKC7f5qKv4u9 /k3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774393723; x=1774998523; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2xXZKnjQRFwk+RJX2E5iJoDwK+trjnTKE906W/Dmj9w=; b=bRdChK/b9cXyL8mN4G3VdBe/2afJ7ICMWZSTw1SUIJkCL1NRo8iEgGmXUvMN5HzFsW JgyY/WwY4MogiqRje6wwG26HF4ORykSIjGkQCw4KZVTrAFLfS9jhN9eHvBQ7/NtJHDT2 SrHZbUjrLxevwsA5ZTBEkw+Zh/KBCgJ55MEP4h/MhlRLFXCABuT5qQJtqdypkMalUD7U z/+ito3P8oRLVD1rFkNIjW9Q/wrofZ9SYHWv9TwQoYMpyDQAJmTwhi4pP1LPBzQIxW1Q cl66MglISqFtORuBZ+/7oYq1IeucV2CJCEYDvtJcYyyIk509eO+lSCl91nelLI9UEbhV hoYQ== X-Gm-Message-State: AOJu0YyRsBRqjO9WsN3hW2+PQcUkqIRqWJ8oSIaoyipYvN2Af1gNKG2l 5qXee/WFFpb3CK1xzPQ/D6HEcbCMe4pwEFB1Bl1dWBlj+hbkAZ71PIaZDR5mUV9pMn0= X-Gm-Gg: ATEYQzx2jB9D9iWjBJTD8nqexO5BDCaQWsF3bi+y3/bdVvoUAZMqjfTOLu8aZxBrXrL OA/9tZd13v57haaQxcnT2ZvxSB8iC51U7u31q5zS6/fFkhut+d0MKC+IRLJeaV9Pqc51JfU54Sh W/8+AKfPk/flTGUBXvypJyVQPaqoGCTbVpA/t/20gpB+Al5ihVnFcP66KqRUm1U3tFHUW5g0aWO oa5hvQ3eawJaghM+Q36Aig1l55sSQjeOJ6Ue3FmjNk2L0bKI3Y/LERxGjIX54bPBlUWVHbuKnyn XIuwlMFmePpD7n/10tlMpfQMsVU+2uCPoOxeyRrHlGsqRYjfPtSJOwOLgRPQqw+7XUd63qwujdo ZaQkrzfJz3oK+EcN7k5wFg/Ctq4FgvbF8dsJGfFDBKN7hW45irM60cdq0ZDiGCN3VEmxbUjecy9 JS7d1JngLGkY4et3pT6cLYiRnKAOHEpLp5hPGhUSQlZvfbgkn5liF8bObuCrfs6TGgZH7HnHEAK pjUllh9bIMaNzJxmkdjaKUK6Fy8ZxTha+3KmDMdvBkL4KXZwoPFPboL20Gy X-Received: by 2002:a05:7301:9f04:b0:2be:8216:57cb with SMTP id 5a478bee46e88-2c15d44fec6mr732904eec.29.1774393722507; Tue, 24 Mar 2026 16:08:42 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b17d1ddsm16235874eec.11.2026.03.24.16.08.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 16:08:42 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 5/5] libclc: Do not use spir libclc targets Date: Tue, 24 Mar 2026 16:08:35 -0700 Message-ID: <20260324230835.2363568-5-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> References: <20260324230835.2363568-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 24 Mar 2026 23:08:46 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/233833 From: Khem Raj These targets do not exist in llvm22 onwards we should use spirv targets spirv-mesa3d- and/or spirv64-mesa3d- Fixes WARNING: failed to create target machine for 'spir64-unknown-unknown': unable to get target for 'spir64-unknown-unknown', see --version and --triple. Disable all targets except spirv, they do not build ends up error like | cd /mnt/b/yoe/master/sources/openembedded-core/build/tmp/work/x86_64-nativesdk-oesdk-linux/nativesdk-libclc/22.0.0/build && -o /mnt/b/yoe/master/sources/openembedded-core/build/tmp/work/x86_64-nativesdk-oesdk-linux/nativesdk-libclc/22.0.0/build/tahiti-amdgcn-mesa-mesa3d.bc /mnt/b/yoe/master/sources/openembedded-core/build/tmp/work/x86_64-nativesdk-oesdk-linux/nativesdk-libclc/22.0.0/build/obj.libclc.dir/tahiti-amdgcn-mesa-mesa3d/builtins.opt.tahiti-amdgcn-mesa-mesa3d.bc | /bin/sh: line 1: -o: command not found | ninja: build stopped: subcommand failed. Signed-off-by: Khem Raj --- meta/recipes-devtools/clang/libclc_git.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/clang/libclc_git.bb b/meta/recipes-devtools/clang/libclc_git.bb index db846d59a8..89262cf314 100644 --- a/meta/recipes-devtools/clang/libclc_git.bb +++ b/meta/recipes-devtools/clang/libclc_git.bb @@ -19,7 +19,10 @@ OECMAKE_SOURCEPATH = "${S}/libclc" B_NATIVE = "${B}-native" # Semicolon-separated list of targets to build -LIBCLC_TARGETS ?= "all" +LIBCLC_TARGETS ?= "spirv-mesa3d-;spirv64-mesa3d-" +# opt tool does not support all targets +LIBCLC_TARGETS:class-nativesdk = "spirv-mesa3d-;spirv64-mesa3d-" +LIBCLC_TARGETS:class-target = "spirv-mesa3d-;spirv64-mesa3d-" EXTRA_OECMAKE += "-DLIBCLC_TARGETS_TO_BUILD='${LIBCLC_TARGETS}'" EXTRA_OECMAKE:append:class-target = " -DPREPARE_BUILTINS=${B_NATIVE}/utils/prepare_builtins"