You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2023/01/10 12:58:41 UTC

[nuttx] branch master updated: libc: don't redefined __ARM_ARCH_XXX when __ARM_ARCH defined

This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new e34f79aa28 libc: don't redefined __ARM_ARCH_XXX when __ARM_ARCH defined
e34f79aa28 is described below

commit e34f79aa28e730dde6338ceec0c93bd0cb25dbec
Author: zhangyuan21 <zh...@xiaomi.com>
AuthorDate: Tue Jan 10 17:30:22 2023 +0800

    libc: don't redefined __ARM_ARCH_XXX when __ARM_ARCH defined
    
    Signed-off-by: zhangyuan21 <zh...@xiaomi.com>
---
 libs/libc/machine/arm/armv7-a/gnu/acle-compat.h | 238 ++++++++++++------------
 libs/libc/machine/arm/armv7-m/gnu/acle-compat.h | 238 ++++++++++++------------
 libs/libc/machine/arm/armv7-r/gnu/acle-compat.h | 238 ++++++++++++------------
 3 files changed, 351 insertions(+), 363 deletions(-)

diff --git a/libs/libc/machine/arm/armv7-a/gnu/acle-compat.h b/libs/libc/machine/arm/armv7-a/gnu/acle-compat.h
index 7b52661e95..04e43cf12a 100644
--- a/libs/libc/machine/arm/armv7-a/gnu/acle-compat.h
+++ b/libs/libc/machine/arm/armv7-a/gnu/acle-compat.h
@@ -31,6 +31,8 @@
 #ifndef __LIBS_LIBC_MACHINE_ARM_ARMV7A_GNU_ACLE_COMPAT_H
 #define __LIBS_LIBC_MACHINE_ARM_ARMV7A_GNU_ACLE_COMPAT_H
 
+#ifndef __ARM_ARCH
+
 /* ACLE standardises a set of pre-defines that describe the ARM architecture.
  * These were mostly implemented in GCC around GCC-4.8; older versions
  * have no, or only partial support.  To provide a level of backwards
@@ -41,147 +43,141 @@
 
 /* No need to handle ARMv8, GCC had ACLE support before that.  */
 
-#ifdef __ARM_ARCH_7__
+#  ifdef __ARM_ARCH_7__
 /* The common subset of ARMv7 in all profiles.  */
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#endif
-
-#if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__)
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 15
-#  define __ARM_FEATURE_UNALIGNED
-#  ifdef __ARM_ARCH_7A__
-#    define __ARM_ARCH_PROFILE 'A'
-#  else
-#    define __ARM_ARCH_PROFILE 'R'
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
 #  endif
-#endif
 
-#ifdef __ARM_ARCH_7EM__
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
-
-#ifdef __ARM_ARCH_7M__
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
+#  if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__)
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 15
+#    define __ARM_FEATURE_UNALIGNED
+#    ifdef __ARM_ARCH_7A__
+#      define __ARM_ARCH_PROFILE 'A'
+#    else
+#      define __ARM_ARCH_PROFILE 'R'
+#    endif
+#  endif
 
-#ifdef __ARM_ARCH_6T2__
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 4
-#  define __ARM_FEATURE_UNALIGNED
-#endif
+#  ifdef __ARM_ARCH_7EM__
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
+#    define __ARM_ARCH_PROFILE 'M'
+#  endif
 
-#ifdef __ARM_ARCH_6M__
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 1
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
+#  ifdef __ARM_ARCH_7M__
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
+#    define __ARM_ARCH_PROFILE 'M'
+#  endif
 
-#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) \
-  || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) \
-  || defined (__ARM_ARCH_6ZK__)
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 1
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_UNALIGNED
-#  ifndef __thumb__
-#    if defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__)
-#      define __ARM_FEATURE_LDREX 15
-#    else
-#      define __ARM_FEATURE_LDREX 4
-#    endif
+#  ifdef __ARM_ARCH_6T2__
+#    define __ARM_ARCH 6
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 4
+#    define __ARM_FEATURE_UNALIGNED
 #  endif
-#endif
 
