openssl/crypto/poly1305/asm
David Benjamin 40c24d74de Don't use __ARMEL__/__ARMEB__ in aarch64 assembly
GCC's __ARMEL__ and __ARMEB__ defines denote little- and big-endian arm,
respectively. They are not defined on aarch64, which instead use
__AARCH64EL__ and __AARCH64EB__.

However, OpenSSL's assembly originally used the 32-bit defines on both
platforms and even define __ARMEL__ and __ARMEB__ in arm_arch.h. This is
less portable and can even interfere with other headers, which use
__ARMEL__ to detect little-endian arm.

Over time, the aarch64 assembly has switched to the correct defines,
such as in 32bbb62ea6. This commit
finishes the job: poly1305-armv8.pl needed a fix and the dual-arch
armx.pl files get one more transform to convert from 32-bit to 64-bit.

(There is an even more official endianness detector, __ARM_BIG_ENDIAN in
the Arm C Language Extensions. But I've stuck with the GCC ones here as
that would be a larger change.)

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/17373)
2022-01-09 07:40:44 +01:00
..
poly1305-armv4.pl Update copyright year 2020-04-23 13:55:52 +01:00
poly1305-armv8.pl Don't use __ARMEL__/__ARMEB__ in aarch64 assembly 2022-01-09 07:40:44 +01:00
poly1305-c64xplus.pl Unify all assembler file generators 2019-09-16 16:29:57 +02:00
poly1305-ia64.S IA64 assembly pack: add {chacha|poly1305}-ia64 modules. 2019-03-29 07:33:15 +01:00
poly1305-mips.pl Update copyright year 2020-04-23 13:55:52 +01:00
poly1305-ppc.pl Update copyright year 2020-04-23 13:55:52 +01:00
poly1305-ppcfp.pl Update copyright year 2020-04-23 13:55:52 +01:00
poly1305-s390x.pl s390x assembly pack: perlasm module update 2019-11-05 10:05:27 +01:00
poly1305-sparcv9.pl Update copyright year 2021-07-29 15:41:35 +01:00
poly1305-x86_64.pl Ignore vendor name in Clang version number. 2020-08-27 20:27:26 -07:00
poly1305-x86.pl Ignore vendor name in Clang version number. 2020-08-27 20:27:26 -07:00