On Thu, Jun 11, 2026 at 08:46:43PM -0700, [email protected] 
wrote:
> From: Deepesh Varatharajan <[email protected]>
> 
> Replace PATH-based llvm-config discovery with explicit sysroot-native
> resolution and simplify the target llvm-config wrapper to act as a pure
> pass-through while preserving Yocto alternate path handling.
> 
> The previous implementation relied on:
> 
> * `which -a llvm-config | sed -n 2p`
>    which is unreliable in cross-build environments because it only
>    searches executables present in $PATH. Native sysroot tools
>    (e.g. recipe-sysroot-native llvm-config) are not guaranteed to be
>    exposed via PATH, so they may not be discovered at all.
> 
> * `echo $base_libdir | sed -n '/lib64/p'`
>    which depends on a BitBake variable that may be empty or unset
>    in certain build contexts, leading to incorrect libdir selection.
> 
> Update the wrapper to:
> 
> * Use an @LLVM_CONFIG_PATH@ placeholder that is replaced during the
>   build with the appropriate native llvm-config path.
> * Detect libdir using filesystem inspection rather than variable
>   parsing.
> * Preserve `YOCTO_ALTERNATE_EXE_PATH` and
>   `YOCTO_ALTERNATE_LIBDIR` handling.
> * Delegate all arguments directly to the native llvm-config.
> 
> Update rust and mesa recipes to replace the placeholder with the native
> llvm-config path during target and nativesdk builds.
> 
> Also remove the native llvm-config copy logic and lib/lib64 symlink
> workarounds, relying instead on explicit native tool resolution.
> 
> Signed-off-by: Deepesh Varatharajan <[email protected]>
> ---
>  ...unwind.pc.in-and-llvm-config-scripts.patch | 52 +++----------------
>  meta/recipes-devtools/rust/rust_1.96.0.bb     | 52 ++++++-------------
>  meta/recipes-graphics/mesa/mesa.inc           | 16 ++++++
>  3 files changed, 39 insertions(+), 81 deletions(-)

This got applied and now it broken building of OpenCL:

FAILED: [code=1] src/gallium/frontends/rusticl/rusticl_llvm_bindings.rs
/home/lumag/Projects/RPB/build/tmp-qcom-distro/work/armv8a-qcom-linux/mesa/26.1.2/recipe-sysroot-native/usr/bin/bindgen
 ../sources/mesa-26.1.2/src/gallium/frontends/rusticl/rusticl_llvm_bindings.hpp 
--output 
/home/lumag/Projects/RPB/build/tmp-qcom-distro/work/armv8a-qcom-linux/mesa/26.1.2/build/src/gallium/frontends/rusticl/rusticl_llvm_bindings.rs
 --wrap-unsafe-ops --raw-line '#![allow(clippy::all)]' --raw-line 
'#![allow(improper_ctypes)]' --raw-line '#![allow(unused_unsafe)]' --raw-line 
'#![allow(non_camel_case_types)]' --raw-line '#![allow(non_snake_case)]' 
--raw-line '#![allow(non_upper_case_globals)]' --raw-line 
'#![allow(unsafe_op_in_unsafe_fn)]' --raw-line 
'#![allow(unnecessary_transmutes)]' --generate 
constructors,functions,types,vars --opaque-type '.*' --allowlist-function 
clang::getClangFullVersion --allowlist-function llvm::LLVMContext::LLVMContext 
--allowlist-function llvm::writeSpirv --allowlist-var 'LLVM_VERSION_.*' 
--rust-target 1.96.0 --rust-edition 2021 -- -fno-builtin-malloc 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS 
'-DPACKAGE_VERSION="26.1.2"' 
'-DPACKAGE_BUGREPORT="https://gitlab.freedesktop.org/mesa/mesa/-/issues";' 
-DHAVE_OPENGL=1 -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_FREEDRENO 
-DHAVE_LLVMPIPE -DHAVE_SOFTPIPE -DHAVE_VIRGL -DHAVE_ZINK -DHAVE_SWRAST 
-DMESA_SYSTEM_HAS_KMS_DRM=1 -DVIDEO_CODEC_VC1DEC=0 -DVIDEO_CODEC_H264DEC=0 
-DVIDEO_CODEC_H264ENC=0 -DVIDEO_CODEC_H265DEC=0 -DVIDEO_CODEC_H265ENC=0 
-DVIDEO_CODEC_AV1DEC=1 -DVIDEO_CODEC_AV1ENC=1 -DVIDEO_CODEC_VP9DEC=1 
-DVIDEO_CODEC_MPEG12DEC=1 -DVIDEO_CODEC_JPEGDEC=1 -DHAVE_LIBGBM 
-DHAVE_WAYLAND_PLATFORM -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM 
-DHAVE_DRM_PLATFORM -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=1 -DHAVE_GFX_COMPUTE 
-DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM 
-DGLAPI_EXPORT_PROTO_ENTRY_POINTS=0 -DALLOW_KCMP -DMESA_DEBUG=0 
-DENABLE_SHADER_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 
-DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ 
-DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL 
-DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL 
-DHAVE___BUILTIN_UNREACHABLE -DHAVE___BUILTIN_TYPES_COMPATIBLE_P 
-DHAVE___BUILTIN_ADD_OVERFLOW -DHAVE___BUILTIN_ADD_OVERFLOW_P 
-DHAVE___BUILTIN_SUB_OVERFLOW_P -DHAVE_FUNC_ATTRIBUTE_CONST 
-DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC 
-DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED 
-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK 
-DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED 
-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_ALIAS 
-DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_FUNC_ATTRIBUTE_OPTIMIZE 
-DHAVE_FUNC_ATTRIBUTE_COLD -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_UINT128 
-DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_GCC_ATOMIC_BUILTINS 
-DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY -DHAVE_LINUX_FUTEX_H 
-DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H -DHAVE_POLL_H 
-DHAVE_SYS_INOTIFY_H -DHAVE_LINUX_UDMABUF_H -DHAVE_STRTOF -DHAVE_MKOSTEMP 
-DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R -DHAVE_FLOCK -DHAVE_STRTOK_R 
-DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE -DHAVE_SECURE_GETENV -DHAVE_SYSCONF 
-DHAVE_GNU_QSORT_R -DHAVE_STRUCT_TIMESPEC -DHAVE_PROGRAM_INVOCATION_NAME 
-DHAVE_ISSIGNALING -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L 
-DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -DHAVE_ZSTD -DHAVE_COMPRESSION 
-DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM 
'-DMESA_LLVM_VERSION_STRING="22.1.8"' -DLLVM_IS_SHARED=1 
-DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1 -DGALLIVM_USE_ORCJIT=0 
-DHAVE_SPIRV_TOOLS -DUSE_LIBELF -DTHREAD_SANITIZER=0 -DWL_HIDE_DEPRECATED 
-DHAVE_WL_DISPATCH_QUEUE_TIMEOUT -DHAVE_WL_CREATE_QUEUE_WITH_NAME 
-DHAVE_X11_DRM -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC 
-DHAVE_DRISW_KMS -DHAVE_RENDERDOC_INTEGRATION=1 -march=armv8-a+crc 
-mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 
-Wformat -Wformat-security -Werror=format-security 
--sysroot=/home/lumag/Projects/RPB/build/tmp-qcom-distro/work/armv8a-qcom-linux/mesa/26.1.2/recipe-sysroot
 --target=aarch64-qcom-linux -D_FILE_OFFSET_BITS=64 -DNDEBUG -D_GNU_SOURCE 
-D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS -pthread -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="26.1.2"' 
'-DPACKAGE_BUGREPORT="https://gitlab.freedesktop.org/mesa/mesa/-/issues";' 
-DHAVE_OPENGL=1 -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_FREEDRENO 
-DHAVE_LLVMPIPE -DHAVE_SOFTPIPE -DHAVE_VIRGL -DHAVE_ZINK -DHAVE_SWRAST 
-DMESA_SYSTEM_HAS_KMS_DRM=1 -DVIDEO_CODEC_VC1DEC=0 -DVIDEO_CODEC_H264DEC=0 
-DVIDEO_CODEC_H264ENC=0 -DVIDEO_CODEC_H265DEC=0 -DVIDEO_CODEC_H265ENC=0 
-DVIDEO_CODEC_AV1DEC=1 -DVIDEO_CODEC_AV1ENC=1 -DVIDEO_CODEC_VP9DEC=1 
-DVIDEO_CODEC_MPEG12DEC=1 -DVIDEO_CODEC_JPEGDEC=1 -DHAVE_LIBGBM 
-DHAVE_WAYLAND_PLATFORM -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM 
-DHAVE_DRM_PLATFORM -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=1 -DHAVE_GFX_COMPUTE 
-DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM 
-DGLAPI_EXPORT_PROTO_ENTRY_POINTS=0 -DALLOW_KCMP -DMESA_DEBUG=0 
-DENABLE_SHADER_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 
-DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ 
-DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL 
-DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL 
-DHAVE___BUILTIN_UNREACHABLE -DHAVE___BUILTIN_TYPES_COMPATIBLE_P 
-DHAVE___BUILTIN_ADD_OVERFLOW -DHAVE___BUILTIN_ADD_OVERFLOW_P 
-DHAVE___BUILTIN_SUB_OVERFLOW_P -DHAVE_FUNC_ATTRIBUTE_CONST 
-DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC 
-DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED 
-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK 
-DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED 
-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_ALIAS 
-DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_FUNC_ATTRIBUTE_OPTIMIZE 
-DHAVE_FUNC_ATTRIBUTE_COLD -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_UINT128 
-DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_GCC_ATOMIC_BUILTINS 
-DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY -DHAVE_LINUX_FUTEX_H 
-DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H -DHAVE_POLL_H 
-DHAVE_SYS_INOTIFY_H -DHAVE_LINUX_UDMABUF_H -DHAVE_STRTOF -DHAVE_MKOSTEMP 
-DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R -DHAVE_FLOCK -DHAVE_STRTOK_R 
-DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE -DHAVE_SECURE_GETENV -DHAVE_SYSCONF 
-DHAVE_GNU_QSORT_R -DHAVE_STRUCT_TIMESPEC -DHAVE_PROGRAM_INVOCATION_NAME 
-DHAVE_ISSIGNALING -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L 
-DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -DHAVE_ZSTD -DHAVE_COMPRESSION 
-DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM 
'-DMESA_LLVM_VERSION_STRING="22.1.8"' -DLLVM_IS_SHARED=1 
-DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1 -DGALLIVM_USE_ORCJIT=0 
-DHAVE_SPIRV_TOOLS -DUSE_LIBELF -DTHREAD_SANITIZER=0 -DWL_HIDE_DEPRECATED 
-DHAVE_WL_DISPATCH_QUEUE_TIMEOUT -DHAVE_WL_CREATE_QUEUE_WITH_NAME 
-DHAVE_X11_DRM -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC 
-DHAVE_DRISW_KMS -DHAVE_RENDERDOC_INTEGRATION=1 -x c++ -std=c++17 -MD -MQ 
../sources/mesa-26.1.2/src/gallium/frontends/rusticl/rusticl_llvm_bindings.hpp 
-MF src/gallium/frontends/rusticl/rusticl_llvm_bindings.hpp.d
/home/lumag/Projects/RPB/build/tmp-qcom-distro/work/armv8a-qcom-linux/mesa/26.1.2/recipe-sysroot/usr/lib/aarch64-qcom-linux/16.1.0/../../../include/c++/16.1.0/cstddef:5
2:10: fatal error: 'stddef.h' file not found
Unable to generate bindings: clang diagnosed error: 
/home/lumag/Projects/RPB/build/tmp-qcom-distro/work/armv8a-qcom-linux/mesa/26.1.2/recipe-sysroot/usr/lib/aarch64-qcom-linux/16.1.0/../../../include/c++/16.1.0/cstddef:52:10:
 fatal error: 'stddef.h' file not found

