Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-27 Thread John Baldwin
On 8/27/20 1:28 PM, Benjamin Kaduk wrote:
> On Thu, Aug 27, 2020 at 1:25 PM John Baldwin  wrote:
> 
>> On 8/26/20 9:55 AM, Jung-uk Kim wrote:
>>> 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.
>>
>> Have you opened a PR upstream to fix this?  They should be willing to
>> accept it since it probably affects clang on OS X as well?
>>
>>
> https://github.com/openssl/openssl/pull/12725 should land in a few hours.

Yes, mail failure on my part as I missed another place where I'd already
asked this (and subsequently forgot :( ).

-- 
John Baldwin
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-27 Thread Benjamin Kaduk
On Thu, Aug 27, 2020 at 1:25 PM John Baldwin  wrote:

> On 8/26/20 9:55 AM, Jung-uk Kim wrote:
> > 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.
>
> Have you opened a PR upstream to fix this?  They should be willing to
> accept it since it probably affects clang on OS X as well?
>
>
https://github.com/openssl/openssl/pull/12725 should land in a few hours.

-Ben
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-27 Thread John Baldwin
On 8/26/20 9:55 AM, Jung-uk Kim wrote:
> 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.

Have you opened a PR upstream to fix this?  They should be willing to
accept it since it probably affects clang on OS X as well?

-- 
John Baldwin
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Jung-uk Kim
On 20. 8. 26., Jessica Clarke wrote:
> On 26 Aug 2020, at 19:33, Dimitry Andric  wrote:
>>
>> On 26 Aug 2020, at 19:13, Ian Lepore  wrote:
>>>
>>> On Wed, 2020-08-26 at 19:04 +0200, Mateusz Guzik wrote:
 On 8/26/20, Jung-uk Kim  wrote:
> 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.
>

 What about other software checking in similar fashion? imo the right
 fix is to stop mucking with the way clang reports itself

>>>
>>> Maybe it would be better to not modify the start of the string.
>>> Instead of
>>>
>>> FreeBSD clang version 9.0.1 (g...@github.com:llvm/llvm-project.git
>>> c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
>>>
>>> maybe
>>>
>>> clang version 9.0.1 for FreeBSD (g...@github.com:llvm/llvm-project.git
>>> c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
>>
>> We have been doing this since, well, forever. And this way actually
>> originates from upstream, we only define the CLANG_VENDOR macro. I see
>> no reason to change this after all those years.
>>
>> A better question is, why these perl scripts "suddenly" started failing?
>> Or have they also failed since forever, and it was only noticed now?
> 
> Ah, digging deeper it gets more interesting. All those scripts check
> for "based on LLVM X.Y", a suffix printed for vendor builds. However,
> that was dropped in https://reviews.llvm.org/D69925 as it's redundant,
> thereby breaking this detection. So it's fallout from LLVM 10.

Yes, that's correct.

BTW, they also changed "-dumpversion" format from Clang 9.

% clang80 -dumpversion
4.2.1
% clang90 -dumpversion
9.0.1

Since some do not check whether you are using Clang or GCC, some scripts
may think you are using GCC 9 or newer.

> Also the scripts aren't failing in a sense, they just don't know what
> compiler is in use so they fall back on not enabling AVX.

Also, correct.

Jung-uk Kim
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Jessica Clarke
On 26 Aug 2020, at 19:33, Dimitry Andric  wrote:
> 
> On 26 Aug 2020, at 19:13, Ian Lepore  wrote:
>> 
>> On Wed, 2020-08-26 at 19:04 +0200, Mateusz Guzik wrote:
>>> On 8/26/20, Jung-uk Kim  wrote:
 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.
 
>>> 
>>> What about other software checking in similar fashion? imo the right
>>> fix is to stop mucking with the way clang reports itself
>>> 
>> 
>> Maybe it would be better to not modify the start of the string.
>> Instead of
>> 
>> FreeBSD clang version 9.0.1 (g...@github.com:llvm/llvm-project.git
>> c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
>> 
>> maybe
>> 
>> clang version 9.0.1 for FreeBSD (g...@github.com:llvm/llvm-project.git
>> c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
> 
> We have been doing this since, well, forever. And this way actually
> originates from upstream, we only define the CLANG_VENDOR macro. I see
> no reason to change this after all those years.
> 
> A better question is, why these perl scripts "suddenly" started failing?
> Or have they also failed since forever, and it was only noticed now?

Ah, digging deeper it gets more interesting. All those scripts check
for "based on LLVM X.Y", a suffix printed for vendor builds. However,
that was dropped in https://reviews.llvm.org/D69925 as it's redundant,
thereby breaking this detection. So it's fallout from LLVM 10.

Also the scripts aren't failing in a sense, they just don't know what
compiler is in use so they fall back on not enabling AVX.

Jess

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Dimitry Andric
On 26 Aug 2020, at 19:13, Ian Lepore  wrote:
> 
> On Wed, 2020-08-26 at 19:04 +0200, Mateusz Guzik wrote:
>> On 8/26/20, Jung-uk Kim  wrote:
>>> 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.
>>> 
>> 
>> What about other software checking in similar fashion? imo the right
>> fix is to stop mucking with the way clang reports itself
>> 
> 
> Maybe it would be better to not modify the start of the string.
> Instead of
> 
> FreeBSD clang version 9.0.1 (g...@github.com:llvm/llvm-project.git
> c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)
> 
> maybe
> 
> clang version 9.0.1 for FreeBSD (g...@github.com:llvm/llvm-project.git
> c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)

We have been doing this since, well, forever. And this way actually
originates from upstream, we only define the CLANG_VENDOR macro. I see
no reason to change this after all those years.

A better question is, why these perl scripts "suddenly" started failing?
Or have they also failed since forever, and it was only noticed now?

-Dimitry



signature.asc
Description: Message signed with OpenPGP


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Ian Lepore
On Wed, 2020-08-26 at 19:04 +0200, Mateusz Guzik wrote:
> On 8/26/20, Jung-uk Kim  wrote:
> > 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.
> > 
> 
> What about other software checking in similar fashion? imo the right
> fix is to stop mucking with the way clang reports itself
> 

Maybe it would be better to not modify the start of the string. 
Instead of 

FreeBSD clang version 9.0.1 (g...@github.com:llvm/llvm-project.git
c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)

maybe

clang version 9.0.1 for FreeBSD (g...@github.com:llvm/llvm-project.git
c1a0a213378a458fbea1a5c77b315c7dce08fd05) (based on LLVM 9.0.1)

-- Ian

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Jessica Clarke
On 26 Aug 2020, at 18:04, Mateusz Guzik  wrote:
> 
> On 8/26/20, Jung-uk Kim  wrote:
>> 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.
>> 
> 
> What about other software checking in similar fashion? imo the right
> fix is to stop mucking with the way clang reports itself

Apple's LLVM also does the same thing. Whilst it may be better to leave
the string alone, it is sometimes useful information and, given the
existence of Apple's LLVM, well-behaved software should already be
dealing with this properly; based on this commit, upstream OpenSSL
seems like it suffers the same bug on macOS.

Jess

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Mateusz Guzik
On 8/26/20, Jung-uk Kim  wrote:
> 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.
>

What about other software checking in similar fashion? imo the right
fix is to stop mucking with the way clang reports itself

>   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.plWed Aug 26 15:43:44
> 2020  (r364821)
> +++ head/crypto/openssl/crypto/bn/asm/rsaz-avx2.plWed 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
> ==
> --- 

svn commit: r364822 - in head/crypto/openssl/crypto: aes/asm bn/asm chacha/asm ec/asm modes/asm poly1305/asm sha/asm

2020-08-26 Thread Jung-uk Kim
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.plWed Aug 26 15:43:44 
2020(r364821)
+++ head/crypto/openssl/crypto/bn/asm/rsaz-x86_64.plWed Aug 26 16:55:28 
2020(r364822)
@@ -81,7 +81,7 @@ if (!$addx && $win64 && ($flavour =~ /masm/ ||