[openssl-commits] [openssl] master update
Andy Polyakov
appro at openssl.org
Fri Sep 25 11:39:25 UTC 2015
The branch master has been updated
via a93d3e06a9849deeceadf1b51c10492ae77c43eb (commit)
via 5e5ece561d1f7e557c8e0ea202a8c1f3008361ce (commit)
from 11208dcfb9105e8afa37233185decefd45e89e17 (commit)
- Log -----------------------------------------------------------------
commit a93d3e06a9849deeceadf1b51c10492ae77c43eb
Author: Andy Polyakov <appro at openssl.org>
Date: Wed Sep 23 16:43:55 2015 +0200
Configurations: add linux-arm64ilp32 target.
Reviewed-by: Tim Hudson <tjh at openssl.org>
commit 5e5ece561d1f7e557c8e0ea202a8c1f3008361ce
Author: Andy Polyakov <appro at openssl.org>
Date: Mon Sep 21 16:44:37 2015 +0200
Allow ILP32 compilation in AArch64 assembly pack.
Reviewed-by: Tim Hudson <tjh at openssl.org>
-----------------------------------------------------------------------
Summary of changes:
Configurations/10-main.conf | 7 +++++++
crypto/sha/asm/sha1-armv8.pl | 8 ++++++++
crypto/sha/asm/sha512-armv8.pl | 8 ++++++++
3 files changed, 23 insertions(+)
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 3230d86..e612812 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -582,6 +582,13 @@
inherit_from => [ "linux-generic64", asm("aarch64_asm") ],
perlasm_scheme => "linux64",
},
+ "linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32
+ inherit_from => [ "linux-generic32", asm("aarch64_asm") ],
+ cflags => "-mabi=ilp32 -Wall"
+ bn_ops => "SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR",
+ perlasm_scheme => "linux64",
+ shared_ldflag => "-mabi=ilp32",
+ },
"linux-mips32" => {
# Configure script adds minimally required -march for assembly
diff --git a/crypto/sha/asm/sha1-armv8.pl b/crypto/sha/asm/sha1-armv8.pl
index a8c08c2..5ef9dc2 100644
--- a/crypto/sha/asm/sha1-armv8.pl
+++ b/crypto/sha/asm/sha1-armv8.pl
@@ -171,7 +171,11 @@ $code.=<<___;
.type sha1_block_data_order,%function
.align 6
sha1_block_data_order:
+#ifdef __ILP32__
+ ldrsw x16,.LOPENSSL_armcap_P
+#else
ldr x16,.LOPENSSL_armcap_P
+#endif
adr x17,.LOPENSSL_armcap_P
add x16,x16,x17
ldr w16,[x16]
@@ -309,7 +313,11 @@ $code.=<<___;
.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc //K_40_59
.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 //K_60_79
.LOPENSSL_armcap_P:
+#ifdef __ILP32__
+.long OPENSSL_armcap_P-.
+#else
.quad OPENSSL_armcap_P-.
+#endif
.asciz "SHA1 block transform for ARMv8, CRYPTOGAMS by <appro\@openssl.org>"
.align 2
.comm OPENSSL_armcap_P,4,4
diff --git a/crypto/sha/asm/sha512-armv8.pl b/crypto/sha/asm/sha512-armv8.pl
index d009f3f..7d69f0f 100644
--- a/crypto/sha/asm/sha512-armv8.pl
+++ b/crypto/sha/asm/sha512-armv8.pl
@@ -169,7 +169,11 @@ $code.=<<___;
$func:
___
$code.=<<___ if ($SZ==4);
+#ifdef __ILP32__
+ ldrsw x16,.LOPENSSL_armcap_P
+#else
ldr x16,.LOPENSSL_armcap_P
+#endif
adr x17,.LOPENSSL_armcap_P
add x16,x16,x17
ldr w16,[x16]
@@ -311,7 +315,11 @@ $code.=<<___;
.size .LK$BITS,.-.LK$BITS
.align 3
.LOPENSSL_armcap_P:
+#ifdef __ILP32__
+ .long OPENSSL_armcap_P-.
+#else
.quad OPENSSL_armcap_P-.
+#endif
.asciz "SHA$BITS block transform for ARMv8, CRYPTOGAMS by <appro\@openssl.org>"
.align 2
___
More information about the openssl-commits
mailing list