summaryrefslogtreecommitdiff
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-04 23:45:08 +0100
commitc1669e1c205dc8e695fb0c10a655f434e758b9f7 (patch)
tree08f1005b02e6ae66188fee2a8328c44bd8fdc902 /crypto/arm_arch.h
parent9e557ab2624d5c5e8d799c123f5e8211664d8845 (diff)
downloadopenssl-new-c1669e1c205dc8e695fb0c10a655f434e758b9f7.tar.gz
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>
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 d406c8c229..9a125d878b 100644
--- a/crypto/arm_arch.h
+++ b/crypto/arm_arch.h
@@ -48,6 +48,18 @@
# endif
#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