summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-04-22 16:09:56 +0200
committerAndy Polyakov <appro@openssl.org>2018-04-23 17:29:59 +0200
commit198a2ed791e8f4f00d0b92272987f564ca1d9783 (patch)
tree46c6791fb761323c9653731e7ece4c241865b2e8
parent00-base-templates.conf: wire keccak1600-armv4 module. (diff)
downloadopenssl-198a2ed791e8f4f00d0b92272987f564ca1d9783.tar.xz
openssl-198a2ed791e8f4f00d0b92272987f564ca1d9783.zip
ARM assembly pack: make it work with older assembler.
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/6043)
-rw-r--r--crypto/armv4cpuid.pl2
-rwxr-xr-xcrypto/ec/asm/ecp_nistz256-armv4.pl2
-rw-r--r--crypto/modes/asm/ghashv8-armx.pl2
3 files changed, 4 insertions, 2 deletions
diff --git a/crypto/armv4cpuid.pl b/crypto/armv4cpuid.pl
index f7d31a698a..9e46149566 100644
--- a/crypto/armv4cpuid.pl
+++ b/crypto/armv4cpuid.pl
@@ -125,7 +125,7 @@ CRYPTO_memcmp:
ldmia sp!,{r4,r5}
.Lno_data:
- neg r0,ip
+ rsb r0,ip,#0
mov r0,r0,lsr#31
#if __ARM_ARCH__>=5
bx lr
diff --git a/crypto/ec/asm/ecp_nistz256-armv4.pl b/crypto/ec/asm/ecp_nistz256-armv4.pl
index c414334d1e..7bb268d28d 100755
--- a/crypto/ec/asm/ecp_nistz256-armv4.pl
+++ b/crypto/ec/asm/ecp_nistz256-armv4.pl
@@ -1633,7 +1633,7 @@ ___
$code.=<<___;
.Ladd_done:
add sp,sp,#32*18+16+16 @ +16 means "skip even over saved r0-r3"
-#if __ARM_ARCH__>=5 || defined(__thumb__)
+#if __ARM_ARCH__>=5 || !defined(__thumb__)
ldmia sp!,{r4-r12,pc}
#else
ldmia sp!,{r4-r12,lr}
diff --git a/crypto/modes/asm/ghashv8-armx.pl b/crypto/modes/asm/ghashv8-armx.pl
index 7e57238706..ac9d5a21a3 100644
--- a/crypto/modes/asm/ghashv8-armx.pl
+++ b/crypto/modes/asm/ghashv8-armx.pl
@@ -70,6 +70,7 @@ my ($t0,$t1,$t2,$xC2,$H,$Hhl,$H2)=map("q$_",(8..14));
$code=<<___;
#include "arm_arch.h"
+#if __ARM_MAX_ARCH__>=7
.text
___
$code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/);
@@ -699,6 +700,7 @@ ___
$code.=<<___;
.asciz "GHASH for ARMv8, CRYPTOGAMS by <appro\@openssl.org>"
.align 2
+#endif
___
if ($flavour =~ /64/) { ######## 64-bit code