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