summaryrefslogtreecommitdiffstats
path: root/crypto/aes/asm/aesv8-armx.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2015-01-05 11:25:10 +0100
committerAndy Polyakov <appro@openssl.org>2015-01-23 15:38:41 +0100
commit9b05cbc33e7895ed033b1119e300782d9e0cf23c (patch)
treec3dca986e01d13b3ca7ac8d6ff776ca5e0183026 /crypto/aes/asm/aesv8-armx.pl
parentifdef cleanup, 2 remove OPENSSL_NO_SETVBUF_IONBF (diff)
downloadopenssl-9b05cbc33e7895ed033b1119e300782d9e0cf23c.tar.xz
openssl-9b05cbc33e7895ed033b1119e300782d9e0cf23c.zip
Add assembly support to ios64-cross.
Fix typos in ios64-cross config line. Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'crypto/aes/asm/aesv8-armx.pl')
-rwxr-xr-xcrypto/aes/asm/aesv8-armx.pl14
1 files changed, 11 insertions, 3 deletions
diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl
index 1e93f86852..06754090b1 100755
--- a/crypto/aes/asm/aesv8-armx.pl
+++ b/crypto/aes/asm/aesv8-armx.pl
@@ -28,7 +28,15 @@
# Cortex-A57 3.64 1.34 1.32
$flavour = shift;
-open STDOUT,">".shift;
+$output = shift;
+
+$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
+( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or
+( $xlate="${dir}../../perlasm/arm-xlate.pl" and -f $xlate) or
+die "can't locate arm-xlate.pl";
+
+open OUT,"| \"$^X\" $xlate $flavour $output";
+*STDOUT=*OUT;
$prefix="aes_v8";
@@ -56,7 +64,7 @@ my ($zero,$rcon,$mask,$in0,$in1,$tmp,$key)=
$code.=<<___;
.align 5
-rcon:
+.Lrcon:
.long 0x01,0x01,0x01,0x01
.long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d // rotate-n-splat
.long 0x1b,0x1b,0x1b,0x1b
@@ -85,7 +93,7 @@ $code.=<<___;
tst $bits,#0x3f
b.ne .Lenc_key_abort
- adr $ptr,rcon
+ adr $ptr,.Lrcon
cmp $bits,#192
veor $zero,$zero,$zero