From: Andy Polyakov Date: Sun, 13 Nov 2016 21:32:09 +0000 (+0100) Subject: sha/asm/sha512-armv8.pl: fix big-endian support in __KERNEL__ case. X-Git-Tag: OpenSSL_1_1_1-pre1~3008 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=32bbb62ea634239e7cb91d6450ba23517082bab6 sha/asm/sha512-armv8.pl: fix big-endian support in __KERNEL__ case. 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 Reviewed-by: Richard Levitte --- diff --git a/crypto/sha/asm/sha512-armv8.pl b/crypto/sha/asm/sha512-armv8.pl index ffae5f23bc..c55efb3085 100644 --- a/crypto/sha/asm/sha512-armv8.pl +++ b/crypto/sha/asm/sha512-armv8.pl @@ -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); -#ifndef __ARMEB__ +#ifndef __AARCH64EB__ rev @X[$i],@X[$i] // $i #endif ___