sha/asm/sha512-armv8.pl: fix big-endian support in __KERNEL__ case.
authorAndy Polyakov <appro@openssl.org>
Sun, 13 Nov 2016 21:32:09 +0000 (22:32 +0100)
committerAndy Polyakov <appro@openssl.org>
Thu, 17 Nov 2016 18:29:58 +0000 (19:29 +0100)
In non-__KERNEL__ context 32-bit-style __ARMEB__/__ARMEL__ macros were
set in arm_arch.h, which is shared between 32- and 64-bit builds. Since
it's not included in __KERNEL__ case, we have to adhere to official
64-bit pre-defines, __AARCH64EB__/__AARCH64EL__.

[If we are to share more code, it would need similar adjustment.]

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
crypto/sha/asm/sha512-armv8.pl

index ffae5f2..c55efb3 100644 (file)
@@ -102,7 +102,7 @@ my ($T0,$T1,$T2)=(@X[($i-8)&15],@X[($i-9)&15],@X[($i-10)&15]);
    $T0=@X[$i+3] if ($i<11);
 
 $code.=<<___   if ($i<16);
    $T0=@X[$i+3] if ($i<11);
 
 $code.=<<___   if ($i<16);
-#ifndef        __ARMEB__
+#ifndef        __AARCH64EB__
        rev     @X[$i],@X[$i]                   // $i
 #endif
 ___
        rev     @X[$i],@X[$i]                   // $i
 #endif
 ___