sha/asm/sha256-armv4.pl: fix compile issue in kernel
authorAndy Polyakov <appro@openssl.org>
Sat, 28 Mar 2015 14:21:35 +0000 (15:21 +0100)
committerAndy Polyakov <appro@openssl.org>
Sun, 29 Mar 2015 13:22:03 +0000 (15:22 +0200)
and eliminate little-endian dependency.

Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/sha/asm/sha256-armv4.pl

index 4fee74d..fac0533 100644 (file)
@@ -73,7 +73,9 @@ $code.=<<___ if ($i<16);
        eor     $t0,$e,$e,ror#`$Sigma1[1]-$Sigma1[0]`
        add     $a,$a,$t2                       @ h+=Maj(a,b,c) from the past
        eor     $t0,$t0,$e,ror#`$Sigma1[2]-$Sigma1[0]`  @ Sigma1(e)
+# ifndef __ARMEB__
        rev     $t1,$t1
+# endif
 #else
        @ ldrb  $t1,[$inp,#3]                   @ $i
        add     $a,$a,$t2                       @ h+=Maj(a,b,c) from the past
@@ -166,6 +168,7 @@ $code=<<___;
 #else
 .syntax unified
 # ifdef __thumb2__
+#  define adrl adr
 .thumb
 # else
 .code   32
@@ -460,7 +463,7 @@ sha256_block_data_order_neon:
        stmdb   sp!,{r4-r12,lr}
 
        sub     $H,sp,#16*4+16
-       adr     $Ktbl,K256
+       adrl    $Ktbl,K256
        bic     $H,$H,#15               @ align for 128-bit stores
        mov     $t2,sp
        mov     sp,$H                   @ alloca