-#if defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5E__)
-#  define __ARM_ARCH 5
-#  define __ARM_ARCH_ISA_ARM
-#  ifdef __ARM_ARCH_5TE__
+#  ifdef __ARM_ARCH_6M__
+#    define __ARM_ARCH 6
 #    define __ARM_ARCH_ISA_THUMB 1
+#    define __ARM_ARCH_PROFILE 'M'
 #  endif
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_DSP
-#endif
 
-#if defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5__)
-#  define __ARM_ARCH 5
-#  define __ARM_ARCH_ISA_ARM
-#  ifdef __ARM_ARCH_5TE__
+#  if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) \
+    || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) \
+    || defined (__ARM_ARCH_6ZK__)
+#    define __ARM_ARCH 6
 #    define __ARM_ARCH_ISA_THUMB 1
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_UNALIGNED
+#    ifndef __thumb__
+#      if defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__)
+#        define __ARM_FEATURE_LDREX 15
+#      else
+#        define __ARM_FEATURE_LDREX 4
+#      endif
+#    endif
 #  endif
-#  define __ARM_FEATURE_CLZ
-#endif
 
-#ifdef __ARM_ARCH_4T__
-#  define __ARM_ARCH 4
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_ARCH_ISA_THUMB 1
-#endif
+#  if defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5E__)
+#    define __ARM_ARCH 5
+#    define __ARM_ARCH_ISA_ARM
+#    ifdef __ARM_ARCH_5TE__
+#      define __ARM_ARCH_ISA_THUMB 1
+#    endif
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_DSP
+#  endif
 
-#ifdef __ARM_ARCH_4__
-#  define __ARM_ARCH 4
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  if defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5__)
+#    define __ARM_ARCH 5
+#    define __ARM_ARCH_ISA_ARM
+#    ifdef __ARM_ARCH_5TE__
+#      define __ARM_ARCH_ISA_THUMB 1
+#    endif
+#    define __ARM_FEATURE_CLZ
+#  endif
 
-#if defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
-#  define __ARM_ARCH 3
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  ifdef __ARM_ARCH_4T__
+#    define __ARM_ARCH 4
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_ARCH_ISA_THUMB 1
+#  endif
 
-#ifdef __ARM_ARCH_2__
-#  define __ARM_ARCH 2
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  ifdef __ARM_ARCH_4__
+#    define __ARM_ARCH 4
+#    define __ARM_ARCH_ISA_ARM
+#  endif
 
-#ifdef __ARMEB__
-#  define __ARM_BIG_ENDIAN
-#endif
+#  if defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
+#    define __ARM_ARCH 3
+#    define __ARM_ARCH_ISA_ARM
+#  endif
 
-/* If we still don't know what the target architecture is, then we're
- * probably not using GCC.
- */
+#  ifdef __ARM_ARCH_2__
+#    define __ARM_ARCH 2
+#    define __ARM_ARCH_ISA_ARM
+#  endif
+
+#  ifdef __ARMEB__
+#    define __ARM_BIG_ENDIAN
+#  endif
 
-#ifndef __ARM_ARCH
-#  error Unable to determine architecture version.
 #endif
 
 #endif /* __LIBS_LIBC_MACHINE_ARM_ARMV7A_GNU_ACLE_COMPAT_H */
diff --git a/libs/libc/machine/arm/armv7-m/gnu/acle-compat.h b/libs/libc/machine/arm/armv7-m/gnu/acle-compat.h
index 253361fe07..b035c9c2a2 100644
--- a/libs/libc/machine/arm/armv7-m/gnu/acle-compat.h
+++ b/libs/libc/machine/arm/armv7-m/gnu/acle-compat.h
@@ -31,6 +31,8 @@
 #ifndef __LIBS_LIBC_MACHINE_ARM_ARMV7M_GNU_ACLE_COMPAT_H
 #define __LIBS_LIBC_MACHINE_ARM_ARMV7M_GNU_ACLE_COMPAT_H
 
+#ifndef __ARM_ARCH
+
 /* ACLE standardises a set of pre-defines that describe the ARM architecture.
  * These were mostly implemented in GCC around GCC-4.8; older versions
  * have no, or only partial support.  To provide a level of backwards
@@ -41,147 +43,141 @@
 
 /* No need to handle ARMv8, GCC had ACLE support before that.  */
 
