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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to