From: Rich Felker Date: Wed, 25 Oct 2017 15:54:16 +0000 (-0400) Subject: fix build regression on ARM for ISA levels less than v5 X-Git-Tag: v1.1.18~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1b9406b03c0a94ebe2076a8fc1746a8c45e78a83;p=oweals%2Fmusl.git fix build regression on ARM for ISA levels less than v5 commit 06fbefd10046a0fae7e588b7c6d25fb51811b931 (first included in release 1.1.17) introduced this regression. patch by Adrian Bunk. it fixes the regression in all cases, but spuriously prevents use of the clz instruction on very old compiler versions that don't define __ARM_ARCH. this may be fixed in a more general way at some point in the future. it also omits thumb1 logic since building as thumb1 code is currently not supported. --- diff --git a/arch/arm/atomic_arch.h b/arch/arm/atomic_arch.h index a121010f..c5c56f81 100644 --- a/arch/arm/atomic_arch.h +++ b/arch/arm/atomic_arch.h @@ -82,9 +82,13 @@ static inline void a_crash() : : : "memory"); } +#if __ARM_ARCH >= 5 + #define a_clz_32 a_clz_32 static inline int a_clz_32(uint32_t x) { __asm__ ("clz %0, %1" : "=r"(x) : "r"(x)); return x; } + +#endif