public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD
@ 2026-02-20  6:02 Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 1/4] clang-tools-extra: disable tests Deepesh.Varatharajan
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Deepesh.Varatharajan @ 2026-02-20  6:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sundeep.Kokkonda, Deepesh.Varatharajan, Randy.MacLeod

From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>

This patch series introduces a test framework to run selftests for
target builds of Clang, LLVM, and LLD.

Summary of changes:
-Patch 1: Disable clang-tools-extra tests, as Clang's CMake cannot
          detect the llvm-bcanalyzer target.
-Patch 2: Enabled the necessary CMake flags for clang, llvm & lld tests
-Patch 3: Selftest script for Clang, LLVM, and LLD including exclude list
-Patch 4: Fix rust build failure by replacing target llvm-config with native

Testing:
1. The test suite has been successfully validated on x86-64, arm64, riscv64
and arm32 for all Clang, LLD & LLVM components.
2. Clang and LLD tests passed successfully on x86. LLVM tests are skipped
on x86 since it's broken. A follow-up bug will be filed and addressed.
3. Clang, LLVM & LLD all together ~80K tests are there and we currently
~250 tests to exclude list which are failing (0.32%).

Impact on build time:
These builds were executed in a controlled environment without poky-sstate
enabled.

Default(without changes):
|  Target   | Run 1      | Run 2      | Run 3      |    Average     |
| --------- | ---------- | ---------- | ---------- | -------------- |
|   llvm    | 22m18.441s | 22m31.905s | 22m23.718s |   22m24.688s   |
|   clang   | 30m09.774s | 30m22.680s | 30m15.312s |   30m15.922s   |
|   lld     | 1m26.994s  | 1m30.415s  | 1m29.006s  |   1m28.805s    |

With the testsuite changes applied:
|  Target   | Run 1      | Run 2      | Run 3      |    Average     |
| --------- | ---------- | ---------- | ---------- | -------------- |
|   llvm    | 23m32.104s | 23m45.887s | 23m38.157s |   23m38.716s   |
|   clang   | 30m31.402s | 30m46.198s | 30m39.445s |   30m39.015s   |
|   lld     | 1m29.845s  | 1m34.212s  | 1m31.925s  |   1m31.994s    |

Comparison:
|  Target   | Default Avg | With Changes Avg |     **Diff**     |
| --------- | ----------- | ---------------- | ---------------- |
|   llvm    | 22m24.688s  | 23m38.716s       |   +1m14.028s     |
|   clang   | 30m15.922s  | 30m39.015s       |   +0m23.093s     |
|   lld     | 1m28.805s   | 1m31.994s        |   +0m3.189s      |

Impact on tmpdir size:
| Metric                               | Size  |
| ------------------------------------ | ----- |
| Default target `tmpdir` size         | 74 GB |
| Target `tmpdir` size (after changes) | 79 GB |
| Difference                           | +5 GB |

Deepesh Varatharajan (4):
  clang-tools-extra: disable tests
  clang: Enable cmake flags for llvm, clang, lld tests
  oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD
  rust: Fix rust build failure

 meta/lib/oeqa/selftest/cases/clang.py         | 298 ++++++++++++++++++
 .../0042-guard-clang-tools-extra-test.patch   |  74 +++++
 meta/recipes-devtools/clang/clang_git.bb      |   2 +
 meta/recipes-devtools/clang/common.inc        |   1 +
 meta/recipes-devtools/clang/lld_git.bb        |   2 +
 meta/recipes-devtools/clang/llvm_git.bb       |   8 +-
 meta/recipes-devtools/rust/rust_1.93.0.bb     |   5 +-
 7 files changed, 387 insertions(+), 3 deletions(-)
 create mode 100644 meta/lib/oeqa/selftest/cases/clang.py
 create mode 100644 meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch

-- 
2.49.0



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/4] clang-tools-extra: disable tests
  2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
@ 2026-02-20  6:02 ` Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 2/4] clang: Enable cmake flags for llvm, clang, lld tests Deepesh.Varatharajan
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Deepesh.Varatharajan @ 2026-02-20  6:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sundeep.Kokkonda, Deepesh.Varatharajan, Randy.MacLeod

From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>

clang-tools-extra tests depend on the llvm-bcanalyzer CMake target, which
exists in LLVM's CMake project but is not visible when Clang is built
separately. To run clang tests, disable clang-tools-extra tests for now.

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
---
 .../0042-guard-clang-tools-extra-test.patch   | 74 +++++++++++++++++++
 meta/recipes-devtools/clang/common.inc        |  1 +
 2 files changed, 75 insertions(+)
 create mode 100644 meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch

diff --git a/meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch b/meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch
new file mode 100644
index 0000000000..a37ab65975
--- /dev/null
+++ b/meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch
@@ -0,0 +1,74 @@
+clang-tools-extra tests depend on the llvm-bcanalyzer CMake target, which
+exists in LLVM's CMake project but is not visible when Clang is built
+separately. To run clang tests, disable clang-tools-extra tests for now.
+
+Without this patch when CLANG_INCLUDE_TESTS is ON got the following error
+
+--------------------------------------------------------------------------------
+| CMake Error at ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2113 (add_dependencies):
+|   The dependency target "llvm-bcanalyzer" of target
+|   "check-clang-extra-clang-tidy-infrastructure-header-filter-from-config-file-simple"
+|   does not exist.
+| Call Stack (most recent call first):
+|   ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2221 (add_lit_target)
+|   tools/extra/test/CMakeLists.txt:87 (add_lit_testsuites)
+|
+| CMake Error at ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2113 (add_dependencies):
+|   The dependency target "llvm-bcanalyzer" of target
+|   "check-clang-extra-modularize" does not exist.
+| Call Stack (most recent call first):
+|   ../clang/21.1.8/recipe-sysroot/usr/lib/cmake/llvm/AddLLVM.cmake:2221 (add_lit_target)
+|   tools/extra/test/CMakeLists.txt:87 (add_lit_testsuites)
+-------------------------------------------------------------------------------
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
+
+diff --git a/clang-tools-extra/CMakeLists.txt b/clang-tools-extra/CMakeLists.txt
+index 6b6f2b1..26e4c10 100644
+--- a/clang-tools-extra/CMakeLists.txt
++++ b/clang-tools-extra/CMakeLists.txt
+@@ -6,7 +6,7 @@ include(GNUInstallDirs)
+ option(CLANG_TIDY_ENABLE_STATIC_ANALYZER
+   "Include static analyzer checks in clang-tidy" ON)
+
+-if(CLANG_INCLUDE_TESTS)
++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS)
+   umbrella_lit_testsuite_begin(check-clang-tools)
+
+   option(CLANG_TOOLS_TEST_USE_VG "Run Clang tools' tests under Valgrind" OFF)
+@@ -43,7 +43,7 @@ if (CLANG_ENABLE_CLANGD)
+ endif()
+
+ # Add the common testsuite after all the tools.
+-if(CLANG_INCLUDE_TESTS)
++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS)
+   add_subdirectory(test)
+   add_subdirectory(unittests)
+   umbrella_lit_testsuite_end(check-clang-tools)
+diff --git a/clang-tools-extra/include-cleaner/CMakeLists.txt b/clang-tools-extra/include-cleaner/CMakeLists.txt
+index dc147f9..4855577 100644
+--- a/clang-tools-extra/include-cleaner/CMakeLists.txt
++++ b/clang-tools-extra/include-cleaner/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ include_directories(include)
+ add_subdirectory(lib)
+ add_subdirectory(tool)
+-if(CLANG_INCLUDE_TESTS)
++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS)
+   add_subdirectory(test)
+   add_subdirectory(unittests)
+ endif()
+diff --git a/clang-tools-extra/clangd/CMakeLists.txt b/clang-tools-extra/clangd/CMakeLists.txt
+index a1e9da4..94dcb96 100644
+--- a/clang-tools-extra/clangd/CMakeLists.txt
++++ b/clang-tools-extra/clangd/CMakeLists.txt
+@@ -213,7 +213,7 @@ endif()
+ option(CLANGD_BUILD_DEXP "Build the dexp tool as part of Clangd" ON)
+ llvm_canonicalize_cmake_booleans(CLANGD_BUILD_DEXP)
+
+-if(CLANG_INCLUDE_TESTS)
++if(CLANG_TOOLS_EXTRA_INCLUDE_TESTS)
+   add_subdirectory(test)
+   add_subdirectory(unittests)
+ endif()
diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc
index 1e70e9c64b..c5f607aa21 100644
--- a/meta/recipes-devtools/clang/common.inc
+++ b/meta/recipes-devtools/clang/common.inc
@@ -65,6 +65,7 @@ SRC_URI = "\
     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://0042-guard-clang-tools-extra-test.patch \
 "
 # Fallback to no-PIE if not set
 GCCPIE ??= ""
-- 
2.49.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/4] clang: Enable cmake flags for llvm, clang, lld tests
  2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 1/4] clang-tools-extra: disable tests Deepesh.Varatharajan
@ 2026-02-20  6:02 ` Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 3/4] oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD Deepesh.Varatharajan
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Deepesh.Varatharajan @ 2026-02-20  6:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sundeep.Kokkonda, Deepesh.Varatharajan, Randy.MacLeod

From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>

Enable the necessary CMake flags to build and run tests
for LLVM, Clang and LLD. Install the LLVM target tools
needed to run tests via llvm-lit inside QEMU.

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
---
 meta/recipes-devtools/clang/clang_git.bb | 2 ++
 meta/recipes-devtools/clang/lld_git.bb   | 2 ++
 meta/recipes-devtools/clang/llvm_git.bb  | 8 +++++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index e10c327a2a..a6950e433e 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -77,6 +77,8 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
                   -DCMAKE_STRIP=${STAGING_BINDIR_NATIVE}/llvm-strip \
 "
 
+EXTRA_OECMAKE:append:class-target = "-DCLANG_INCLUDE_TESTS=ON -DLLVM_INCLUDE_TESTS=ON"
+
 DEPENDS = "llvm-tblgen-native llvm-native llvm binutils zlib zstd libffi libxml2 libxml2-native"
 DEPENDS:append:class-target = " ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcxx', '', d)}"
 
diff --git a/meta/recipes-devtools/clang/lld_git.bb b/meta/recipes-devtools/clang/lld_git.bb
index ba36942790..798e76746a 100644
--- a/meta/recipes-devtools/clang/lld_git.bb
+++ b/meta/recipes-devtools/clang/lld_git.bb
@@ -19,4 +19,6 @@ OECMAKE_SOURCEPATH = "${S}/lld"
 EXTRA_OECMAKE += "-DLLVM_INCLUDE_TESTS=OFF -DLLVM_USE_SYMLINKS=ON \
                   -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen"
 
+EXTRA_OECMAKE:append:class-target = "-DLLVM_INCLUDE_TESTS=ON"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/clang/llvm_git.bb b/meta/recipes-devtools/clang/llvm_git.bb
index 96ea383731..d99d6336ff 100644
--- a/meta/recipes-devtools/clang/llvm_git.bb
+++ b/meta/recipes-devtools/clang/llvm_git.bb
@@ -48,6 +48,7 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=MinSizeRel \
                   -DLLVM_INCLUDE_EXAMPLES=OFF \
                   -DLLVM_TOOL_OBJ2YAML_BUILD=OFF \
                   -DLLVM_TOOL_YAML2OBJ_BUILD=OFF \
+                  -DLLVM_TOOL_LLVM_EXEGESIS_BUILD=ON \
                   -DLLVM_NATIVE_TOOL_DIR=${STAGING_BINDIR_NATIVE} \
                   -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
                   -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