-#ifdef __ARM_ARCH_7__
+#  ifdef __ARM_ARCH_7__
 /* The common subset of ARMv7 in all profiles.  */
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#endif
-
-#if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__)
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 15
-#  define __ARM_FEATURE_UNALIGNED
-#  ifdef __ARM_ARCH_7A__
-#    define __ARM_ARCH_PROFILE 'A'
-#  else
-#    define __ARM_ARCH_PROFILE 'R'
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
 #  endif
-#endif
 
-#ifdef __ARM_ARCH_7EM__
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
-
-#ifdef __ARM_ARCH_7M__
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
+#  if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__)
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 15
+#    define __ARM_FEATURE_UNALIGNED
+#    ifdef __ARM_ARCH_7A__
+#      define __ARM_ARCH_PROFILE 'A'
+#    else
+#      define __ARM_ARCH_PROFILE 'R'
+#    endif
+#  endif
 
-#ifdef __ARM_ARCH_6T2__
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 4
-#  define __ARM_FEATURE_UNALIGNED
-#endif
+#  ifdef __ARM_ARCH_7EM__
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
+#    define __ARM_ARCH_PROFILE 'M'
+#  endif
 
-#ifdef __ARM_ARCH_6M__
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 1
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
+#  ifdef __ARM_ARCH_7M__
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
+#    define __ARM_ARCH_PROFILE 'M'
+#  endif
 
-#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) \
-  || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) \
-  || defined (__ARM_ARCH_6ZK__)
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 1
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_UNALIGNED
-#  ifndef __thumb__
-#    if defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__)
-#      define __ARM_FEATURE_LDREX 15
-#    else
-#      define __ARM_FEATURE_LDREX 4
-#    endif
+#  ifdef __ARM_ARCH_6T2__
+#    define __ARM_ARCH 6
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 4
+#    define __ARM_FEATURE_UNALIGNED
 #  endif
-#endif
 
-#if defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5E__)
-#  define __ARM_ARCH 5
-#  define __ARM_ARCH_ISA_ARM
-#  ifdef __ARM_ARCH_5TE__
+#  ifdef __ARM_ARCH_6M__
+#    define __ARM_ARCH 6
 #    define __ARM_ARCH_ISA_THUMB 1
+#    define __ARM_ARCH_PROFILE 'M'
 #  endif
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_DSP
-#endif
 
-#if defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5__)
-#  define __ARM_ARCH 5
-#  define __ARM_ARCH_ISA_ARM
-#  ifdef __ARM_ARCH_5TE__
+#  if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) \
+    || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) \
+    || defined (__ARM_ARCH_6ZK__)
+#    define __ARM_ARCH 6
 #    define __ARM_ARCH_ISA_THUMB 1
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_UNALIGNED
+#    ifndef __thumb__
+#      if defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__)
+#        define __ARM_FEATURE_LDREX 15
+#      else
+#        define __ARM_FEATURE_LDREX 4
+#      endif
+#    endif
 #  endif
-#  define __ARM_FEATURE_CLZ
-#endif
 
-#ifdef __ARM_ARCH_4T__
-#  define __ARM_ARCH 4
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_ARCH_ISA_THUMB 1
-#endif
+#  if defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5E__)
+#    define __ARM_ARCH 5
+#    define __ARM_ARCH_ISA_ARM
+#    ifdef __ARM_ARCH_5TE__
+#      define __ARM_ARCH_ISA_THUMB 1
+#    endif
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_DSP
+#  endif
 
-#ifdef __ARM_ARCH_4__
-#  define __ARM_ARCH 4
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  if defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5__)
+#    define __ARM_ARCH 5
+#    define __ARM_ARCH_ISA_ARM
+#    ifdef __ARM_ARCH_5TE__
+#      define __ARM_ARCH_ISA_THUMB 1
+#    endif
+#    define __ARM_FEATURE_CLZ
+#  endif
 
-#if defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
-#  define __ARM_ARCH 3
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  ifdef __ARM_ARCH_4T__
+#    define __ARM_ARCH 4
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_ARCH_ISA_THUMB 1
+#  endif
 
-#ifdef __ARM_ARCH_2__
-#  define __ARM_ARCH 2
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  ifdef __ARM_ARCH_4__
+#    define __ARM_ARCH 4
+#    define __ARM_ARCH_ISA_ARM
+#  endif
 
-#ifdef __ARMEB__
-#  define __ARM_BIG_ENDIAN
-#endif
+#  if defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
+#    define __ARM_ARCH 3
+#    define __ARM_ARCH_ISA_ARM
+#  endif
 
-/* If we still don't know what the target architecture is, then we're
- * probably not using GCC.
- */
+#  ifdef __ARM_ARCH_2__
+#    define __ARM_ARCH 2
+#    define __ARM_ARCH_ISA_ARM
+#  endif
+
+#  ifdef __ARMEB__
+#    define __ARM_BIG_ENDIAN
+#  endif
 
-#ifndef __ARM_ARCH
-#  error Unable to determine architecture version.
 #endif
 
 #endif /* __LIBS_LIBC_MACHINE_ARM_ARMV7M_GNU_ACLE_COMPAT_H */
diff --git a/libs/libc/machine/arm/armv7-r/gnu/acle-compat.h b/libs/libc/machine/arm/armv7-r/gnu/acle-compat.h
index b269933602..f37c67f703 100644
--- a/libs/libc/machine/arm/armv7-r/gnu/acle-compat.h
+++ b/libs/libc/machine/arm/armv7-r/gnu/acle-compat.h
@@ -31,6 +31,8 @@
 #ifndef __LIBS_LIBC_MACHINE_ARM_ARMV7R_GNU_ACLE_COMPAT_H
 #define __LIBS_LIBC_MACHINE_ARM_ARMV7R_GNU_ACLE_COMPAT_H
 
+#ifndef __ARM_ARCH
+
 /* ACLE standardises a set of pre-defines that describe the ARM architecture.
  * These were mostly implemented in GCC around GCC-4.8; older versions
  * have no, or only partial support.  To provide a level of backwards
@@ -41,147 +43,141 @@
 
 /* No need to handle ARMv8, GCC had ACLE support before that.  */
 
-#ifdef __ARM_ARCH_7__
+#  ifdef __ARM_ARCH_7__
 /* The common subset of ARMv7 in all profiles.  */
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#endif
-
-#if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__)
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 15
-#  define __ARM_FEATURE_UNALIGNED
-#  ifdef __ARM_ARCH_7A__
-#    define __ARM_ARCH_PROFILE 'A'
-#  else
-#    define __ARM_ARCH_PROFILE 'R'
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
 #  endif
-#endif
 
-#ifdef __ARM_ARCH_7EM__
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
-
-#ifdef __ARM_ARCH_7M__
-#  define __ARM_ARCH 7
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 7
-#  define __ARM_FEATURE_UNALIGNED
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
+#  if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__)
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 15
+#    define __ARM_FEATURE_UNALIGNED
+#    ifdef __ARM_ARCH_7A__
+#      define __ARM_ARCH_PROFILE 'A'
+#    else
+#      define __ARM_ARCH_PROFILE 'R'
+#    endif
+#  endif
 
-#ifdef __ARM_ARCH_6T2__
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 2
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_LDREX 4
-#  define __ARM_FEATURE_UNALIGNED
-#endif
+#  ifdef __ARM_ARCH_7EM__
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
+#    define __ARM_ARCH_PROFILE 'M'
+#  endif
 
-#ifdef __ARM_ARCH_6M__
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 1
-#  define __ARM_ARCH_PROFILE 'M'
-#endif
+#  ifdef __ARM_ARCH_7M__
+#    define __ARM_ARCH 7
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 7
+#    define __ARM_FEATURE_UNALIGNED
+#    define __ARM_ARCH_PROFILE 'M'
+#  endif
 
-#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) \
-  || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) \
-  || defined (__ARM_ARCH_6ZK__)
-#  define __ARM_ARCH 6
-#  define __ARM_ARCH_ISA_THUMB 1
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_SIMD32
-#  define __ARM_FEATURE_DSP
-#  define __ARM_FEATURE_QBIT
-#  define __ARM_FEATURE_SAT
-#  define __ARM_FEATURE_UNALIGNED
-#  ifndef __thumb__
-#    if defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__)
-#      define __ARM_FEATURE_LDREX 15
-#    else
-#      define __ARM_FEATURE_LDREX 4
-#    endif
+#  ifdef __ARM_ARCH_6T2__
+#    define __ARM_ARCH 6
+#    define __ARM_ARCH_ISA_THUMB 2
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_LDREX 4
+#    define __ARM_FEATURE_UNALIGNED
 #  endif
