From: Arne Schwabe Date: Sat, 26 Apr 2025 18:21:28 +0000 (+0200) Subject: Fix aesv8 arm assembler code not working on 32 bit Android X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77624f0c5bc7db67acb3134b28bc330533425ab6;p=thirdparty%2Fopenssl.git Fix aesv8 arm assembler code not working on 32 bit Android OpenSSL uses 'void' as perlasm for the 32 bit armeabi-arm target, which most notably lacks a 32 or 64 in its name. So while most code that is targeted for 32 uses !~ /64/ there is one instance that uses ~= /32/, introduced by commit 8e69c18 between 3.4.0 and 3.5.0. This leaves out that line on 32 bit android causing a segfault. This fixes the compilation issue by replacing the ~= /32/ with !~ /64/ compilation taget (see 15-android.conf) Signed-off-by: Arne Schwabe Reviewed-by: Tom Cosgrove Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/27510) --- diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl index 5ca6fbebf2a..82e60d788ec 100755 --- a/crypto/aes/asm/aesv8-armx.pl +++ b/crypto/aes/asm/aesv8-armx.pl @@ -152,7 +152,7 @@ $code.=<<___ if ($flavour =~ /64/); adrp $ptr,.Lrcon add $ptr,$ptr,:lo12:.Lrcon ___ -$code.=<<___ if ($flavour =~ /32/); +$code.=<<___ if ($flavour !~ /64/); adr $ptr,.Lrcon ___ $code.=<<___;