@@ -58,6 +59,11 @@ EXTRA_OECMAKE:append:class-target = "\
                   -DLLVM_TARGET_ARCH=${HOST_ARCH} \
                   -DLLVM_HOST_TRIPLE=${TARGET_SYS}${HF} \
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config \
+                  -DLLVM_INCLUDE_TESTS=ON \
+                  -DLLVM_BUILD_TESTS=ON \
+                  -DLLVM_INSTALL_GTEST=ON \
+                  -DLLVM_TOOL_OBJ2YAML_BUILD=ON \
+                  -DLLVM_TOOL_YAML2OBJ_BUILD=ON \
                  "
 
 EXTRA_OECMAKE:append:class-nativesdk = "\
@@ -69,7 +75,6 @@ PACKAGECONFIG ??= "eh rtti shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'lt
 PACKAGECONFIG:remove:class-native = "lto thin-lto"
 
 PACKAGECONFIG[eh] = "-DLLVM_ENABLE_EH=ON,-DLLVM_ENABLE_EH=OFF"
-PACKAGECONFIG[exegesis] = "-DLLVM_TOOL_LLVM_EXEGESIS_BUILD=ON,-DLLVM_TOOL_LLVM_EXEGESIS_BUILD=OFF"
 PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,libedit"
 PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF"
 PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,-DLLVM_BUILD_LLVM_DYLIB=OFF -DLLVM_LINK_LLVM_DYLIB=OFF"
