diff options
author | Andy Polyakov <appro@openssl.org> | 2018-04-22 16:09:56 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2018-04-23 17:29:59 +0200 |
commit | 198a2ed791e8f4f00d0b92272987f564ca1d9783 (patch) | |
tree | 46c6791fb761323c9653731e7ece4c241865b2e8 | |
parent | 00-base-templates.conf: wire keccak1600-armv4 module. (diff) | |
download | openssl-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.pl | 2 | ||||
-rwxr-xr-x | crypto/ec/asm/ecp_nistz256-armv4.pl | 2 | ||||
-rw-r--r-- | crypto/modes/asm/ghashv8-armx.pl | 2 |
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 |