From 160f48941d143cf2682df4e938ba953c96ac3c7a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 21 Jul 2023 07:59:07 +0800 Subject: [PATCH] Add system guessing for linux64-loongarch64 target Now the default is linux-generic32, it's not good for loongarch64. We can also test if the assembler supports vector instructions here and disable asm if not. Closes #21340. Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/21510) --- util/perl/OpenSSL/config.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm index 13d1d60fad5..fef32c93237 100755 --- a/util/perl/OpenSSL/config.pm +++ b/util/perl/OpenSSL/config.pm @@ -675,6 +675,18 @@ EOF defines => [ 'B_ENDIAN' ] } ], [ 'sh.*-.*-linux2', { target => "linux-generic32", defines => [ 'L_ENDIAN' ] } ], + [ 'loongarch64-.*-linux2', + sub { + my $disable = [ 'asm' ]; + if ( okrun('echo xvadd.w \$xr0,\$xr0,\$xr0', + "$CC -c -x assembler - -o /dev/null 2>/dev/null") ) { + $disable = []; + } + return { target => "linux64-loongarch64", + defines => [ 'L_ENDIAN' ], + disable => $disable, }; + } + ], [ 'm68k.*-.*-linux2', { target => "linux-generic32", defines => [ 'B_ENDIAN' ] } ], [ 's390-.*-linux2', { target => "linux-generic32", -- 2.47.2