Author: jkim Date: Wed Aug 26 16:55:28 2020 New Revision: 364822 URL: https://svnweb.freebsd.org/changeset/base/364822
Log: Fix Clang version detection. We prepend "FreeBSD" to Clang version string. This broke compiler test for AVX instruction support. Reported by: jhb Modified: head/crypto/openssl/crypto/aes/asm/aesni-mb-x86_64.pl head/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl head/crypto/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl head/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl head/crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl head/crypto/openssl/crypto/bn/asm/x86_64-mont.pl head/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl head/crypto/openssl/crypto/chacha/asm/chacha-x86.pl head/crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl head/crypto/openssl/crypto/ec/asm/x25519-x86_64.pl head/crypto/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl head/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-x86.pl head/crypto/openssl/crypto/poly1305/asm/poly1305-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha1-586.pl head/crypto/openssl/crypto/sha/asm/sha1-mb-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha256-586.pl head/crypto/openssl/crypto/sha/asm/sha256-mb-x86_64.pl head/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl Modified: head/crypto/openssl/crypto/aes/asm/aesni-mb-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/aes/asm/aesni-mb-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/aes/asm/aesni-mb-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -70,7 +70,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/aes/asm/aesni-sha1-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -108,7 +108,7 @@ $avx=1 if (!$avx && $win64 && ($flavour =~ /nasm/ || $ $avx=1 if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && `ml64 2>&1` =~ /Version ([0-9]+)\./ && $1>=10); -$avx=1 if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); +$avx=1 if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); $shaext=1; ### set to zero if compiling for 1.0.1 Modified: head/crypto/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/aes/asm/aesni-sha256-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -70,7 +70,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=12); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl ============================================================================== --- head/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -66,7 +66,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $addx = ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $avx = ($ver>=3.0) + ($ver>=3.01); $addx = ($ver>=3.03); Modified: head/crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/bn/asm/rsaz-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -81,7 +81,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{AS $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } Modified: head/crypto/openssl/crypto/bn/asm/x86_64-mont.pl ============================================================================== --- head/crypto/openssl/crypto/bn/asm/x86_64-mont.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/bn/asm/x86_64-mont.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -75,7 +75,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{AS $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } Modified: head/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl ============================================================================== --- head/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -60,7 +60,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{AS $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } Modified: head/crypto/openssl/crypto/chacha/asm/chacha-x86.pl ============================================================================== --- head/crypto/openssl/crypto/chacha/asm/chacha-x86.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/chacha/asm/chacha-x86.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -62,7 +62,7 @@ $ymm=1 if ($xmm && !$ymm && $ARGV[0] eq "win32" && $1>=10); # first version supporting AVX $ymm=1 if ($xmm && !$ymm && - `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/ && + `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); # first version supporting AVX $a="eax"; Modified: head/crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/chacha/asm/chacha-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -85,7 +85,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl ============================================================================== --- head/crypto/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/ec/asm/ecp_nistz256-avx2.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -47,7 +47,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{AS $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $avx = ($ver>=3.0) + ($ver>=3.01); $addx = ($ver>=3.03); Modified: head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -72,7 +72,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{AS $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $avx = ($ver>=3.0) + ($ver>=3.01); $addx = ($ver>=3.03); Modified: head/crypto/openssl/crypto/ec/asm/x25519-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/ec/asm/x25519-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/ec/asm/x25519-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -90,7 +90,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ || $ENV{AS $addx = ($1>=12); } -if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { +if (!$addx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)/) { my $ver = $2 + $3/100.0; # 3.1->3.01, 3.10->3.10 $addx = ($ver>=3.03); } Modified: head/crypto/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/modes/asm/aesni-gcm-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -66,7 +66,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -116,7 +116,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/poly1305/asm/poly1305-x86.pl ============================================================================== --- head/crypto/openssl/crypto/poly1305/asm/poly1305-x86.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/poly1305/asm/poly1305-x86.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -71,7 +71,7 @@ if ($sse2) { $avx = ($1>=2.09) + ($1>=2.10); } - if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/) { + if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } } Modified: head/crypto/openssl/crypto/poly1305/asm/poly1305-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/poly1305/asm/poly1305-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/poly1305/asm/poly1305-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -90,7 +90,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=12); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/sha/asm/sha1-586.pl ============================================================================== --- head/crypto/openssl/crypto/sha/asm/sha1-586.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/sha/asm/sha1-586.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -144,7 +144,7 @@ $ymm=1 if ($xmm && !$ymm && $ARGV[0] eq "win32" && `ml 2>&1` =~ /Version ([0-9]+)\./ && $1>=10); # first version supporting AVX -$ymm=1 if ($xmm && !$ymm && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/ && +$ymm=1 if ($xmm && !$ymm && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/ && $2>=3.0); # first version supporting AVX $shaext=$xmm; ### set to zero if compiling for 1.0.1 Modified: head/crypto/openssl/crypto/sha/asm/sha1-mb-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/sha/asm/sha1-mb-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/sha/asm/sha1-mb-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -66,7 +66,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -119,7 +119,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/sha/asm/sha256-586.pl ============================================================================== --- head/crypto/openssl/crypto/sha/asm/sha256-586.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/sha/asm/sha256-586.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -96,7 +96,7 @@ if ($xmm && !$avx && $ARGV[0] eq "win32" && $avx = ($1>=10) + ($1>=11); } -if ($xmm && !$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/) { +if ($xmm && !$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/sha/asm/sha256-mb-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/sha/asm/sha256-mb-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/sha/asm/sha256-mb-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -67,7 +67,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } Modified: head/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl ============================================================================== --- head/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl Wed Aug 26 15:43:44 2020 (r364821) +++ head/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl Wed Aug 26 16:55:28 2020 (r364822) @@ -135,7 +135,7 @@ if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM $avx = ($1>=10) + ($1>=11); } -if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:^clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { +if (!$avx && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) { $avx = ($2>=3.0) + ($2>3.0); } _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"