diff --git a/compiler-rt/lib/scudo/standalone/common.h b/compiler-rt/lib/scudo/standalone/common.h --- a/compiler-rt/lib/scudo/standalone/common.h +++ b/compiler-rt/lib/scudo/standalone/common.h @@ -122,7 +122,12 @@ #elif defined(__aarch64__) || defined(__arm__) __asm__ __volatile__("" ::: "memory"); for (u8 I = 0; I < Count; I++) +#if __ARM_ARCH >= 6 && !defined(__ARM_ARCH_6__) + // yield is supported on ARMv6K and newer __asm__ __volatile__("yield"); +#else + __asm__ __volatile__("nop"); +#endif #endif __asm__ __volatile__("" ::: "memory"); }