$ git bisect log
git bisect start
# status: waiting for both good and bad commits
# good: [dfc5720ac709828543e9599597ff836021bd1561] bitbake.conf: drop opencl 
from DISTRO_FEATURES_FILTER_NATIVE/_NATIVESDK
git bisect good dfc5720ac709828543e9599597ff836021bd1561
# status: waiting for bad commit, 1 good commit known
# bad: [cddc75dcf041c0e1c86baa36840caf1a8073e40f] glib-2.0: add back 
Signed-off-by in CVE-2026-58016 patch
git bisect bad cddc75dcf041c0e1c86baa36840caf1a8073e40f
# good: [5b718f4c044147dfa0742caacbc20133ead53f10] ptest-packagelists.inc: 
disable glib-2.0 for RISCV64
git bisect good 5b718f4c044147dfa0742caacbc20133ead53f10
# bad: [a82e2ac1d08439c2c19015632f622940a15d00c3] python3-uv-build: upgrade 
0.11.21 -> 0.11.26
git bisect bad a82e2ac1d08439c2c19015632f622940a15d00c3
# good: [d3eb9f2ae9e887dcb70cf3bb6e284c0f861546c0] python3-certifi: upgrade 
2026.5.20 -> 2026.6.17
git bisect good d3eb9f2ae9e887dcb70cf3bb6e284c0f861546c0
# bad: [9e1513b29849c56fe372e0d73ce229cebed32d9e] classes/meson: use ninja 
explicitly when compiling
git bisect bad 9e1513b29849c56fe372e0d73ce229cebed32d9e
# bad: [a02059069443cfe0dc5860eae4aebba68b9a4ec4] baremetal-helloworld: Fix 
override order
git bisect bad a02059069443cfe0dc5860eae4aebba68b9a4ec4
# good: [46b79c40c7ee5fa79e3889b77ca71bebc3136b9c] classes/gtk-doc: inherit 
python3native only if gtk-doc is enabled
git bisect good 46b79c40c7ee5fa79e3889b77ca71bebc3136b9c
# bad: [8337a9330c1fdbe36575c5e7495046b3df7f69d2] package: replace 
copydebugsources shell pipelines
git bisect bad 8337a9330c1fdbe36575c5e7495046b3df7f69d2
# good: [f810998ac90f7a3e20e26555f39d754b16ce8b69] bitbake.conf: drop opencl 
from DISTRO_FEATURES_FILTER_NATIVE/_NATIVESDK
git bisect good f810998ac90f7a3e20e26555f39d754b16ce8b69
# bad: [8aace29b692a8f3902a675fb4c022c223ba49531] llvm/mesa/rust: simplify 
llvm-config handling
git bisect bad 8aace29b692a8f3902a675fb4c022c223ba49531
# first bad commit: [8aace29b692a8f3902a675fb4c022c223ba49531] llvm/mesa/rust: 
simplify llvm-config handling

-- 
With best wishes
Dmitry
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#240719): 
https://lists.openembedded.org/g/openembedded-core/message/240719
Mute This Topic: https://lists.openembedded.org/mt/119769053/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to