Date: Wed, 8 Jul 2015 21:36:02 +0200 From: Dimitry Andric <dim@FreeBSD.org> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: delphij@freebsd.org, freebsd-current <freebsd-current@freebsd.org> Subject: Re: gcc/amd64 head build error after r281316 Message-ID: <E45FFE9C-1AC3-45B5-8165-FC3ECDB708F2@FreeBSD.org> In-Reply-To: <20150708170514.GA47276@onelab2.iet.unipi.it> References: <CAO0mX5aTYgO1NF_Yp_eQ%2Bdvce_1p4spG1g=pqHqhDnp5cKX%2BGQ@mail.gmail.com> <20150708170514.GA47276@onelab2.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_AEB0E835-EF32-44CB-8966-F56B07FD3ACF Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii On 08 Jul 2015, at 19:05, Luigi Rizzo <rizzo@iet.unipi.it> wrote: > > the r281316 commit introduces the following lines > which break compilation with gcc on amd64 (as far as i know > immintrin.h is only available in our clang). > If there are no objections I'd like to add a further check > for the use of clang, see attached patch > > Index: /home/luigi/FreeBSD/head/lib/liblzma/config.h > =================================================================== > --- /home/luigi/FreeBSD/head/lib/liblzma/config.h (revision 285281) > +++ /home/luigi/FreeBSD/head/lib/liblzma/config.h (working copy) > @@ -150,7 +150,7 @@ > #define HAVE_ICONV 1 > > /* Define to 1 if you have the <immintrin.h> header file. */ > -#if defined(__FreeBSD__) && defined(__amd64__) > +#if defined(__clang__) && defined(__FreeBSD__) && defined(__amd64__) > #define HAVE_IMMINTRIN_H 1 > #endif Hi Luigi, I just saw you already committed this, but can we change this so it also detects gcc >= 4.4.0, where immintrin.h was introduced? So then it works nicely for external gcc's too. E.g.: Index: lib/liblzma/config.h =================================================================== --- lib/liblzma/config.h (revision 285287) +++ lib/liblzma/config.h (working copy) @@ -151,7 +151,9 @@ /* Define to 1 if you have the <immintrin.h> header file. */ /* FreeBSD - only with clang because the base gcc does not support it */ -#if defined(__clang__) && defined(__FreeBSD__) && defined(__amd64__) +#if (defined(__clang__) || \ + __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 4)) \ + && defined(__FreeBSD__) && defined(__amd64__) #define HAVE_IMMINTRIN_H 1 #endif Additionally, why are we checking for __FreeBSD__ here? This config file is very specifically for use during buildworld, so I don't see the use in checking it at all. -Dimitry --Apple-Mail=_AEB0E835-EF32-44CB-8966-F56B07FD3ACF Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.28 iEYEARECAAYFAlWde6kACgkQsF6jCi4glqMY/QCfWNq3Q8t0CxQjuypHRxJIJvxH gxQAoPuhlmfTIMWDSI3ESfoUu9Mo9eMF =HZhh -----END PGP SIGNATURE----- --Apple-Mail=_AEB0E835-EF32-44CB-8966-F56B07FD3ACF--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E45FFE9C-1AC3-45B5-8165-FC3ECDB708F2>