Hi Khem,
I followed your suggestions to apply the following change on compiler-rt recipe and build it for qemuarmv5, the failure remains
--- a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
@@ -74,6 +74,7 @@ EXTRA_OECMAKE:append:class-target = "\
-DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
-DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
-DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \
+ -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${@bb.utils.contains('TUNE_FEATURES', 'armv5 thumb dsp', 'armv5te', '${HOST_ARCH}', d)} \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
"
diff --git a/meta/recipes-devtools/clang/compiler-rt_git.bb b/meta/recipes-devtools/clang/compiler-rt_git.bb
index 93928541273..8073bc139eb 100644
--- a/meta/recipes-devtools/clang/compiler-rt_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt_git.bb
@@ -80,6 +80,7 @@ EXTRA_OECMAKE:append:class-target = "\
-DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
-DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
-DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \
+ -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${@bb.utils.contains('TUNE_FEATURES', 'armv5 thumb dsp', 'armv5te', '${HOST_ARCH}', d)} \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
"
$ echo 'MACHINE = "qemuarmv5"' >> conf/local.conf
$ bitbake compiler-rt
...
/buildarea5/hjia/poky/build/tmp/work-shared/llvm-project-source-20.1.3-r0/llvm-project-20.1.3.src/compiler-rt/lib/builtins/arm/sync-ops.h:22:2: error: #error DMB is only supported on ARMv6+
22 | #error DMB is only supported on ARMv6+
| ^~~~~
...
//Hongxu