@@ -124,6 +129,7 @@ SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " llvm_sysroot_preprocess"
 llvm_sysroot_preprocess() {
         install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
         install -m 0755 ${S}/llvm/tools/llvm-config/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+        install -m 0755 ${B}/bin/* ${SYSROOT_DESTDIR}${bindir}/
 }
 
 FILES:${PN}-dev += "${libdir}/llvm-config"
-- 
2.49.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/4] oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD
  2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 1/4] clang-tools-extra: disable tests Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 2/4] clang: Enable cmake flags for llvm, clang, lld tests Deepesh.Varatharajan
@ 2026-02-20  6:02 ` Deepesh.Varatharajan
  2026-02-20  6:02 ` [PATCH 4/4] rust: Fix rust build failure Deepesh.Varatharajan
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Deepesh.Varatharajan @ 2026-02-20  6:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sundeep.Kokkonda, Deepesh.Varatharajan, Randy.MacLeod

From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>

Introduce selftests to validate LLVM, Clang, and LLD test
suites using llvm-lit for target builds.

The tests cover:
    - Target tests execution under QEMU via NFS using llvm-lit
    - Architecture and OS-specific test filtering
    - Known failing test exclusions
    - LLVM testing is skipped for x86

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
---
 meta/lib/oeqa/selftest/cases/clang.py | 298 ++++++++++++++++++++++++++
 1 file changed, 298 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/clang.py

diff --git a/meta/lib/oeqa/selftest/cases/clang.py b/meta/lib/oeqa/selftest/cases/clang.py
new file mode 100644
index 0000000000..c307c324b9
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/clang.py
@@ -0,0 +1,298 @@
+#
+# Copyright (c) 2026 by Wind River Systems, Inc.
+#
+# SPDX-License-Identifier: MIT
+#
+import time
+import contextlib
+import subprocess
+from oeqa.core.decorator import OETestTag
+from oeqa.core.decorator.data import skipIfArch
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, runqemu
+from oeqa.utils.nfs import unfs_server
+
+class ClangFamilyBase(OESelftestTestCase):
+
+    ALL_ARCHS = [
+        "aarch64", "arm", "i386", "x86_64", "x86",
+        "mips", "riscv", "riscv64", "ppc", "ppc64",
+        "hexagon", "sparc", "sparcv9", "msp430",
+        "loongarch"
+    ]
+
+    EXCLUDE_OS = [
+        "Mac", "macho", "Darwin", "OSX", "wasm",
+        "Windows", "Win", "MinGW", "COFF", "zos",
+        "FreeBSD", "aix", "fuchsia", "ve"
+    ]
+
+    DEFAULT_PACKAGES = [
+        "libgcc",
+        "libstdc++",
+        "llvm",
+        "python3",
+        "python3-core",
+        "python3-modules",
+        "nfs-utils",
+    ]
+
+    def setUp(self):
+        super().setUp()
+        self.target_arch = get_bb_var("TARGET_ARCH")
+        self.tmpdir = get_bb_var("TMPDIR")
+        arches = [a for a in self.ALL_ARCHS if a != self.target_arch]
+        self.filter_out = "|".join(arches + self.EXCLUDE_OS)
+
+    def build_core_image(self):
+        features = [
+            'IMAGE_FEATURES += "ssh-server-openssh"',
+            'CORE_IMAGE_EXTRA_INSTALL += "{}"'.format(" ".join(self.DEFAULT_PACKAGES))
+        ]
+        self.write_config("\n".join(features))
+        bitbake("core-image-minimal")
+
+    def start_qemu_nfs(self):
+        ctx = contextlib.ExitStack()
+        s = ctx.__enter__()
+        nfsport, mountport = s.enter_context(unfs_server(self.tmpdir, udp=False))
+        qemu = s.enter_context(
+            runqemu("core-image-minimal", runqemuparams="nographic", qemuparams="-m 3072")
+        )
+
+        status, _ = qemu.run("uname")
+        if status != 0:
+            raise AssertionError("QEMU SSH check failed")
+
+        status, _ = qemu.run(f"mkdir -p {self.tmpdir}")
+        if status != 0:
+            raise AssertionError("Failed to create TMPDIR on target")
+
+        mountcmd = (
+            f"mount -o noac,nfsvers=3,port={nfsport},mountport={mountport} "
+            f"\"{qemu.server_ip}:{self.tmpdir}\" \"{self.tmpdir}\""
+        )
+        status, output = qemu.run(mountcmd)
+        if status != 0:
+            raise AssertionError(f"NFS mount failed: {output}")
+        return ctx, qemu
+
+    def run_llvm_lit(self, recipe, extra_filter=None, timeout=None):
+        build_dir = get_bb_var("B", recipe)
+        workdir = get_bb_var("WORKDIR", recipe)
+        lit_bin = f"{build_dir}/bin/llvm-lit"
+        test_dir = f"{build_dir}/test"
+        guest_result = f"/tmp/{recipe}-target-results.json"
+        host_result = f"{workdir}/{recipe}-target-results.log"
+
+        filter_regex = self.filter_out
+        if extra_filter:
+            filter_regex += "|" + "|".join(extra_filter)
+
+        cmd = (
+             f"cd {build_dir}/bin && "
+             f"python3 ./llvm-lit --filter-out '{filter_regex}' ../test -o {guest_result}"
+        )
+
+        return cmd, guest_result, host_result
+
+@OETestTag("toolchain-system")
+@OETestTag("toolchain-user")
+@OETestTag("runqemu")
+class LLVMSelfTestSystemEmulated(ClangFamilyBase):
+
+    LLVM_EXTRA_EXCLUDE = [
+        "BugPoint/compile-custom\\.ll$",
+        "BugPoint/replace-funcs-with-null\\.ll$",
+        "CodeGen/AMDGPU/lds-run-twice-absolute-md\\.ll$",
+        "CodeGen/AMDGPU/lds-run-twice\\.ll$",
+        "CodeGen/Generic/fp128-math-libcalls\\.ll$",
+        "CodeGen/Thumb/2009-08-20-ISelBug\\.ll$",
+        "CodeGen/Thumb/2010-07-15-debugOrdering\\.ll$",
+        "CodeGen/Thumb/2014-06-10-thumb1-ldst-opt-bug\\.ll$",
+        "CodeGen/Thumb/PR17309\\.ll$",
+        "CodeGen/Thumb/dyn-stackalloc\\.ll$",
+        "CodeGen/Thumb/frame-access\\.ll$",
+        "CodeGen/Thumb/ldm-merge-call\\.ll$",
+        "CodeGen/Thumb/pop\\.ll$",
+        "CodeGen/Thumb/pr35836\\.ll$",
+        "CodeGen/Thumb/pr35836_2\\.ll$",
+        "CodeGen/Thumb/smul_fix\\.ll$",
+        "CodeGen/Thumb/stack-guard-xo\\.ll$",
+        "CodeGen/Thumb/stm-deprecated\\.ll$",
+        "CodeGen/Thumb/stm-merge\\.ll$",
+        "CodeGen/Thumb/thumb-ldm\\.ll$",
+        "CodeGen/Thumb/ucmp\\.ll$",
+        "CodeGen/Thumb/vargs\\.ll$",
+        "CodeGen/Thumb2/2009-08-21-PostRAKill4\\.ll$",
+        "CodeGen/Thumb2/2009-09-01-PostRAProlog\\.ll$",
+        "CodeGen/Thumb2/constant-islands\\.ll$",
+        "CodeGen/Thumb2/ldr-str-imm12\\.ll$",
+        "CodeGen/Thumb2/pacbti-m-varargs-1\\.ll$",
+        "CodeGen/Thumb2/pacbti-m-varargs-2\\.ll$",
+        "CodeGen/Thumb2/thumb2-ldm\\.ll$",
+        "ExecutionEngine/MCJIT/.*",
+        "Other/spirv-sim/.*",
+        "Transforms/LoopLoadElim/.*",
+        "tools/llvm-cgdata/merge-combined-funcmap-hashtree\\.test$",
+        "tools/llvm-cgdata/merge-funcmap-concat\\.test$",
+        "tools/llvm-cgdata/merge-funcmap-double\\.test$",
+        "tools/llvm-cgdata/merge-funcmap-single\\.test$",
+        "tools/llvm-cgdata/merge-hashtree-concat\\.test$",
+        "tools/llvm-cgdata/merge-hashtree-double\\.test$",
+        "tools/llvm-cgdata/merge-hashtree-single\\.test$",
+        "tools/llvm-locstats/locstats\\.ll$",
+        "tools/llvm-locstats/no_scope_bytes\\.ll$",
+        "tools/llvm-objcopy/ELF/basic-binary-copy\\.test$",
+        "tools/llvm-objcopy/ELF/binary-first-seg-offset-zero\\.test$",
+        "tools/llvm-objcopy/ELF/binary-no-paddr\\.test$",
+        "tools/llvm-objcopy/ELF/binary-paddr\\.test$",
+        "tools/llvm-objcopy/ELF/binary-segment-layout\\.test$",
+        "tools/llvm-objcopy/ELF/check-addr-offset-align-binary\\.test$",
+        "tools/llvm-objcopy/ELF/dump-section\\.test$",
+        "tools/llvm-objcopy/ELF/gap-fill\\.test$",
+        "tools/llvm-objcopy/ELF/pad-to\\.test$",
+        "tools/llvm-objcopy/ELF/parent-loop-check\\.test$",
+        "tools/llvm-objcopy/ELF/strip-all-gnu\\.test$",
+        "tools/llvm-objcopy/ELF/strip-sections-keep\\.test$",
+        "tools/llvm-objcopy/ELF/strip-sections-only-section\\.test$",
+        "tools/llvm-objcopy/ELF/strip-sections\\.test$",
+        "tools/llvm-objcopy/ELF/update-section\\.test$",
+        "tools/llvm-original-di-preservation/basic\\.test$",
+        "tools/llvm-reduce/temporary-files-as-bitcode-split\\.ll$",
+        "tools/opt-viewer/.*",
+        "tools/UpdateTestChecks/.*",
+        "tools/yaml2obj/ELF/custom-fill\\.yaml$",
+        "tools/yaml2obj/ELF/header-elfdatanone\\.yaml$",
+        "tools/yaml2obj/ELF/header-sh-fields\\.yaml$",
+        "tools/yaml2obj/GOFF/GOFF-header-end\\.yaml$",
+        "tools/yaml2obj/GOFF/GOFF-header-settings\\.yaml$",
+    ]
+
+    #Fixme LLVM module testing is broken for x86
+    @skipIfArch(['i686'])
+    def test_llvm(self):
+        bitbake("llvm")
+        self.build_core_image()
+        ctx, qemu = self.start_qemu_nfs()
+        with ctx:
+            cmd, guest_result, host_result = self.run_llvm_lit(
+                "llvm", extra_filter=self.LLVM_EXTRA_EXCLUDE
+            )
+            status, output = qemu.run(cmd, timeout=7200)
+            if status != 0:
+                raise AssertionError(f"llvm-lit failed for LLVM: {output}")
+            status, _ = qemu.run(f"cp {guest_result} {host_result}")
+            if status != 0:
+                raise AssertionError("Failed to copy LLVM lit results back to host")
+
+@OETestTag("toolchain-system")
+@OETestTag("toolchain-user")
+@OETestTag("runqemu")
+class ClangSelfTestSystemEmulated(ClangFamilyBase):
+
+    CLANG_EXTRA_EXCLUDE = [
+        "APINotes/yaml-roundtrip-2\\.test$",
+        "APINotes/yaml-roundtrip\\.test$",
+        "AST/ByteCode/builtin-bit-cast-long-double\\.cpp$",
+        "AST/ByteCode/builtin-bit-cast\\.cpp$",
+        "AST/ByteCode/builtin-functions\\.cpp$",
+        "AST/ByteCode/c\\.c$",
+        "AST/ByteCode/codegen\\.cpp$",
+        "AST/ByteCode/complex\\.c$",
+        "AST/ByteCode/complex\\.cpp$",
+        "AST/ByteCode/const-fpfeatures\\.cpp$",
+        "AST/ByteCode/constexpr\\.c$",
+        "AST/ByteCode/fixed-point\\.cpp$",
+        "AST/ByteCode/floats\\.cpp$",
+        "AST/ByteCode/functions\\.cpp$",
+        "AST/ByteCode/intap\\.cpp$",
+        "AST/ByteCode/invalid\\.cpp$",
+        "AST/ByteCode/lambda\\.cpp$",
+        "AST/ByteCode/literals\\.cpp$",
+        "AST/ByteCode/placement-new\\.cpp$",
+        "AST/ByteCode/records\\.cpp$",
+        "AST/ByteCode/spaceship\\.cpp$",
+        "AST/ByteCode/unions\\.cpp$",
+        "Analysis/dead-stores\\.c$",
+        "Analysis/exploded-graph-rewriter/.*",
+        "Analysis/scan-build/cxx-name\\.test$",
+        "Analysis/scan-build/deduplication\\.test$",
+        "Analysis/scan-build/exclude_directories\\.test$",
+        "Analysis/scan-build/help\\.test$",
+        "Analysis/scan-build/html_output\\.test$",
+        "Analysis/scan-build/plist_html_output\\.test$",
+        "Analysis/scan-build/plist_output\\.test$",
+        "Analysis/scan-build/rebuild_index/rebuild_index\\.test$",
+        "Analysis/scan-build/silence-core-checkers\\.test$",
+        "Analysis/virtualcall-fixits\\.cpp$",
+        "C/C23/n3018\\.c$",
+        "ClangScanDeps/module.*",
+        "ClangScanDeps/multiple-commands\\.c$",
+        "ClangScanDeps/optimize-vfs-edgecases\\.m$",
+        "ClangScanDeps/optimize-vfs-pch\\.m$",
+        "ClangScanDeps/visible-modules\\.c$",
+        "ClangScanDeps/Wsystem-headers-in-module\\.c$",
+        "CodeGen/compound-literal\\.c$",
+        "CodeGenOpenCLCXX/constexpr\\.clcpp$",
+        "Format/docs_updated\\.test$",
+        "Interpreter/cxx20-modules\\.cppm$",
+        "Modules/double-quotes\\.m$",
+        "Modules/framework-public-includes-private\\.m$",
+        "Modules/implicit-module-header-maps\\.cpp$",
+        "Preprocessor/header-search-crash\\.c$",
+        "Preprocessor/headermap-rel\\.c$",
+        "Preprocessor/headermap-rel2\\.c$",
+        "Preprocessor/include-header-missing-in-framework-with-headermap\\.c$",
+        "Preprocessor/search-path-usage\\.m$",
+        "Sema/arithmetic-fence-builtin\\.c$",
+        "Sema/atomic-expr\\.c$",
+        "Sema/builtin-expect-with-probability\\.cpp$",
+        "Sema/constant-builtins-fmax\\.cpp$",
+        "Sema/constant-builtins-fmaximum-num\\.cpp$",
+        "Sema/constant-builtins-fmin\\.cpp$",
+        "Sema/constant-builtins-fminimum-num\\.cpp$",
+    ]
+
+    def test_clang(self):
+        bitbake("clang")
+        self.build_core_image()
+        ctx, qemu = self.start_qemu_nfs()
+        with ctx:
+            cmd, guest_result, host_result = self.run_llvm_lit(
+                "clang", extra_filter=self.CLANG_EXTRA_EXCLUDE
+            )
+            status, output = qemu.run(cmd, timeout=3600)
+            if status != 0:
+                raise AssertionError(f"llvm-lit failed for Clang: {output}")
+            status, _ = qemu.run(f"cp {guest_result} {host_result}")
+            if status != 0:
+                raise AssertionError("Failed to copy Clang lit results back to host")
+
+@OETestTag("toolchain-system")
+@OETestTag("toolchain-user")
+@OETestTag("runqemu")
+class LLDSelfTestSystemEmulated(ClangFamilyBase):
+
+    LLD_EXTRA_EXCLUDE = [
+        "ELF/fill-trap\\.s$",
+        "ELF/oformat-binary-ttext\\.s$",
+        "ELF/oformat-binary\\.s$",
+        "ELF/partition-synthetic-sections\\.s$",
+        "ELF/reproduce\\.s$",
+    ]
+
+    def test_lld(self):
+        bitbake("lld")
+        self.build_core_image()
+        ctx, qemu = self.start_qemu_nfs()
+        with ctx:
+            cmd, guest_result, host_result = self.run_llvm_lit(
+                "lld", extra_filter=self.LLD_EXTRA_EXCLUDE
+            )
+            status, output = qemu.run(cmd, timeout=3600)
+            if status != 0:
+                raise AssertionError(f"llvm-lit failed for LLD: {output}")
+            status, _ = qemu.run(f"cp {guest_result} {host_result}")
+            if status != 0:
+                raise AssertionError("Failed to copy LLD lit results back to host")
-- 
2.49.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/4] rust: Fix rust build failure
  2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
                   ` (2 preceding siblings ...)
  2026-02-20  6:02 ` [PATCH 3/4] oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD Deepesh.Varatharajan
@ 2026-02-20  6:02 ` Deepesh.Varatharajan
  2026-02-21  8:23 ` [OE-core] [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Mathieu Dubois-Briand
  2026-02-26 15:31 ` Randy MacLeod
  5 siblings, 0 replies; 9+ messages in thread
From: Deepesh.Varatharajan @ 2026-02-20  6:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: Sundeep.Kokkonda, Deepesh.Varatharajan, Randy.MacLeod

From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>

Target LLVM tools are installed in the sysroot because they are needed
for llvm-lit to run tests. However, this leads Rust to pick up a target
llvm-config that cannot run on the host. Overwrite it with the native
llvm-config so Rust can execute it correctly.

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
---
 meta/recipes-devtools/rust/rust_1.93.0.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust_1.93.0.bb b/meta/recipes-devtools/rust/rust_1.93.0.bb
index 2be0bd8d89..86da4f99d4 100644
--- a/meta/recipes-devtools/rust/rust_1.93.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.93.0.bb
@@ -236,9 +236,10 @@ rust_runx () {
 
     # Copy the natively built llvm-config into the target so we can run it. Horrible,
     # but works!
-    if [ ${RUST_ALTERNATE_EXE_PATH_NATIVE} != ${RUST_ALTERNATE_EXE_PATH} -a ! -f ${RUST_ALTERNATE_EXE_PATH} ]; then
+    if [ ${RUST_ALTERNATE_EXE_PATH_NATIVE} != ${RUST_ALTERNATE_EXE_PATH} ]; then
         mkdir -p `dirname ${RUST_ALTERNATE_EXE_PATH}`
-        cp ${RUST_ALTERNATE_EXE_PATH_NATIVE} ${RUST_ALTERNATE_EXE_PATH}
+        rm -f ${RUST_ALTERNATE_EXE_PATH}
+        cp -f ${RUST_ALTERNATE_EXE_PATH_NATIVE} ${RUST_ALTERNATE_EXE_PATH}
         patchelf --remove-rpath ${RUST_ALTERNATE_EXE_PATH}
     fi
 
-- 
2.49.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [OE-core] [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD
  2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
                   ` (3 preceding siblings ...)
  2026-02-20  6:02 ` [PATCH 4/4] rust: Fix rust build failure Deepesh.Varatharajan
@ 2026-02-21  8:23 ` Mathieu Dubois-Briand
  2026-02-25  8:56   ` Deepesh Varatharajan
  2026-02-26 15:31 ` Randy MacLeod
  5 siblings, 1 reply; 9+ messages in thread
From: Mathieu Dubois-Briand @ 2026-02-21  8:23 UTC (permalink / raw)
  To: deepesh.varatharajan, openembedded-core
  Cc: Sundeep.Kokkonda, Deepesh.Varatharajan, Randy.MacLeod

On Fri Feb 20, 2026 at 7:02 AM CET, Deepesh via lists.openembedded.org Varatharajan wrote:
> From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
>
> This patch series introduces a test framework to run selftests for
> target builds of Clang, LLVM, and LLD.
>
> Summary of changes:
> -Patch 1: Disable clang-tools-extra tests, as Clang's CMake cannot
>           detect the llvm-bcanalyzer target.
> -Patch 2: Enabled the necessary CMake flags for clang, llvm & lld tests
> -Patch 3: Selftest script for Clang, LLVM, and LLD including exclude list
> -Patch 4: Fix rust build failure by replacing target llvm-config with native
>
> Testing:
> 1. The test suite has been successfully validated on x86-64, arm64, riscv64
> and arm32 for all Clang, LLD & LLVM components.
> 2. Clang and LLD tests passed successfully on x86. LLVM tests are skipped
> on x86 since it's broken. A follow-up bug will be filed and addressed.
> 3. Clang, LLVM & LLD all together ~80K tests are there and we currently
> ~250 tests to exclude list which are failing (0.32%).
>
> Impact on build time:
> These builds were executed in a controlled environment without poky-sstate
> enabled.
>
> Default(without changes):
> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
> | --------- | ---------- | ---------- | ---------- | -------------- |
> |   llvm    | 22m18.441s | 22m31.905s | 22m23.718s |   22m24.688s   |
> |   clang   | 30m09.774s | 30m22.680s | 30m15.312s |   30m15.922s   |
> |   lld     | 1m26.994s  | 1m30.415s  | 1m29.006s  |   1m28.805s    |
>
> With the testsuite changes applied:
> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
> | --------- | ---------- | ---------- | ---------- | -------------- |
> |   llvm    | 23m32.104s | 23m45.887s | 23m38.157s |   23m38.716s   |
> |   clang   | 30m31.402s | 30m46.198s | 30m39.445s |   30m39.015s   |
> |   lld     | 1m29.845s  | 1m34.212s  | 1m31.925s  |   1m31.994s    |
>
> Comparison:
> |  Target   | Default Avg | With Changes Avg |     **Diff**     |
> | --------- | ----------- | ---------------- | ---------------- |
> |   llvm    | 22m24.688s  | 23m38.716s       |   +1m14.028s     |
> |   clang   | 30m15.922s  | 30m39.015s       |   +0m23.093s     |
> |   lld     | 1m28.805s   | 1m31.994s        |   +0m3.189s      |
>
> Impact on tmpdir size:
> | Metric                               | Size  |
> | ------------------------------------ | ----- |
> | Default target `tmpdir` size         | 74 GB |
> | Target `tmpdir` size (after changes) | 79 GB |
> | Difference                           | +5 GB |
>
> Deepesh Varatharajan (4):

Hi Deepesh,

It looks like some selftests are failing:

2026-02-20 20:32:17,178 - oe-selftest - INFO - clang.LLVMSelfTestSystemEmulated.test_llvm (subunit.RemotedTestCase)
2026-02-20 20:32:17,179 - oe-selftest - INFO -  ... FAIL
...
2026-02-20 20:32:17,179 - oe-selftest - INFO - 3: 1/1 8/21 (298.44s) (0 failed) (clang.LLVMSelfTestSystemEmulated.test_llvm)
2026-02-20 20:32:17,179 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86-64-tc/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-tc/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/clang.py", line 184, in test_llvm
    raise AssertionError(f"llvm-lit failed for LLVM: {output}")
AssertionError: llvm-lit failed for LLVM: sh: cd: line 0: can't cd to /srv/pokybuild/yocto-worker/qemux86-64-tc/build/build-st-177928/tmp/work/x86-64-v3-poky-linux/llvm/21.1.8/build/bin: No such file or directory
...
2026-02-20 20:32:20,596 - oe-selftest - INFO - clang.LLDSelfTestSystemEmulated.test_lld (subunit.RemotedTestCase)
2026-02-20 20:32:20,597 - oe-selftest - INFO -  ... FAIL
...
2026-02-20 20:32:20,814 - oe-selftest - INFO - clang.ClangSelfTestSystemEmulated.test_clang (subunit.RemotedTestCase)
2026-02-20 20:32:20,815 - oe-selftest - INFO -  ... FAIL

https://autobuilder.yoctoproject.org/valkyrie/#/builders/66/builds/3243
https://autobuilder.yoctoproject.org/valkyrie/#/builders/58/builds/1069
https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/3147
https://autobuilder.yoctoproject.org/valkyrie/#/builders/28/builds/3165
https://autobuilder.yoctoproject.org/valkyrie/#/builders/5/builds/3151

Can you have a look at these failures?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [OE-core] [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD
  2026-02-21  8:23 ` [OE-core] [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Mathieu Dubois-Briand
@ 2026-02-25  8:56   ` Deepesh Varatharajan
  0 siblings, 0 replies; 9+ messages in thread
From: Deepesh Varatharajan @ 2026-02-25  8:56 UTC (permalink / raw)
  To: Mathieu Dubois-Briand, openembedded-core; +Cc: Sundeep.Kokkonda, Randy.MacLeod


On 21-02-2026 13:53, Mathieu Dubois-Briand wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Fri Feb 20, 2026 at 7:02 AM CET, Deepesh via lists.openembedded.org Varatharajan wrote:
>> From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
>>
>> This patch series introduces a test framework to run selftests for
>> target builds of Clang, LLVM, and LLD.
>>
>> Summary of changes:
>> -Patch 1: Disable clang-tools-extra tests, as Clang's CMake cannot
>>            detect the llvm-bcanalyzer target.
>> -Patch 2: Enabled the necessary CMake flags for clang, llvm & lld tests
>> -Patch 3: Selftest script for Clang, LLVM, and LLD including exclude list
>> -Patch 4: Fix rust build failure by replacing target llvm-config with native
>>
>> Testing:
>> 1. The test suite has been successfully validated on x86-64, arm64, riscv64
>> and arm32 for all Clang, LLD & LLVM components.
>> 2. Clang and LLD tests passed successfully on x86. LLVM tests are skipped
>> on x86 since it's broken. A follow-up bug will be filed and addressed.
>> 3. Clang, LLVM & LLD all together ~80K tests are there and we currently
>> ~250 tests to exclude list which are failing (0.32%).
>>
>> Impact on build time:
>> These builds were executed in a controlled environment without poky-sstate
>> enabled.
>>
>> Default(without changes):
>> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
>> | --------- | ---------- | ---------- | ---------- | -------------- |
>> |   llvm    | 22m18.441s | 22m31.905s | 22m23.718s |   22m24.688s   |
>> |   clang   | 30m09.774s | 30m22.680s | 30m15.312s |   30m15.922s   |
>> |   lld     | 1m26.994s  | 1m30.415s  | 1m29.006s  |   1m28.805s    |
>>
>> With the testsuite changes applied:
>> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
>> | --------- | ---------- | ---------- | ---------- | -------------- |
>> |   llvm    | 23m32.104s | 23m45.887s | 23m38.157s |   23m38.716s   |
>> |   clang   | 30m31.402s | 30m46.198s | 30m39.445s |   30m39.015s   |
>> |   lld     | 1m29.845s  | 1m34.212s  | 1m31.925s  |   1m31.994s    |
>>
>> Comparison:
>> |  Target   | Default Avg | With Changes Avg |     **Diff**     |
>> | --------- | ----------- | ---------------- | ---------------- |
>> |   llvm    | 22m24.688s  | 23m38.716s       |   +1m14.028s     |
>> |   clang   | 30m15.922s  | 30m39.015s       |   +0m23.093s     |
>> |   lld     | 1m28.805s   | 1m31.994s        |   +0m3.189s      |
>>
>> Impact on tmpdir size:
>> | Metric                               | Size  |
>> | ------------------------------------ | ----- |
>> | Default target `tmpdir` size         | 74 GB |
>> | Target `tmpdir` size (after changes) | 79 GB |
>> | Difference                           | +5 GB |
>>
>> Deepesh Varatharajan (4):
> Hi Deepesh,
>
> It looks like some selftests are failing:
>
> 2026-02-20 20:32:17,178 - oe-selftest - INFO - clang.LLVMSelfTestSystemEmulated.test_llvm (subunit.RemotedTestCase)
> 2026-02-20 20:32:17,179 - oe-selftest - INFO -  ... FAIL
> ...
> 2026-02-20 20:32:17,179 - oe-selftest - INFO - 3: 1/1 8/21 (298.44s) (0 failed) (clang.LLVMSelfTestSystemEmulated.test_llvm)
> 2026-02-20 20:32:17,179 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
>    File "/srv/pokybuild/yocto-worker/qemux86-64-tc/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>      return func(*args, **kwargs)
>    File "/srv/pokybuild/yocto-worker/qemux86-64-tc/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/clang.py", line 184, in test_llvm
>      raise AssertionError(f"llvm-lit failed for LLVM: {output}")
> AssertionError: llvm-lit failed for LLVM: sh: cd: line 0: can't cd to /srv/pokybuild/yocto-worker/qemux86-64-tc/build/build-st-177928/tmp/work/x86-64-v3-poky-linux/llvm/21.1.8/build/bin: No such file or directory
> ...
> 2026-02-20 20:32:20,596 - oe-selftest - INFO - clang.LLDSelfTestSystemEmulated.test_lld (subunit.RemotedTestCase)
> 2026-02-20 20:32:20,597 - oe-selftest - INFO -  ... FAIL
> ...
> 2026-02-20 20:32:20,814 - oe-selftest - INFO - clang.ClangSelfTestSystemEmulated.test_clang (subunit.RemotedTestCase)
> 2026-02-20 20:32:20,815 - oe-selftest - INFO -  ... FAIL
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/66/builds/3243
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/58/builds/1069
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/3147
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/28/builds/3165
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/5/builds/3151
>
> Can you have a look at these failures?
Hi Mathieu,

These failures appear to be intermittent and were not caught during our 
testing.
We’ve been able to reproduce the issue locally and have implemented a 
fix. V2
incoming.

Regards,
Deepesh
>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD
  2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
                   ` (4 preceding siblings ...)
  2026-02-21  8:23 ` [OE-core] [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Mathieu Dubois-Briand
@ 2026-02-26 15:31 ` Randy MacLeod
  2026-03-02  6:53   ` Deepesh Varatharajan
  5 siblings, 1 reply; 9+ messages in thread
From: Randy MacLeod @ 2026-02-26 15:31 UTC (permalink / raw)
  To: Deepesh.Varatharajan, openembedded-core; +Cc: Sundeep.Kokkonda

[-- Attachment #1: Type: text/plain, Size: 27084 bytes --]

On 2026-02-20 1:02 a.m., Deepesh.Varatharajan@windriver.com wrote:
> From: Deepesh Varatharajan<Deepesh.Varatharajan@windriver.com>
>
> This patch series introduces a test framework to run selftests for
> target builds of Clang, LLVM, and LLD.
>
> Summary of changes:
> -Patch 1: Disable clang-tools-extra tests, as Clang's CMake cannot
>            detect the llvm-bcanalyzer target.
> -Patch 2: Enabled the necessary CMake flags for clang, llvm & lld tests
> -Patch 3: Selftest script for Clang, LLVM, and LLD including exclude list
> -Patch 4: Fix rust build failure by replacing target llvm-config with native
>
> Testing:
> 1. The test suite has been successfully validated on x86-64, arm64, riscv64
> and arm32 for all Clang, LLD & LLVM components.
> 2. Clang and LLD tests passed successfully on x86. LLVM tests are skipped
> on x86 since it's broken. A follow-up bug will be filed and addressed.
> 3. Clang, LLVM & LLD all together ~80K tests are there and we currently
> ~250 tests to exclude list which are failing (0.32%).
>
> Impact on build time:
> These builds were executed in a controlled environment without poky-sstate
> enabled.
>
> Default(without changes):
> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
> | --------- | ---------- | ---------- | ---------- | -------------- |
> |   llvm    | 22m18.441s | 22m31.905s | 22m23.718s |   22m24.688s   |
> |   clang   | 30m09.774s | 30m22.680s | 30m15.312s |   30m15.922s   |
> |   lld     | 1m26.994s  | 1m30.415s  | 1m29.006s  |   1m28.805s    |
>
> With the testsuite changes applied:
> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
> | --------- | ---------- | ---------- | ---------- | -------------- |
> |   llvm    | 23m32.104s | 23m45.887s | 23m38.157s |   23m38.716s   |
> |   clang   | 30m31.402s | 30m46.198s | 30m39.445s |   30m39.015s   |
> |   lld     | 1m29.845s  | 1m34.212s  | 1m31.925s  |   1m31.994s    |
>
> Comparison:
> |  Target   | Default Avg | With Changes Avg |     **Diff**     |
> | --------- | ----------- | ---------------- | ---------------- |
> |   llvm    | 22m24.688s  | 23m38.716s       |   +1m14.028s     |
> |   clang   | 30m15.922s  | 30m39.015s       |   +0m23.093s     |
> |   lld     | 1m28.805s   | 1m31.994s        |   +0m3.189s      |
>
> Impact on tmpdir size:
> | Metric                               | Size  |
> | ------------------------------------ | ----- |
> | Default target `tmpdir` size         | 74 GB |
> | Target `tmpdir` size (after changes) | 79 GB |
> | Difference                           | +5 GB |


Nice data and nicely presented. Thanks.

I was wondering if there was any other impact due to the changes so I 
added clang and llvm to my local.conf:
IMAGE_INSTALL:append = " clang llvm"

I know this isn't a common work-flow but I was curious.

I also added:
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"

as explained here:
https://docs.yoctoproject.org/dev-manual/build-quality.html#enabling-and-disabling-build-history

I made sure there were -no- llvm or clang files in my tmp dir or 
sstate-cache, then I ran:

❯ bitbake core-image-minimal
...
I applied your patches and built again:

❯ bitbake core-image-minimal
...

and ran (1).

My summary (with some AI bot help) is:

|+---------------------+----------+----------+-----------+------------+ 
| Package | Old (MB) | New (MB) | Diff (MB) | Change (%) | 
+=====================+==========+==========+===========+============+ | 
clang/clang-dbg | 44.99 | 59.79 | +14.81 | +32.92% | | clang/clang-dev | 
30.22 | 30.22 | -0.00 | -0.00% | | clang/clang-tools | 5.05 | 29.58 | 
+24.53 | +485.87% | | llvm/llvm-bin | 16.40 | 71.77 | +55.36 | +337.50% 
| | llvm/llvm-dbg | 386.79 | 646.12 | +259.33 | +67.05% | | 
llvm/llvm-dev | 32.67 | 33.67 | +1.00 | +3.05% | | llvm/llvm-src | 
387.54 | 389.44 | +1.90 | +0.49% | | llvm/llvm-staticdev | 609.68 | 
616.80 | +7.12 | +1.17% | 
+---------------------+----------+----------+-----------+------------+|

I think you already have a solution to this target package size bloat 
that you mentioned in private chat.

Please explain here and send a new patchset when ready.

Thanks,

../Randy


1)

❯ buildhistory-diff -a
images/qemux86_64/glibc/core-image-minimal: IMAGESIZE changed from 
273524 to 273528 (+0%)
packages/x86-64-v3-oe-linux/clang/clang-dbg: FILELIST: added 
"/usr/bin/.debug/c-index-test"
packages/x86-64-v3-oe-linux/clang/clang-dbg: PKGSIZE changed from 
47171320 to 62698976 (+33%)
packages/x86-64-v3-oe-linux/clang/clang-dbg: RRECOMMENDS: added 
"libclang-dbg libxml2-dbg"
packages/x86-64-v3-oe-linux/clang/clang-dev: PKGSIZE changed from 
31692933 to 31692927 (-0%)
packages/x86-64-v3-oe-linux/clang/clang-tools: RDEPENDS: added "libxml2 
(['>= 2.15.1']) libclang (['>= 21.1.8'])"
packages/x86-64-v3-oe-linux/clang/clang-tools: FILELIST: added 
"/usr/bin/c-index-test"
packages/x86-64-v3-oe-linux/clang/clang-tools: PKGSIZE changed from 
5294619 to 31019723 (+486%)
packages/x86-64-v3-oe-linux/llvm/llvm-bin: RDEPENDS: added "libzstd 
(['>= 1.5.7']) zlib (['>= 1.3.2'])"
packages/x86-64-v3-oe-linux/llvm/llvm-bin: FILELIST: added 
"/usr/bin/llvm-exegesis /usr/bin/obj2yaml /usr/bin/yaml2obj"
packages/x86-64-v3-oe-linux/llvm/llvm-bin: PKGSIZE changed from 17200574 
to 75253038 (+338%)
packages/x86-64-v3-oe-linux/llvm/llvm-dbg: FILELIST: added 
"/usr/bin/.debug/obj2yaml /usr/bin/.debug/llvm-exegesis 
/usr/bin/.debug/yaml2obj"
packages/x86-64-v3-oe-linux/llvm/llvm-dbg: PKGSIZE changed from 
405577928 to 677509048 (+67%)
packages/x86-64-v3-oe-linux/llvm/llvm-dev: FILELIST: added 
"/usr/include/llvm-gtest/gtest/internal/gtest-param-util.h 
/usr/include/llvm-gmock/gmock/internal/custom/gmock-generated-actions.h 
/usr/include/llvm-gtest/gtest/internal/gtest-filepath.h 
/usr/include/llvm-gmock/gmock/gmock-actions.h 
/usr/include/llvm-gmock/gmock/gmock.h 
/usr/include/llvm-gtest/gtest/gtest-test-part.h 
/usr/include/llvm-gtest/gtest/gtest-param-test.h 
/usr/include/llvm-gtest/gtest/internal/custom/gtest-port.h 
/usr/include/llvm-gtest/gtest/internal/custom/raw-ostream.h 
/usr/include/llvm-gtest/gtest/gtest-spi.h 
/usr/include/llvm-gtest/gtest/gtest-assertion-result.h 
/usr/include/llvm-gtest/gtest/internal/gtest-death-test-internal.h 
/usr/include/llvm-gtest/gtest/internal/custom/README.md 
/usr/include/llvm-gtest/gtest/gtest-printers.h 
/usr/include/llvm-gtest/gtest/internal/gtest-type-util.h 
/usr/include/llvm-gtest/gtest/internal/gtest-internal.h 
/usr/include/llvm-gmock/gmock/internal/gmock-port.h 
/usr/include/llvm-gtest/gtest/gtest_prod.h 
/usr/include/llvm-gmock/gmock/gmock-more-actions.h 
/usr/include/llvm-gmock/gmock/internal/gmock-pp.h 
/usr/include/llvm-gtest/gtest/internal/custom/gtest-printers.h 
/usr/include/llvm-gtest/gtest/gtest.h 
/usr/include/llvm-gtest/gtest/gtest-typed-test.h 
/usr/include/llvm-gmock/gmock/internal/custom/gmock-matchers.h 
/usr/include/llvm-gtest/gtest/gtest-message.h 
/usr/include/llvm-gmock/gmock/gmock-more-matchers.h 
/usr/include/llvm-gmock/gmock/gmock-cardinalities.h 
/usr/include/llvm-gtest/gtest/gtest-death-test.h 
/usr/include/llvm-gtest/gtest/internal/custom/gtest.h 
/usr/include/llvm-gtest/gtest/internal/gtest-port-arch.h 
/usr/include/llvm-gtest/gtest/internal/gtest-string.h 
/usr/include/llvm-gmock/gmock/internal/gmock-internal-utils.h 
/usr/include/llvm-gmock/gmock/internal/custom/README.md 
/usr/include/llvm-gmock/gmock/internal/custom/gmock-port.h 
/usr/include/llvm-gtest/gtest/internal/gtest-port.h 
/usr/include/llvm-gmock/gmock/gmock-spec-builders.h 
/usr/include/llvm-gtest/gtest/gtest-matchers.h 
/usr/include/llvm-gmock/gmock/gmock-matchers.h 
/usr/include/llvm-gmock/gmock/gmock-function-mocker.h 
/usr/include/llvm-gmock/gmock/gmock-nice-strict.h 
/usr/include/llvm-gtest/gtest/gtest_pred_impl.h"
packages/x86-64-v3-oe-linux/llvm/llvm-dev: PKGSIZE changed from 34258809 
to 35304811 (+3%)
packages/x86-64-v3-oe-linux/llvm/llvm-src: FILELIST: added 
"/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/DisassemblerHelper.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest.cc 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock-matchers.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkCode.h 
/usr/src/debug/llvm/21.1.8/llvm/include/llvm/ADT/CombinationGenerator.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPreprocessing.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SubprocessMemory.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock-cardinalities.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SchedClassResolution.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterValue.h 
/usr/src/debug/llvm/21.1.8/llvm/include/llvm/ADT/PackedVector.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterAliasing.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/wasm2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/xcoff2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/elf2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/PowerPC/Target.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-death-test.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-test-part.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetFile.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterAliasing.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-internal-utils.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/PerfHelper.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/archive2yaml.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/UnitTestMain/TestMain.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-internal-inl.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ResultAggregator.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Analysis.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPasses.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/obj2yaml.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Target.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-typed-test.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/CodeTemplate.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Target.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-test-part.cc 
/usr/src/debug/llvm/21.1.8/llvm/include/llvm/Support/raw_os_ostream.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-spec-builders.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Error.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-matchers.h 
/usr/src/debug/llvm/21.1.8/lib/Target/AArch64/AArch64GenExegesis.inc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-matchers.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/DisassemblerHelper.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/X86/Target.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-printers.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/offload2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/dxcontainer2yaml.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-message.h 
/usr/src/debug/llvm/21.1.8/lib/Target/X86/X86GenExegesis.inc 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-assertion-result.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPostprocessing.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Assembler.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Analysis.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-port.cc 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-port.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/TargetSelect.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp 
/usr/src/debug/llvm/21.1.8/llvm/lib/Testing/Support/Error.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-internal.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-filepath.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/obj2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/minidump2yaml.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-matchers.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Error.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/internal/gmock-internal-utils.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LlvmState.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/dwarf2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/MCInstrDescView.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-filepath.cc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp 
/usr/src/debug/llvm/21.1.8/llvm/lib/Testing/Annotations/Annotations.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Assembler.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Clustering.h 
/usr/src/debug/llvm/21.1.8/include/llvm/Config/TargetExegesis.def 
/usr/src/debug/llvm/21.1.8/llvm/tools/yaml2obj/yaml2obj.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Mips/Target.cpp 
/usr/src/debug/llvm/21.1.8/lib/Target/RISCV/RISCVGenExegesis.inc 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/coff2yaml.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/CodeTemplate.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ProgressMeter.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock.cc 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/macho2yaml.cpp 
/usr/src/debug/llvm/21.1.8/lib/Target/Mips/MipsGenExegesis.inc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetGenerator.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-cardinalities.cc 
/usr/src/debug/llvm/21.1.8/lib/Target/PowerPC/PPCGenExegesis.inc 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/llvm-exegesis.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetFile.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LlvmState.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkResult.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-death-test.cc 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock-spec-builders.h 
/usr/src/debug/llvm/21.1.8/llvm/lib/Testing/Support/SupportHelpers.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ValidationEvent.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Clustering.cpp 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterValue.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-printers.cc 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-assertion-result.h 
/usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp 
/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/PerfHelper.cpp"
packages/x86-64-v3-oe-linux/llvm/llvm-src: PKGSIZE changed from 
406369891 to 408360607 (+0%)
packages/x86-64-v3-oe-linux/llvm/llvm-staticdev: FILELIST: added 
"/usr/lib/libllvm_gtest_main.a /usr/lib/libLLVMTestingAnnotations.a 
/usr/lib/libLLVMExegesisMips.a /usr/lib/libLLVMExegesis.a 
/usr/lib/libLLVMTestingSupport.a /usr/lib/libLLVMExegesisPowerPC.a 
/usr/lib/libLLVMExegesisX86.a /usr/lib/libLLVMExegesisAArch64.a 
/usr/lib/libllvm_gtest.a /usr/lib/libLLVMExegesisRISCV.a"
packages/x86-64-v3-oe-linux/llvm/llvm-staticdev: PKGSIZE changed from 
639292726 to 646763728 (+1%)
Changes to packages/x86-64-v3-oe-linux/llvm (sysroot):
   /usr/bin/bugpoint was added
   /usr/bin/count was added
   /usr/bin/dsymutil was added
   /usr/bin/FileCheck was added
   /usr/bin/llc was added
   /usr/bin/lli was added
   /usr/bin/lli-child-target was added
   /usr/bin/llvm-addr2line was added
   /usr/bin/llvm-ar was added
   /usr/bin/llvm-as was added
   /usr/bin/llvm-bcanalyzer was added
   /usr/bin/llvm-bitcode-strip was added
   /usr/bin/llvm-cat was added
   /usr/bin/llvm-cfi-verify was added
   /usr/bin/llvm-cgdata was added
   /usr/bin/llvm-config was added
   /usr/bin/llvm-cov was added
   /usr/bin/llvm-c-test was added
   /usr/bin/llvm-ctxprof-util was added
   /usr/bin/llvm-cvtres was added
   /usr/bin/llvm-cxxdump was added
   /usr/bin/llvm-cxxfilt was added
   /usr/bin/llvm-cxxmap was added
   /usr/bin/llvm-debuginfo-analyzer was added
   /usr/bin/llvm-debuginfod was added
   /usr/bin/llvm-debuginfod-find was added
   /usr/bin/llvm-diff was added
   /usr/bin/llvm-dis was added
   /usr/bin/llvm-dlang-demangle-fuzzer was added
   /usr/bin/llvm-dlltool was added
   /usr/bin/llvm-dwarfdump was added
   /usr/bin/llvm-dwarfutil was added
   /usr/bin/llvm-dwp was added
   /usr/bin/llvm-exegesis was added
   /usr/bin/llvm-extract was added
   /usr/bin/llvm-gsymutil was added
   /usr/bin/llvm-ifs was added
   /usr/bin/llvm-install-name-tool was added
   /usr/bin/llvm-isel-fuzzer was added
   /usr/bin/llvm-itanium-demangle-fuzzer was added
   /usr/bin/llvm-jitlink was added
   /usr/bin/llvm-jitlink-executor was added
   /usr/bin/llvm-lib was added
   /usr/bin/llvm-libtool-darwin was added
   /usr/bin/llvm-link was added
   /usr/bin/llvm-lipo was added
   /usr/bin/llvm-lit was added
   /usr/bin/llvm-locstats was added
   /usr/bin/llvm-lto was added
   /usr/bin/llvm-lto2 was added
   /usr/bin/llvm-mc was added
   /usr/bin/llvm-mca was added
   /usr/bin/llvm-microsoft-demangle-fuzzer was added
   /usr/bin/llvm-ml was added
   /usr/bin/llvm-ml64 was added
   /usr/bin/llvm-modextract was added
   /usr/bin/llvm-mt was added
   /usr/bin/llvm-nm was added
   /usr/bin/llvm-objcopy was added
   /usr/bin/llvm-objdump was added
   /usr/bin/llvm-opt-fuzzer was added
   /usr/bin/llvm-opt-report was added
   /usr/bin/llvm-otool was added
   /usr/bin/llvm-pdbutil was added
   /usr/bin/llvm-PerfectShuffle was added
   /usr/bin/llvm-profdata was added
   /usr/bin/llvm-profgen was added
   /usr/bin/llvm-ranlib was added
   /usr/bin/llvm-rc was added
   /usr/bin/llvm-readelf was added
   /usr/bin/llvm-readobj was added
   /usr/bin/llvm-readtapi was added
   /usr/bin/llvm-reduce was added
   /usr/bin/llvm-remarkutil was added
   /usr/bin/llvm-rtdyld was added
   /usr/bin/llvm-rust-demangle-fuzzer was added
   /usr/bin/llvm-sim was added
   /usr/bin/llvm-size was added
   /usr/bin/llvm-special-case-list-fuzzer was added
   /usr/bin/llvm-split was added
   /usr/bin/llvm-stress was added
   /usr/bin/llvm-strings was added
   /usr/bin/llvm-strip was added
   /usr/bin/llvm-symbolizer was added
   /usr/bin/llvm-tblgen was added
   /usr/bin/llvm-test-mustache-spec was added
   /usr/bin/llvm-tli-checker was added
   /usr/bin/llvm-undname was added
   /usr/bin/llvm-windres was added
   /usr/bin/llvm-xray was added
   /usr/bin/llvm-yaml-numeric-parser-fuzzer was added
   /usr/bin/llvm-yaml-parser-fuzzer was added
   /usr/bin/not was added
   /usr/bin/obj2yaml was added
   /usr/bin/opt was added
   /usr/bin/reduce-chunk-list was added
   /usr/bin/sancov was added
   /usr/bin/sanstats was added
   /usr/bin/split-file was added
   /usr/bin/UnicodeNameMappingGenerator was added
   /usr/bin/verify-uselistorder was added
   /usr/bin/yaml2obj was added
   /usr/bin/yaml-bench was added
   /usr/include/llvm-gmock was added
   /usr/include/llvm-gmock/gmock was added
   /usr/include/llvm-gmock/gmock/gmock-actions.h was added
   /usr/include/llvm-gmock/gmock/gmock-cardinalities.h was added
   /usr/include/llvm-gmock/gmock/gmock-function-mocker.h was added
   /usr/include/llvm-gmock/gmock/gmock.h was added
   /usr/include/llvm-gmock/gmock/gmock-matchers.h was added
   /usr/include/llvm-gmock/gmock/gmock-more-actions.h was added
   /usr/include/llvm-gmock/gmock/gmock-more-matchers.h was added
   /usr/include/llvm-gmock/gmock/gmock-nice-strict.h was added
   /usr/include/llvm-gmock/gmock/gmock-spec-builders.h was added
   /usr/include/llvm-gmock/gmock/internal was added
   /usr/include/llvm-gmock/gmock/internal/custom was added
/usr/include/llvm-gmock/gmock/internal/custom/gmock-generated-actions.h 
was added
   /usr/include/llvm-gmock/gmock/internal/custom/gmock-matchers.h was added
   /usr/include/llvm-gmock/gmock/internal/custom/gmock-port.h was added
   /usr/include/llvm-gmock/gmock/internal/custom/README.md was added
   /usr/include/llvm-gmock/gmock/internal/gmock-internal-utils.h was added
   /usr/include/llvm-gmock/gmock/internal/gmock-port.h was added
   /usr/include/llvm-gmock/gmock/internal/gmock-pp.h was added
   /usr/include/llvm-gtest was added
   /usr/include/llvm-gtest/gtest was added
   /usr/include/llvm-gtest/gtest/gtest-assertion-result.h was added
   /usr/include/llvm-gtest/gtest/gtest-death-test.h was added
   /usr/include/llvm-gtest/gtest/gtest.h was added
   /usr/include/llvm-gtest/gtest/gtest-matchers.h was added
   /usr/include/llvm-gtest/gtest/gtest-message.h was added
   /usr/include/llvm-gtest/gtest/gtest-param-test.h was added
   /usr/include/llvm-gtest/gtest/gtest_pred_impl.h was added
   /usr/include/llvm-gtest/gtest/gtest-printers.h was added
   /usr/include/llvm-gtest/gtest/gtest_prod.h was added
   /usr/include/llvm-gtest/gtest/gtest-spi.h was added
   /usr/include/llvm-gtest/gtest/gtest-test-part.h was added
   /usr/include/llvm-gtest/gtest/gtest-typed-test.h was added
   /usr/include/llvm-gtest/gtest/internal was added
   /usr/include/llvm-gtest/gtest/internal/custom was added
   /usr/include/llvm-gtest/gtest/internal/custom/gtest.h was added
   /usr/include/llvm-gtest/gtest/internal/custom/gtest-port.h was added
   /usr/include/llvm-gtest/gtest/internal/custom/gtest-printers.h was added
   /usr/include/llvm-gtest/gtest/internal/custom/raw-ostream.h was added
   /usr/include/llvm-gtest/gtest/internal/custom/README.md was added
/usr/include/llvm-gtest/gtest/internal/gtest-death-test-internal.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-filepath.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-internal.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-param-util.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-port-arch.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-port.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-string.h was added
   /usr/include/llvm-gtest/gtest/internal/gtest-type-util.h was added
   /usr/lib/libLLVMExegesis.a was added
   /usr/lib/libLLVMExegesisAArch64.a was added
   /usr/lib/libLLVMExegesisMips.a was added
   /usr/lib/libLLVMExegesisPowerPC.a was added
   /usr/lib/libLLVMExegesisRISCV.a was added
   /usr/lib/libLLVMExegesisX86.a was added
   /usr/lib/libllvm_gtest.a was added
   /usr/lib/libllvm_gtest_main.a was added
   /usr/lib/libLLVMTestingAnnotations.a was added
   /usr/lib/libLLVMTestingSupport.a was added
Changes to packages/x86_64-linux/llvm-native (sysroot):
   /usr/bin/llvm-exegesis was added
   /usr/lib/libLLVMExegesis.a was added
   /usr/lib/libLLVMExegesisAArch64.a was added
   /usr/lib/libLLVMExegesisMips.a was added
   /usr/lib/libLLVMExegesisPowerPC.a was added
   /usr/lib/libLLVMExegesisRISCV.a was added
   /usr/lib/libLLVMExegesisX86.a was added


>
> Deepesh Varatharajan (4):
>    clang-tools-extra: disable tests
>    clang: Enable cmake flags for llvm, clang, lld tests
>    oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD
>    rust: Fix rust build failure
>
>   meta/lib/oeqa/selftest/cases/clang.py         | 298 ++++++++++++++++++
>   .../0042-guard-clang-tools-extra-test.patch   |  74 +++++
>   meta/recipes-devtools/clang/clang_git.bb      |   2 +
>   meta/recipes-devtools/clang/common.inc        |   1 +
>   meta/recipes-devtools/clang/lld_git.bb        |   2 +
>   meta/recipes-devtools/clang/llvm_git.bb       |   8 +-
>   meta/recipes-devtools/rust/rust_1.93.0.bb     |   5 +-
>   7 files changed, 387 insertions(+), 3 deletions(-)
>   create mode 100644 meta/lib/oeqa/selftest/cases/clang.py
>   create mode 100644 meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch
>

-- 
# Randy MacLeod
# Wind River Linux

[-- Attachment #2: Type: text/html, Size: 31639 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD
  2026-02-26 15:31 ` Randy MacLeod
@ 2026-03-02  6:53   ` Deepesh Varatharajan
  0 siblings, 0 replies; 9+ messages in thread
From: Deepesh Varatharajan @ 2026-03-02  6:53 UTC (permalink / raw)
  To: Randy MacLeod, openembedded-core; +Cc: Sundeep.Kokkonda

[-- Attachment #1: Type: text/plain, Size: 28209 bytes --]


On 26-02-2026 21:01, Randy MacLeod wrote:
> On 2026-02-20 1:02 a.m., Deepesh.Varatharajan@windriver.com wrote:
>> From: Deepesh Varatharajan<Deepesh.Varatharajan@windriver.com>
>>
>> This patch series introduces a test framework to run selftests for
>> target builds of Clang, LLVM, and LLD.
>>
>> Summary of changes:
>> -Patch 1: Disable clang-tools-extra tests, as Clang's CMake cannot
>>            detect the llvm-bcanalyzer target.
>> -Patch 2: Enabled the necessary CMake flags for clang, llvm & lld tests
>> -Patch 3: Selftest script for Clang, LLVM, and LLD including exclude list
>> -Patch 4: Fix rust build failure by replacing target llvm-config with native
>>
>> Testing:
>> 1. The test suite has been successfully validated on x86-64, arm64, riscv64
>> and arm32 for all Clang, LLD & LLVM components.
>> 2. Clang and LLD tests passed successfully on x86. LLVM tests are skipped
>> on x86 since it's broken. A follow-up bug will be filed and addressed.
>> 3. Clang, LLVM & LLD all together ~80K tests are there and we currently
>> ~250 tests to exclude list which are failing (0.32%).
>>
>> Impact on build time:
>> These builds were executed in a controlled environment without poky-sstate
>> enabled.
>>
>> Default(without changes):
>> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
>> | --------- | ---------- | ---------- | ---------- | -------------- |
>> |   llvm    | 22m18.441s | 22m31.905s | 22m23.718s |   22m24.688s   |
>> |   clang   | 30m09.774s | 30m22.680s | 30m15.312s |   30m15.922s   |
>> |   lld     | 1m26.994s  | 1m30.415s  | 1m29.006s  |   1m28.805s    |
>>
>> With the testsuite changes applied:
>> |  Target   | Run 1      | Run 2      | Run 3      |    Average     |
>> | --------- | ---------- | ---------- | ---------- | -------------- |
>> |   llvm    | 23m32.104s | 23m45.887s | 23m38.157s |   23m38.716s   |
>> |   clang   | 30m31.402s | 30m46.198s | 30m39.445s |   30m39.015s   |
>> |   lld     | 1m29.845s  | 1m34.212s  | 1m31.925s  |   1m31.994s    |
>>
>> Comparison:
>> |  Target   | Default Avg | With Changes Avg |     **Diff**     |
>> | --------- | ----------- | ---------------- | ---------------- |
>> |   llvm    | 22m24.688s  | 23m38.716s       |   +1m14.028s     |
>> |   clang   | 30m15.922s  | 30m39.015s       |   +0m23.093s     |
>> |   lld     | 1m28.805s   | 1m31.994s        |   +0m3.189s      |
>>
>> Impact on tmpdir size:
>> | Metric                               | Size  |
>> | ------------------------------------ | ----- |
>> | Default target `tmpdir` size         | 74 GB |
>> | Target `tmpdir` size (after changes) | 79 GB |
>> | Difference                           | +5 GB |
>
>
> Nice data and nicely presented. Thanks.
>
> I was wondering if there was any other impact due to the changes so I 
> added clang and llvm to my local.conf:
> IMAGE_INSTALL:append = " clang llvm"
>
> I know this isn't a common work-flow but I was curious.
>
> I also added:
> INHERIT += "buildhistory"
> BUILDHISTORY_COMMIT = "1"
>
> as explained here:
> https://docs.yoctoproject.org/dev-manual/build-quality.html#enabling-and-disabling-build-history
>
> I made sure there were -no- llvm or clang files in my tmp dir or 
> sstate-cache, then I ran:
>
> ❯ bitbake core-image-minimal
> ...
> I applied your patches and built again:
>
> ❯ bitbake core-image-minimal
> ...
>
> and ran (1).
>
> My summary (with some AI bot help) is:
>
> |+---------------------+----------+----------+-----------+------------+ 
> | Package | Old (MB) | New (MB) | Diff (MB) | Change (%) | 
> +=====================+==========+==========+===========+============+ 
> | clang/clang-dbg | 44.99 | 59.79 | +14.81 | +32.92% | | 
> clang/clang-dev | 30.22 | 30.22 | -0.00 | -0.00% | | clang/clang-tools 
> | 5.05 | 29.58 | +24.53 | +485.87% | | llvm/llvm-bin | 16.40 | 71.77 | 
> +55.36 | +337.50% | | llvm/llvm-dbg | 386.79 | 646.12 | +259.33 | 
> +67.05% | | llvm/llvm-dev | 32.67 | 33.67 | +1.00 | +3.05% | | 
> llvm/llvm-src | 387.54 | 389.44 | +1.90 | +0.49% | | 
> llvm/llvm-staticdev | 609.68 | 616.80 | +7.12 | +1.17% | 
> +---------------------+----------+----------+-----------+------------+|
>
> I think you already have a solution to this target package size bloat 
> that you mentioned in private chat.
>
> Please explain here and send a new patchset when ready.
>
Thank you, Randy, for putting in the effort to gather this data.

To address this impact, we implemented a fix that ensures the test suite 
related flags are enabled
only during test execution, controlled through the 
CLANG_ENABLE_TESTSUITE variable. The relevant
changes were made and sent V2.

Regards,
Deepesh
>
> Thanks,
>
> ../Randy
>
>
> 1)
>
> ❯ buildhistory-diff -a
> images/qemux86_64/glibc/core-image-minimal: IMAGESIZE changed from 
> 273524 to 273528 (+0%)
> packages/x86-64-v3-oe-linux/clang/clang-dbg: FILELIST: added 
> "/usr/bin/.debug/c-index-test"
> packages/x86-64-v3-oe-linux/clang/clang-dbg: PKGSIZE changed from 
> 47171320 to 62698976 (+33%)
> packages/x86-64-v3-oe-linux/clang/clang-dbg: RRECOMMENDS: added 
> "libclang-dbg libxml2-dbg"
> packages/x86-64-v3-oe-linux/clang/clang-dev: PKGSIZE changed from 
> 31692933 to 31692927 (-0%)
> packages/x86-64-v3-oe-linux/clang/clang-tools: RDEPENDS: added 
> "libxml2 (['>= 2.15.1']) libclang (['>= 21.1.8'])"
> packages/x86-64-v3-oe-linux/clang/clang-tools: FILELIST: added 
> "/usr/bin/c-index-test"
> packages/x86-64-v3-oe-linux/clang/clang-tools: PKGSIZE changed from 
> 5294619 to 31019723 (+486%)
> packages/x86-64-v3-oe-linux/llvm/llvm-bin: RDEPENDS: added "libzstd 
> (['>= 1.5.7']) zlib (['>= 1.3.2'])"
> packages/x86-64-v3-oe-linux/llvm/llvm-bin: FILELIST: added 
> "/usr/bin/llvm-exegesis /usr/bin/obj2yaml /usr/bin/yaml2obj"
> packages/x86-64-v3-oe-linux/llvm/llvm-bin: PKGSIZE changed from 
> 17200574 to 75253038 (+338%)
> packages/x86-64-v3-oe-linux/llvm/llvm-dbg: FILELIST: added 
> "/usr/bin/.debug/obj2yaml /usr/bin/.debug/llvm-exegesis 
> /usr/bin/.debug/yaml2obj"
> packages/x86-64-v3-oe-linux/llvm/llvm-dbg: PKGSIZE changed from 
> 405577928 to 677509048 (+67%)
> packages/x86-64-v3-oe-linux/llvm/llvm-dev: FILELIST: added 
> "/usr/include/llvm-gtest/gtest/internal/gtest-param-util.h 
> /usr/include/llvm-gmock/gmock/internal/custom/gmock-generated-actions.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-filepath.h 
> /usr/include/llvm-gmock/gmock/gmock-actions.h 
> /usr/include/llvm-gmock/gmock/gmock.h 
> /usr/include/llvm-gtest/gtest/gtest-test-part.h 
> /usr/include/llvm-gtest/gtest/gtest-param-test.h 
> /usr/include/llvm-gtest/gtest/internal/custom/gtest-port.h 
> /usr/include/llvm-gtest/gtest/internal/custom/raw-ostream.h 
> /usr/include/llvm-gtest/gtest/gtest-spi.h 
> /usr/include/llvm-gtest/gtest/gtest-assertion-result.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-death-test-internal.h 
> /usr/include/llvm-gtest/gtest/internal/custom/README.md 
> /usr/include/llvm-gtest/gtest/gtest-printers.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-type-util.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-internal.h 
> /usr/include/llvm-gmock/gmock/internal/gmock-port.h 
> /usr/include/llvm-gtest/gtest/gtest_prod.h 
> /usr/include/llvm-gmock/gmock/gmock-more-actions.h 
> /usr/include/llvm-gmock/gmock/internal/gmock-pp.h 
> /usr/include/llvm-gtest/gtest/internal/custom/gtest-printers.h 
> /usr/include/llvm-gtest/gtest/gtest.h 
> /usr/include/llvm-gtest/gtest/gtest-typed-test.h 
> /usr/include/llvm-gmock/gmock/internal/custom/gmock-matchers.h 
> /usr/include/llvm-gtest/gtest/gtest-message.h 
> /usr/include/llvm-gmock/gmock/gmock-more-matchers.h 
> /usr/include/llvm-gmock/gmock/gmock-cardinalities.h 
> /usr/include/llvm-gtest/gtest/gtest-death-test.h 
> /usr/include/llvm-gtest/gtest/internal/custom/gtest.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-port-arch.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-string.h 
> /usr/include/llvm-gmock/gmock/internal/gmock-internal-utils.h 
> /usr/include/llvm-gmock/gmock/internal/custom/README.md 
> /usr/include/llvm-gmock/gmock/internal/custom/gmock-port.h 
> /usr/include/llvm-gtest/gtest/internal/gtest-port.h 
> /usr/include/llvm-gmock/gmock/gmock-spec-builders.h 
> /usr/include/llvm-gtest/gtest/gtest-matchers.h 
> /usr/include/llvm-gmock/gmock/gmock-matchers.h 
> /usr/include/llvm-gmock/gmock/gmock-function-mocker.h 
> /usr/include/llvm-gmock/gmock/gmock-nice-strict.h 
> /usr/include/llvm-gtest/gtest/gtest_pred_impl.h"
> packages/x86-64-v3-oe-linux/llvm/llvm-dev: PKGSIZE changed from 
> 34258809 to 35304811 (+3%)
> packages/x86-64-v3-oe-linux/llvm/llvm-src: FILELIST: added 
> "/usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/DisassemblerHelper.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest.cc 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock-matchers.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkCode.h 
> /usr/src/debug/llvm/21.1.8/llvm/include/llvm/ADT/CombinationGenerator.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPreprocessing.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SubprocessMemory.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock-cardinalities.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SchedClassResolution.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterValue.h 
> /usr/src/debug/llvm/21.1.8/llvm/include/llvm/ADT/PackedVector.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterAliasing.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/wasm2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/xcoff2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/elf2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/PowerPC/Target.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-death-test.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-test-part.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetFile.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterAliasing.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-internal-utils.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/PerfHelper.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/archive2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/UnitTestMain/TestMain.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-internal-inl.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ResultAggregator.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Analysis.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPasses.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/obj2yaml.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Target.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-typed-test.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/CodeTemplate.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Target.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-test-part.cc 
> /usr/src/debug/llvm/21.1.8/llvm/include/llvm/Support/raw_os_ostream.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-spec-builders.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Error.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-matchers.h 
> /usr/src/debug/llvm/21.1.8/lib/Target/AArch64/AArch64GenExegesis.inc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-matchers.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/DisassemblerHelper.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/X86/Target.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-printers.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/offload2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/dxcontainer2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-message.h 
> /usr/src/debug/llvm/21.1.8/lib/Target/X86/X86GenExegesis.inc 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-assertion-result.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPostprocessing.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Assembler.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Analysis.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-port.cc 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-port.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/TargetSelect.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/lib/Testing/Support/Error.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-internal.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-filepath.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/obj2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/minidump2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-matchers.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Error.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/internal/gmock-internal-utils.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LlvmState.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/dwarf2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/MCInstrDescView.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-filepath.cc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/lib/Testing/Annotations/Annotations.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Assembler.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Clustering.h 
> /usr/src/debug/llvm/21.1.8/include/llvm/Config/TargetExegesis.def 
> /usr/src/debug/llvm/21.1.8/llvm/tools/yaml2obj/yaml2obj.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Mips/Target.cpp 
> /usr/src/debug/llvm/21.1.8/lib/Target/RISCV/RISCVGenExegesis.inc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/coff2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/CodeTemplate.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ProgressMeter.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock.cc 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/obj2yaml/macho2yaml.cpp 
> /usr/src/debug/llvm/21.1.8/lib/Target/Mips/MipsGenExegesis.inc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetGenerator.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/src/gmock-cardinalities.cc 
> /usr/src/debug/llvm/21.1.8/lib/Target/PowerPC/PPCGenExegesis.inc 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/llvm-exegesis.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SchedClassResolution.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/SnippetFile.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/LlvmState.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkResult.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-death-test.cc 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googlemock/include/gmock/gmock-spec-builders.h 
> /usr/src/debug/llvm/21.1.8/llvm/lib/Testing/Support/SupportHelpers.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ValidationEvent.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/Clustering.cpp 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-param-util.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/RegisterValue.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/src/gtest-printers.cc 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/gtest-assertion-result.h 
> /usr/src/debug/llvm/21.1.8/third-party/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/ResultAggregator.cpp 
> /usr/src/debug/llvm/21.1.8/llvm/tools/llvm-exegesis/lib/PerfHelper.cpp"
> packages/x86-64-v3-oe-linux/llvm/llvm-src: PKGSIZE changed from 
> 406369891 to 408360607 (+0%)
> packages/x86-64-v3-oe-linux/llvm/llvm-staticdev: FILELIST: added 
> "/usr/lib/libllvm_gtest_main.a /usr/lib/libLLVMTestingAnnotations.a 
> /usr/lib/libLLVMExegesisMips.a /usr/lib/libLLVMExegesis.a 
> /usr/lib/libLLVMTestingSupport.a /usr/lib/libLLVMExegesisPowerPC.a 
> /usr/lib/libLLVMExegesisX86.a /usr/lib/libLLVMExegesisAArch64.a 
> /usr/lib/libllvm_gtest.a /usr/lib/libLLVMExegesisRISCV.a"
> packages/x86-64-v3-oe-linux/llvm/llvm-staticdev: PKGSIZE changed from 
> 639292726 to 646763728 (+1%)
> Changes to packages/x86-64-v3-oe-linux/llvm (sysroot):
>   /usr/bin/bugpoint was added
>   /usr/bin/count was added
>   /usr/bin/dsymutil was added
>   /usr/bin/FileCheck was added
>   /usr/bin/llc was added
>   /usr/bin/lli was added
>   /usr/bin/lli-child-target was added
>   /usr/bin/llvm-addr2line was added
>   /usr/bin/llvm-ar was added
>   /usr/bin/llvm-as was added
>   /usr/bin/llvm-bcanalyzer was added
>   /usr/bin/llvm-bitcode-strip was added
>   /usr/bin/llvm-cat was added
>   /usr/bin/llvm-cfi-verify was added
>   /usr/bin/llvm-cgdata was added
>   /usr/bin/llvm-config was added
>   /usr/bin/llvm-cov was added
>   /usr/bin/llvm-c-test was added
>   /usr/bin/llvm-ctxprof-util was added
>   /usr/bin/llvm-cvtres was added
>   /usr/bin/llvm-cxxdump was added
>   /usr/bin/llvm-cxxfilt was added
>   /usr/bin/llvm-cxxmap was added
>   /usr/bin/llvm-debuginfo-analyzer was added
>   /usr/bin/llvm-debuginfod was added
>   /usr/bin/llvm-debuginfod-find was added
>   /usr/bin/llvm-diff was added
>   /usr/bin/llvm-dis was added
>   /usr/bin/llvm-dlang-demangle-fuzzer was added
>   /usr/bin/llvm-dlltool was added
>   /usr/bin/llvm-dwarfdump was added
>   /usr/bin/llvm-dwarfutil was added
>   /usr/bin/llvm-dwp was added
>   /usr/bin/llvm-exegesis was added
>   /usr/bin/llvm-extract was added
>   /usr/bin/llvm-gsymutil was added
>   /usr/bin/llvm-ifs was added
>   /usr/bin/llvm-install-name-tool was added
>   /usr/bin/llvm-isel-fuzzer was added
>   /usr/bin/llvm-itanium-demangle-fuzzer was added
>   /usr/bin/llvm-jitlink was added
>   /usr/bin/llvm-jitlink-executor was added
>   /usr/bin/llvm-lib was added
>   /usr/bin/llvm-libtool-darwin was added
>   /usr/bin/llvm-link was added
>   /usr/bin/llvm-lipo was added
>   /usr/bin/llvm-lit was added
>   /usr/bin/llvm-locstats was added
>   /usr/bin/llvm-lto was added
>   /usr/bin/llvm-lto2 was added
>   /usr/bin/llvm-mc was added
>   /usr/bin/llvm-mca was added
>   /usr/bin/llvm-microsoft-demangle-fuzzer was added
>   /usr/bin/llvm-ml was added
>   /usr/bin/llvm-ml64 was added
>   /usr/bin/llvm-modextract was added
>   /usr/bin/llvm-mt was added
>   /usr/bin/llvm-nm was added
>   /usr/bin/llvm-objcopy was added
>   /usr/bin/llvm-objdump was added
>   /usr/bin/llvm-opt-fuzzer was added
>   /usr/bin/llvm-opt-report was added
>   /usr/bin/llvm-otool was added
>   /usr/bin/llvm-pdbutil was added
>   /usr/bin/llvm-PerfectShuffle was added
>   /usr/bin/llvm-profdata was added
>   /usr/bin/llvm-profgen was added
>   /usr/bin/llvm-ranlib was added
>   /usr/bin/llvm-rc was added
>   /usr/bin/llvm-readelf was added
>   /usr/bin/llvm-readobj was added
>   /usr/bin/llvm-readtapi was added
>   /usr/bin/llvm-reduce was added
>   /usr/bin/llvm-remarkutil was added
>   /usr/bin/llvm-rtdyld was added
>   /usr/bin/llvm-rust-demangle-fuzzer was added
>   /usr/bin/llvm-sim was added
>   /usr/bin/llvm-size was added
>   /usr/bin/llvm-special-case-list-fuzzer was added
>   /usr/bin/llvm-split was added
>   /usr/bin/llvm-stress was added
>   /usr/bin/llvm-strings was added
>   /usr/bin/llvm-strip was added
>   /usr/bin/llvm-symbolizer was added
>   /usr/bin/llvm-tblgen was added
>   /usr/bin/llvm-test-mustache-spec was added
>   /usr/bin/llvm-tli-checker was added
>   /usr/bin/llvm-undname was added
>   /usr/bin/llvm-windres was added
>   /usr/bin/llvm-xray was added
>   /usr/bin/llvm-yaml-numeric-parser-fuzzer was added
>   /usr/bin/llvm-yaml-parser-fuzzer was added
>   /usr/bin/not was added
>   /usr/bin/obj2yaml was added
>   /usr/bin/opt was added
>   /usr/bin/reduce-chunk-list was added
>   /usr/bin/sancov was added
>   /usr/bin/sanstats was added
>   /usr/bin/split-file was added
>   /usr/bin/UnicodeNameMappingGenerator was added
>   /usr/bin/verify-uselistorder was added
>   /usr/bin/yaml2obj was added
>   /usr/bin/yaml-bench was added
>   /usr/include/llvm-gmock was added
>   /usr/include/llvm-gmock/gmock was added
>   /usr/include/llvm-gmock/gmock/gmock-actions.h was added
>   /usr/include/llvm-gmock/gmock/gmock-cardinalities.h was added
>   /usr/include/llvm-gmock/gmock/gmock-function-mocker.h was added
>   /usr/include/llvm-gmock/gmock/gmock.h was added
>   /usr/include/llvm-gmock/gmock/gmock-matchers.h was added
>   /usr/include/llvm-gmock/gmock/gmock-more-actions.h was added
>   /usr/include/llvm-gmock/gmock/gmock-more-matchers.h was added
>   /usr/include/llvm-gmock/gmock/gmock-nice-strict.h was added
>   /usr/include/llvm-gmock/gmock/gmock-spec-builders.h was added
>   /usr/include/llvm-gmock/gmock/internal was added
>   /usr/include/llvm-gmock/gmock/internal/custom was added
> /usr/include/llvm-gmock/gmock/internal/custom/gmock-generated-actions.h 
> was added
>   /usr/include/llvm-gmock/gmock/internal/custom/gmock-matchers.h was added
>   /usr/include/llvm-gmock/gmock/internal/custom/gmock-port.h was added
>   /usr/include/llvm-gmock/gmock/internal/custom/README.md was added
>   /usr/include/llvm-gmock/gmock/internal/gmock-internal-utils.h was added
>   /usr/include/llvm-gmock/gmock/internal/gmock-port.h was added
>   /usr/include/llvm-gmock/gmock/internal/gmock-pp.h was added
>   /usr/include/llvm-gtest was added
>   /usr/include/llvm-gtest/gtest was added
>   /usr/include/llvm-gtest/gtest/gtest-assertion-result.h was added
>   /usr/include/llvm-gtest/gtest/gtest-death-test.h was added
>   /usr/include/llvm-gtest/gtest/gtest.h was added
>   /usr/include/llvm-gtest/gtest/gtest-matchers.h was added
>   /usr/include/llvm-gtest/gtest/gtest-message.h was added
>   /usr/include/llvm-gtest/gtest/gtest-param-test.h was added
>   /usr/include/llvm-gtest/gtest/gtest_pred_impl.h was added
>   /usr/include/llvm-gtest/gtest/gtest-printers.h was added
>   /usr/include/llvm-gtest/gtest/gtest_prod.h was added
>   /usr/include/llvm-gtest/gtest/gtest-spi.h was added
>   /usr/include/llvm-gtest/gtest/gtest-test-part.h was added
>   /usr/include/llvm-gtest/gtest/gtest-typed-test.h was added
>   /usr/include/llvm-gtest/gtest/internal was added
>   /usr/include/llvm-gtest/gtest/internal/custom was added
>   /usr/include/llvm-gtest/gtest/internal/custom/gtest.h was added
>   /usr/include/llvm-gtest/gtest/internal/custom/gtest-port.h was added
>   /usr/include/llvm-gtest/gtest/internal/custom/gtest-printers.h was added
>   /usr/include/llvm-gtest/gtest/internal/custom/raw-ostream.h was added
>   /usr/include/llvm-gtest/gtest/internal/custom/README.md was added
> /usr/include/llvm-gtest/gtest/internal/gtest-death-test-internal.h was 
> added
>   /usr/include/llvm-gtest/gtest/internal/gtest-filepath.h was added
>   /usr/include/llvm-gtest/gtest/internal/gtest-internal.h was added
>   /usr/include/llvm-gtest/gtest/internal/gtest-param-util.h was added
>   /usr/include/llvm-gtest/gtest/internal/gtest-port-arch.h was added
>   /usr/include/llvm-gtest/gtest/internal/gtest-port.h was added
>   /usr/include/llvm-gtest/gtest/internal/gtest-string.h was added
>   /usr/include/llvm-gtest/gtest/internal/gtest-type-util.h was added
>   /usr/lib/libLLVMExegesis.a was added
>   /usr/lib/libLLVMExegesisAArch64.a was added
>   /usr/lib/libLLVMExegesisMips.a was added
>   /usr/lib/libLLVMExegesisPowerPC.a was added
>   /usr/lib/libLLVMExegesisRISCV.a was added
>   /usr/lib/libLLVMExegesisX86.a was added
>   /usr/lib/libllvm_gtest.a was added
>   /usr/lib/libllvm_gtest_main.a was added
>   /usr/lib/libLLVMTestingAnnotations.a was added
>   /usr/lib/libLLVMTestingSupport.a was added
> Changes to packages/x86_64-linux/llvm-native (sysroot):
>   /usr/bin/llvm-exegesis was added
>   /usr/lib/libLLVMExegesis.a was added
>   /usr/lib/libLLVMExegesisAArch64.a was added
>   /usr/lib/libLLVMExegesisMips.a was added
>   /usr/lib/libLLVMExegesisPowerPC.a was added
>   /usr/lib/libLLVMExegesisRISCV.a was added
>   /usr/lib/libLLVMExegesisX86.a was added
>
>
>> Deepesh Varatharajan (4):
>>    clang-tools-extra: disable tests
>>    clang: Enable cmake flags for llvm, clang, lld tests
>>    oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD
>>    rust: Fix rust build failure
>>
>>   meta/lib/oeqa/selftest/cases/clang.py         | 298 ++++++++++++++++++
>>   .../0042-guard-clang-tools-extra-test.patch   |  74 +++++
>>   meta/recipes-devtools/clang/clang_git.bb      |   2 +
>>   meta/recipes-devtools/clang/common.inc        |   1 +
>>   meta/recipes-devtools/clang/lld_git.bb        |   2 +
>>   meta/recipes-devtools/clang/llvm_git.bb       |   8 +-
>>   meta/recipes-devtools/rust/rust_1.93.0.bb     |   5 +-
>>   7 files changed, 387 insertions(+), 3 deletions(-)
>>   create mode 100644 meta/lib/oeqa/selftest/cases/clang.py
>>   create mode 100644 meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch
>>
>
> -- 
> # Randy MacLeod
> # Wind River Linux

[-- Attachment #2: Type: text/html, Size: 33303 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-03-02  6:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-20  6:02 [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
2026-02-20  6:02 ` [PATCH 1/4] clang-tools-extra: disable tests Deepesh.Varatharajan
2026-02-20  6:02 ` [PATCH 2/4] clang: Enable cmake flags for llvm, clang, lld tests Deepesh.Varatharajan
2026-02-20  6:02 ` [PATCH 3/4] oeqa/selftest/clang: Add oe-seltests for Clang/LLVM/LLD Deepesh.Varatharajan
2026-02-20  6:02 ` [PATCH 4/4] rust: Fix rust build failure Deepesh.Varatharajan
2026-02-21  8:23 ` [OE-core] [PATCH 0/4] Oe-selftest for Clang, LLVM, LLD Mathieu Dubois-Briand
2026-02-25  8:56   ` Deepesh Varatharajan
2026-02-26 15:31 ` Randy MacLeod
2026-03-02  6:53   ` Deepesh Varatharajan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox