summaryrefslogtreecommitdiffstats
path: root/crypto/arm_arch.h
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2014-11-07 22:48:22 +0100
committerAndy Polyakov <appro@openssl.org>2015-01-06 11:14:23 +0100
commitf4868c99213c2b67d84e4506571216d23aa2d9fb (patch)
treea5d8110ec3da4406da7226db1d7b8ce3b8e7ec12 /crypto/arm_arch.h
parent4aaf1e493cb86efa64f6a486a27d38da6bce23af (diff)
Remove inconsistency in ARM support.
This facilitates "universal" builds, ones that target multiple architectures, e.g. ARMv5 through ARMv7. See commentary in Configure for details. Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit c1669e1c205dc8e695fb0c10a655f434e758b9f7)
Diffstat (limited to 'crypto/arm_arch.h')
-rw-r--r--crypto/arm_arch.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/crypto/arm_arch.h b/crypto/arm_arch.h
index 6fa87244d1..d137c926fc 100644
--- a/crypto/arm_arch.h
+++ b/crypto/arm_arch.h
@@ -52,6 +52,18 @@
#include <openssl/fipssyms.h>
#endif
+#if !defined(__ARM_MAX_ARCH__)
+# define __ARM_MAX_ARCH__ __ARM_ARCH__
+#endif
+
+#if __ARM_MAX_ARCH__<__ARM_ARCH__
+# error "__ARM_MAX_ARCH__ can't be less than __ARM_ARCH__"
+#elif __ARM_MAX_ARCH__!=__ARM_ARCH__
+# if __ARM_ARCH__<7 && __ARM_MAX_ARCH__>=7 && defined(__ARMEB__)
+# error "can't build universal big-endian binary"
+# endif
+#endif
+
#if !__ASSEMBLER__
extern unsigned int OPENSSL_armcap_P;
#endif