arm: respect both __ARM_ARCH_6KZ__ and __ARM_ARCH_6ZK__ macros
authorAndre McCurdy <armccurdy@gmail.com>
Thu, 19 Apr 2018 01:51:43 +0000 (18:51 -0700)
committerRich Felker <dalias@aerifal.cx>
Thu, 19 Apr 2018 16:35:49 +0000 (12:35 -0400)
__ARM_ARCH_6ZK__ is a gcc specific historical typo which may not be
defined by other compilers.

  https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02237.html

To avoid unexpected results when building for ARMv6KZ with clang, the
correct form of the macro (ie 6KZ) needs to be tested. The incorrect
form of the macro (ie 6ZK) still needs to be tested for compatibility
with pre-2015 versions of gcc.

arch/arm/atomic_arch.h
arch/arm/pthread_arch.h

index 72fcddb..5ff1be1 100644 (file)
@@ -7,7 +7,7 @@
 extern uintptr_t __attribute__((__visibility__("hidden")))
        __a_cas_ptr, __a_barrier_ptr;
 
-#if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) \
+#if ((__ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6KZ__ || __ARM_ARCH_6ZK__) && !__thumb__) \
  || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ ||  __ARM_ARCH >= 7
 
 #define a_ll a_ll
index 197752e..6657e19 100644 (file)
@@ -1,4 +1,4 @@
-#if ((__ARM_ARCH_6K__ || __ARM_ARCH_6ZK__) && !__thumb__) \
+#if ((__ARM_ARCH_6K__ || __ARM_ARCH_6KZ__ || __ARM_ARCH_6ZK__) && !__thumb__) \
  || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH >= 7
 
 static inline pthread_t __pthread_self()