clang 23 is getting into an infinite loop compiling dovecot.

On Wed, Sep 2, 2026 at 6:10 PM Khem Raj <[email protected]> wrote:

>
>
> On Mon, Aug 31, 2026 at 9:59 PM Dora, Sunil Kumar <
> [email protected]> wrote:
>
>> On 8/31/2026 1:23 AM, Khem Raj via lists.openembedded.org 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.
>> Looks pretty good to me. I have few feedback comments, not a merge
>> blocker but good to consider for future ease of porting.
>>
>> Thanks Khem.
>>
>> Quick update on the upstream side since the series went out.
>>
>> The clang half of the ssp_nonshared patch (0004 in the stack) was *merged
>> *into llvm main yesterday, commit fd974c429301
>> <https://github.com/llvm/llvm-project/commit/fd974c4293015388337e2f66f817a23e5873389f>,
>> reviewed by
>> MaskRay (Original PR #219828
>> <https://github.com/llvm/llvm-project/pull/219828> ). A backport to
>> release/23.x is open as PR #220136
>> <https://github.com/llvm/llvm-project/pull/220136>.
>> If that lands I will flip 0004 to Upstream-Status: Backport, and at the
>> next upgrade the patch goes away entirely.
>>
>
> Thanks for following up on these patches, its really long time that we
> clear this debt.
>
>
>>
>> The gcc half is on gcc-patches
>> <https://gcc.gnu.org/pipermail/gcc-patches/2026-August/729351.html> as
>> v2 with bugzilla PR 127138
>> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127138>. Sam James
>> mentioned Gentoo has carried the same fix downstream for years.
>>
>
> yes, I know, again same, it will be nicer to get this list down as well.
> Somethings are due to how OE has customized stuff so it will
> be hard to get rid of but anything that gets upstreamed is a bonus.
>
>
>>
>> Thanks,
>> Sunil Dora
>>
>>
>> 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 (#245051): 
https://lists.openembedded.org/g/openembedded-core/message/245051
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