Looks pretty good to me. I have few feedback comments, not a merge blocker but good to consider for future ease of porting.
On Sun, Aug 30, 2026 at 5:59 AM <[email protected]> wrote: > From: Sunil Dora <[email protected]> > > This upgrades clang/llvm from 22.1.8 to 23.1.0 and fixes the fallout > found while testing the result. > > The carried LLVM patch stack goes from 41 to 35: seven dropped > because 23.1.0 already contains the fix or the code they patched no > longer exists, three reworked for LLVM 23, and one added for a 32-bit > x86 build break, already merged in llvm-project. > > Please apply with git am --keep-cr: patch 8 fixes an ovmf file that > uses CRLF line endings, and plain git am corrupts the patch. > > I have also reported the underlying bugs upstream: > llvm float16 fix, merged: > https://github.com/llvm/llvm-project/pull/219675 > ovmf fix, sent to edk2: > https://github.com/tianocore/edk2/pull/13038 > pango warning, the root cause is in GLib, reported to both: > https://gitlab.gnome.org/GNOME/glib/-/issues/4038 > https://gitlab.gnome.org/GNOME/pango/-/issues/900 > vulkan-samples warning, which is a real bug in their code: > https://github.com/KhronosGroup/Vulkan-Samples/issues/1570 > > Tested: oe-selftest clang suites on qemuarm, qemuarm64, qemux86, > qemux86-64 and qemuriscv64 on the autobuilder, musl images on qemux86 > and qemuarm64, a qemux86 world build with TOOLCHAIN=clang, 32-bit > multilib, and core-image-minimal testimage runs. > > Deepesh Varatharajan (2): > rust: Fix build and oe-selftest failures with LLVM 23 > clang/llvm: Ignore tests fail with clang/llvm 23 upgrade > > Sunil Dora (9): > clang/llvm: Upgrade to 23.1.0 release > spirv-llvm-translator: Upgrade to 23.1.0 > openmp: Build via the LLVM runtimes entry point > rust: Do not pass the removed x86 amx-tf32 feature to LLVM 23 > clang: Disable clangd's decision-forest completion model on powerpc > pango: Don't turn clang 23's -Wunused-but-set-global into an error > ovmf: Fix memcpy alias prototype for clang 23 > vulkan-samples: Don't turn clang 23's -Wdangling-gsl into an error > gettext: Export a fully-flagged Objective-C compiler > > meta/conf/distro/include/maintainers.inc | 2 +- > meta/lib/oeqa/selftest/cases/clang.py | 10 + > meta/lib/oeqa/selftest/cases/rust.py | 1 + > ...t-env.in-do-not-add-C-CXX-parameters.patch | 17 +- > meta/recipes-core/gettext/gettext_1.0.bb | 5 + > ...sicLib-fix-memcpy-alias-prototype-fo.patch | 35 + > meta/recipes-core/ovmf/ovmf_git.bb | 1 + > ...ify-cross-compilation.-Don-t-use-na.patch} | 6 +- > ...ibunwind-headers-when-LIBCXXABI_LIBU.patch | 60 -- > ...-support-a-new-embedded-linux-target.patch | 309 -------- > ...env-override-of-exe-and-libdir-path.patch} | 4 +- > ...-driver-Check-sysroot-for-ldso-path.patch} | 14 +- > ...ools.cpp-Add-lssp_nonshared-on-musl.patch} | 6 +- > ...5-clang-Prepend-trailing-to-sysroot.patch} | 10 +- > ...fine-releative-gcc-installation-dir.patch} | 10 +- > ...d-and-ldl-along-with-lunwind-for-st.patch} | 10 +- > ...-Check-for-atomic-double-intrinsics.patch} | 4 +- > ...ure-for-packages-using-find_package.patch} | 20 +- > ...e-dir-location-for-cross-toolchains.patch} | 4 +- > ...dyld-prefix-when-checking-sysroot-f.patch} | 18 +- > ...clang-Use-python3-in-python-scripts.patch} | 6 +- > ...-anchor-for-adding-OE-distro-vendor.patch} | 37 +- > ...ple-for-non-debian-multiarch-linux-.patch} | 9 +- > ...ibunwind-Added-unw_backtrace-method.patch} | 8 +- > ...016-lldb-Link-with-libatomic-on-x86.patch} | 4 +- > ...ot-use-backtrace-APIs-on-non-glibc-l.patch | 68 -- > ...mpiler-rt-Enable-__int128-for-ppc32.patch} | 26 +- > ...t-use-cmake-infra-to-detect-libzstd.patch} | 8 +- > ...-Fix-stat-struct-s-size-for-O32-ABI.patch} | 6 +- > ...cpp-ARMLibDirs-search-also-in-lib32.patch} | 10 +- > ...-OE-specific-ABI-triple-for-N32-ABI.patch} | 63 +- > ...nwind.pc.in-and-llvm-config-scripts.patch} | 12 +- > ...pect-LLVM_LIBDIR_SUFFIX-like-other-.patch} | 17 +- > ...o-not-pass-target-to-clang-compiler.patch} | 4 +- > ...-sort-ClassInfo-lists-by-name-as-we.patch} | 4 +- > ...ve-LLVM_LDFLAGS-from-ldflags-output.patch} | 4 +- > ...de-sync_fetch_and_-for-any-pre-ARMv.patch} | 6 +- > ...de-uptr-sptr-typedefs-on-Mips-Linux.patch} | 8 +- > ...-headers-in-the-debug-info-when-bui.patch} | 6 +- > ..._HAVE_OPT_VIEWER_MODULES-externally.patch} | 6 +- > ...ang-tblgen-if-it-is-actually-needed.patch} | 8 +- > ...ymlink-path-for-libcc-when-LLVM_ENA.patch} | 8 +- > ...ix-sysroot-based-compiler-rt-search.patch} | 15 +- > ...> 0034-guard-clang-tools-extra-test.patch} | 47 +- > ...ng-block-when-searching-for-noreturn.patch | 41 -- > ...e-float16-on-32-bit-x86-without-SSE2.patch | 36 + > ...UNKNOWN-elements-of-OffloadArch-enum.patch | 274 -------- > ...e-__gnu_unwind_frame-in-cxa_personal.patch | 33 - > ...te-exit-fold-candidates-in-determini.patch | 71 -- > meta/recipes-devtools/clang/clang_git.bb | 4 + > meta/recipes-devtools/clang/common-clang.inc | 4 +- > meta/recipes-devtools/clang/common.inc | 78 +-- > meta/recipes-devtools/clang/openmp_git.bb | 5 +- > ...ommits-from-rust-Fix-selftest-llvm23.patch | 661 ++++++++++++++++++ > ...llvm-Do-not-pass-amx-tf32-to-LLVM-23.patch | 38 + > meta/recipes-devtools/rust/rust-source.inc | 2 + > ...ror-on-clang-s-unused-but-set-global.patch | 28 + > meta/recipes-graphics/pango/pango_1.58.0.bb | 1 + > ...1.5.bb => spirv-llvm-translator_23.1.0.bb} | 6 +- > .../vulkan/vulkan-samples_git.bb | 4 +- > 60 files changed, 1109 insertions(+), 1113 deletions(-) > create mode 100644 > meta/recipes-core/ovmf/ovmf/0005-CryptoPkg-IntrinsicLib-fix-memcpy-alias-prototype-fo.patch > rename > meta/recipes-devtools/clang/clang/{0003-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch > => 0001-compiler-rt-Simplify-cross-compilation.-Don-t-use-na.patch} (90%) > delete mode 100644 > meta/recipes-devtools/clang/clang/0001-libcxxabi-Find-libunwind-headers-when-LIBCXXABI_LIBU.patch > delete mode 100644 > meta/recipes-devtools/clang/clang/0002-compiler-rt-support-a-new-embedded-linux-target.patch > rename > meta/recipes-devtools/clang/clang/{0004-llvm-allow-env-override-of-exe-and-libdir-path.patch > => 0002-llvm-allow-env-override-of-exe-and-libdir-path.patch} (96%) > rename > meta/recipes-devtools/clang/clang/{0005-clang-driver-Check-sysroot-for-ldso-path.patch > => 0003-clang-driver-Check-sysroot-for-ldso-path.patch} (87%) > rename > meta/recipes-devtools/clang/clang/{0006-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch > => 0004-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch} (86%) > rename > meta/recipes-devtools/clang/clang/{0007-clang-Prepend-trailing-to-sysroot.patch > => 0005-clang-Prepend-trailing-to-sysroot.patch} (81%) > rename > meta/recipes-devtools/clang/clang/{0009-clang-Define-releative-gcc-installation-dir.patch > => 0006-clang-Define-releative-gcc-installation-dir.patch} (94%) > rename > meta/recipes-devtools/clang/clang/{0010-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch > => 0007-clang-Add-lpthread-and-ldl-along-with-lunwind-for-st.patch} (86%) > rename > meta/recipes-devtools/clang/clang/{0011-Check-for-atomic-double-intrinsics.patch > => 0008-Check-for-atomic-double-intrinsics.patch} (91%) > rename > meta/recipes-devtools/clang/clang/{0012-cmake-Fix-configure-for-packages-using-find_package.patch > => 0009-cmake-Fix-configure-for-packages-using-find_package.patch} (89%) > rename > meta/recipes-devtools/clang/clang/{0013-clang-Fix-resource-dir-location-for-cross-toolchains.patch > => 0010-clang-Fix-resource-dir-location-for-cross-toolchains.patch} (95%) > rename > meta/recipes-devtools/clang/clang/{0014-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch > => 0011-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch} (88%) > rename > meta/recipes-devtools/clang/clang/{0015-clang-Use-python3-in-python-scripts.patch > => 0012-clang-Use-python3-in-python-scripts.patch} (90%) > rename > meta/recipes-devtools/clang/clang/{0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch > => 0013-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch} (91%) > rename > meta/recipes-devtools/clang/clang/{0018-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch > => 0014-clang-Fix-x86-triple-for-non-debian-multiarch-linux-.patch} (86%) > rename > meta/recipes-devtools/clang/clang/{0019-libunwind-Added-unw_backtrace-method.patch > => 0015-libunwind-Added-unw_backtrace-method.patch} (89%) > rename > meta/recipes-devtools/clang/clang/{0020-lldb-Link-with-libatomic-on-x86.patch > => 0016-lldb-Link-with-libatomic-on-x86.patch} (92%) > delete mode 100644 > meta/recipes-devtools/clang/clang/0017-compiler-rt-Do-not-use-backtrace-APIs-on-non-glibc-l.patch > rename > meta/recipes-devtools/clang/clang/{0021-compiler-rt-Enable-__int128-for-ppc32.patch > => 0017-compiler-rt-Enable-__int128-for-ppc32.patch} (77%) > rename > meta/recipes-devtools/clang/clang/{0022-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch > => 0018-llvm-Do-not-use-cmake-infra-to-detect-libzstd.patch} (91%) > rename > meta/recipes-devtools/clang/clang/{0023-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch > => 0019-compiler-rt-Fix-stat-struct-s-size-for-O32-ABI.patch} (91%) > rename > meta/recipes-devtools/clang/clang/{0024-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch > => 0020-ToolChains-Gnu.cpp-ARMLibDirs-search-also-in-lib32.patch} (98%) > rename > meta/recipes-devtools/clang/clang/{0025-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch > => 0021-clang-llvm-Add-OE-specific-ABI-triple-for-N32-ABI.patch} (60%) > rename > meta/recipes-devtools/clang/clang/{0026-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch > => 0022-llvm-Add-libunwind.pc.in-and-llvm-config-scripts.patch} (84%) > rename > meta/recipes-devtools/clang/clang/{0027-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch > => 0023-scan-build-py-respect-LLVM_LIBDIR_SUFFIX-like-other-.patch} (90%) > rename > meta/recipes-devtools/clang/clang/{0028-compiler-rt-Do-not-pass-target-to-clang-compiler.patch > => 0024-compiler-rt-Do-not-pass-target-to-clang-compiler.patch} (91%) > rename > meta/recipes-devtools/clang/clang/{0029-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch > => 0025-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch} (92%) > rename > meta/recipes-devtools/clang/clang/{0030-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch > => 0026-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch} (92%) > rename > meta/recipes-devtools/clang/clang/{0031-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch > => 0027-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch} (95%) > rename > meta/recipes-devtools/clang/clang/{0032-compiler-rt-Hardcode-uptr-sptr-typedefs-on-Mips-Linu.patch > => 0028-Hardcode-uptr-sptr-typedefs-on-Mips-Linux.patch} (86%) > rename > meta/recipes-devtools/clang/clang/{0034-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch > => 0029-Revert-libc-Remap-headers-in-the-debug-info-when-bui.patch} (89%) > rename > meta/recipes-devtools/clang/clang/{0036-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch > => 0030-Don-t-expose-LLVM_HAVE_OPT_VIEWER_MODULES-externally.patch} (86%) > rename > meta/recipes-devtools/clang/clang/{0037-clang-Only-build-clang-tblgen-if-it-is-actually-need.patch > => 0031-Only-build-clang-tblgen-if-it-is-actually-needed.patch} (81%) > rename > meta/recipes-devtools/clang/clang/{0038-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch > => 0032-llvm-libgcc-Fix-symlink-path-for-libcc-when-LLVM_ENA.patch} (93%) > rename > meta/recipes-devtools/clang/clang/{0041-Consolidate-and-fix-sysroot-based-compiler-rt-search.patch > => 0033-Consolidate-and-fix-sysroot-based-compiler-rt-search.patch} (91%) > rename > meta/recipes-devtools/clang/clang/{0042-guard-clang-tools-extra-test.patch > => 0034-guard-clang-tools-extra-test.patch} (83%) > delete mode 100644 > meta/recipes-devtools/clang/clang/0035-Prevent-revisiting-block-when-searching-for-noreturn.patch > create mode 100644 > meta/recipes-devtools/clang/clang/0035-libc-Disable-float16-on-32-bit-x86-without-SSE2.patch > delete mode 100644 > meta/recipes-devtools/clang/clang/0039-Rename-UNUSED-and-UNKNOWN-elements-of-OffloadArch-enum.patch > delete mode 100644 > meta/recipes-devtools/clang/clang/0040-libcxxabi-declare-__gnu_unwind_frame-in-cxa_personal.patch > delete mode 100644 > meta/recipes-devtools/clang/clang/0043-LoopUnroll-Iterate-exit-fold-candidates-in-determini.patch > create mode 100644 > meta/recipes-devtools/rust/files/0004-Backport-commits-from-rust-Fix-selftest-llvm23.patch > create mode 100644 > meta/recipes-devtools/rust/files/0005-rustc_codegen_llvm-Do-not-pass-amx-tf32-to-LLVM-23.patch > create mode 100644 > meta/recipes-graphics/pango/pango/0001-meson-don-t-error-on-clang-s-unused-but-set-global.patch > rename meta/recipes-graphics/spir/{spirv-llvm-translator_22.1.5.bb => > spirv-llvm-translator_23.1.0.bb} (87%) > > -- > 2.43.0 > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#244697): https://lists.openembedded.org/g/openembedded-core/message/244697 Mute This Topic: https://lists.openembedded.org/mt/120998127/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
