summaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm/aesv8-armx.pl
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/aes/asm/aesv8-armx.pl
parentecp_nistz256-x86_64.pl: fix occasional failures. (diff)
downloadopenssl-c1669e1c205dc8e695fb0c10a655f434e758b9f7.tar.xz
openssl-c1669e1c205dc8e695fb0c10a655f434e758b9f7.zip
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/aes/asm/aesv8-armx.pl')
-rwxr-xr-xcrypto/aes/asm/aesv8-armx.pl8
1 files changed, 5 insertions, 3 deletions
diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl
index 923c7f62d5..1e93f86852 100755
--- a/crypto/aes/asm/aesv8-armx.pl
+++ b/crypto/aes/asm/aesv8-armx.pl
@@ -35,11 +35,13 @@ $prefix="aes_v8";
$code=<<___;
#include "arm_arch.h"
-#if __ARM_ARCH__>=7
+#if __ARM_MAX_ARCH__>=7
.text
___
-$code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/);
-$code.=".fpu neon\n.code 32\n" if ($flavour !~ /64/);
+$code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/);
+$code.=".arch armv7-a\n.fpu neon\n.code 32\n" if ($flavour !~ /64/);
+ #^^^^^^ this is done to simplify adoption by not depending
+ # on latest binutils.
# Assembler mnemonics are an eclectic mix of 32- and 64-bit syntax,
# NEON is mostly 32-bit mnemonics, integer - mostly 64. Goal is to