From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/13134 Path: news.gmane.org!.POSTED!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH] fix build failure on arm because of missing clz instruction Date: Fri, 24 Aug 2018 21:30:53 +0200 Message-ID: <20180824193052.GD4418@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="wIc/V6YLA2QdyfT4" X-Trace: blaine.gmane.org 1535138942 4824 195.159.176.226 (24 Aug 2018 19:29:02 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 24 Aug 2018 19:29:02 +0000 (UTC) User-Agent: Mutt/1.9.1 (2017-09-22) To: musl@lists.openwall.com Original-X-From: musl-return-13150-gllmg-musl=m.gmane.org@lists.openwall.com Fri Aug 24 21:28:58 2018 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1ftHlR-00019T-Pu for gllmg-musl@m.gmane.org; Fri, 24 Aug 2018 21:28:57 +0200 Original-Received: (qmail 15853 invoked by uid 550); 24 Aug 2018 19:31:05 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 15817 invoked from network); 24 Aug 2018 19:31:04 -0000 Mail-Followup-To: musl@lists.openwall.com Content-Disposition: inline Xref: news.gmane.org gmane.linux.lib.musl.general:13134 Archived-At: --wIc/V6YLA2QdyfT4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline another arm patch, clz usage (in fma) was broken with -mthumb -march=armv5t. --wIc/V6YLA2QdyfT4 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-fix-build-failure-on-arm-because-of-missing-clz-inst.patch" >From b6036dd2256edca0181aa25de2259bcd03b21c2e Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Fri, 24 Aug 2018 15:59:17 +0000 Subject: [PATCH] fix build failure on arm because of missing clz instruction In thumb mode clz is only available since armv6t2, in arm mode it is available since armv5. The preprocessor conditionals are changed accordingly. --- arch/arm/atomic_arch.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/atomic_arch.h b/arch/arm/atomic_arch.h index 62458b45..868e5758 100644 --- a/arch/arm/atomic_arch.h +++ b/arch/arm/atomic_arch.h @@ -82,7 +82,8 @@ static inline void a_crash() : : : "memory"); } -#if __ARM_ARCH >= 5 +#if __ARM_ARCH_6T2__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7 \ + || (__ARM_ARCH >= 5 && !__thumb__) #define a_clz_32 a_clz_32 static inline int a_clz_32(uint32_t x) -- 2.18.0 --wIc/V6YLA2QdyfT4--