-#endif
 
-#if defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5E__)
-#  define __ARM_ARCH 5
-#  define __ARM_ARCH_ISA_ARM
-#  ifdef __ARM_ARCH_5TE__
+#  ifdef __ARM_ARCH_6M__
+#    define __ARM_ARCH 6
 #    define __ARM_ARCH_ISA_THUMB 1
+#    define __ARM_ARCH_PROFILE 'M'
 #  endif
-#  define __ARM_FEATURE_CLZ
-#  define __ARM_FEATURE_DSP
-#endif
 
-#if defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5__)
-#  define __ARM_ARCH 5
-#  define __ARM_ARCH_ISA_ARM
-#  ifdef __ARM_ARCH_5TE__
+#  if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) \
+    || defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) \
+    || defined (__ARM_ARCH_6ZK__)
+#    define __ARM_ARCH 6
 #    define __ARM_ARCH_ISA_THUMB 1
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_SIMD32
+#    define __ARM_FEATURE_DSP
+#    define __ARM_FEATURE_QBIT
+#    define __ARM_FEATURE_SAT
+#    define __ARM_FEATURE_UNALIGNED
+#    ifndef __thumb__
+#      if defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6ZK__)
+#        define __ARM_FEATURE_LDREX 15
+#      else
+#        define __ARM_FEATURE_LDREX 4
+#      endif
+#    endif
 #  endif
-#  define __ARM_FEATURE_CLZ
-#endif
 
-#ifdef __ARM_ARCH_4T__
-#  define __ARM_ARCH 4
-#  define __ARM_ARCH_ISA_ARM
-#  define __ARM_ARCH_ISA_THUMB 1
-#endif
+#  if defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5E__)
+#    define __ARM_ARCH 5
+#    define __ARM_ARCH_ISA_ARM
+#    ifdef __ARM_ARCH_5TE__
+#      define __ARM_ARCH_ISA_THUMB 1
+#    endif
+#    define __ARM_FEATURE_CLZ
+#    define __ARM_FEATURE_DSP
+#  endif
 
-#ifdef __ARM_ARCH_4__
-#  define __ARM_ARCH 4
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  if defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5__)
+#    define __ARM_ARCH 5
+#    define __ARM_ARCH_ISA_ARM
+#    ifdef __ARM_ARCH_5TE__
+#      define __ARM_ARCH_ISA_THUMB 1
+#    endif
+#    define __ARM_FEATURE_CLZ
+#  endif
 
-#if defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
-#  define __ARM_ARCH 3
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  ifdef __ARM_ARCH_4T__
+#    define __ARM_ARCH 4
+#    define __ARM_ARCH_ISA_ARM
+#    define __ARM_ARCH_ISA_THUMB 1
+#  endif
 
-#ifdef __ARM_ARCH_2__
-#  define __ARM_ARCH 2
-#  define __ARM_ARCH_ISA_ARM
-#endif
+#  ifdef __ARM_ARCH_4__
+#    define __ARM_ARCH 4
+#    define __ARM_ARCH_ISA_ARM
+#  endif
 
-#ifdef __ARMEB__
-#  define __ARM_BIG_ENDIAN
-#endif
+#  if defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
+#    define __ARM_ARCH 3
+#    define __ARM_ARCH_ISA_ARM
+#  endif
 
-/* If we still don't know what the target architecture is, then we're
- * probably not using GCC.
- */
+#  ifdef __ARM_ARCH_2__
+#    define __ARM_ARCH 2
+#    define __ARM_ARCH_ISA_ARM
+#  endif
+
+#  ifdef __ARMEB__
+#    define __ARM_BIG_ENDIAN
+#  endif
 
-#ifndef __ARM_ARCH
-#  error Unable to determine architecture version.
 #endif
 
 #endif /* __LIBS_LIBC_MACHINE_ARM_ARMV7R_GNU_ACLE_COMPAT_H */