Date: Wed, 8 Jul 2015 16:42:54 -0600 From: Warner Losh <imp@bsdimp.com> To: Adrian Chadd <adrian.chadd@gmail.com> Cc: Pedro Giffuni <pfg@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r285284 - head/lib/liblzma Message-ID: <4199933E-38A3-447F-9485-BC4AFC6B370D@bsdimp.com> In-Reply-To: <CAJ-VmomszUF%2BzRyw4GiUoVqiDf8OYLFa78vHiXMkzZiQwM_e0g@mail.gmail.com> References: <201507081836.t68IacJu069563@repo.freebsd.org> <559D9172.9040305@FreeBSD.org> <CAJ-Vmo=m0Y%2BE0oi5ec5RzyziqObOj=fKY1K-8HzqK8x7D_TcKg@mail.gmail.com> <559DA2AE.2090202@FreeBSD.org> <CAJ-VmonxnFt47D6qE199e%2BvxVPxiO5512i=X0R9meY-1Z1r_eQ@mail.gmail.com> <1F6CFFCA-3901-4F18-AF30-EC621E5A4E06@bsdimp.com> <CAJ-VmomszUF%2BzRyw4GiUoVqiDf8OYLFa78vHiXMkzZiQwM_e0g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_FF7CDB04-F949-42A5-B190-06AC79AB2385 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >=20 > On Jul 8, 2015, at 4:37 PM, Adrian Chadd <adrian.chadd@gmail.com> = wrote: >=20 > On 8 July 2015 at 15:34, Warner Losh <imp@bsdimp.com> wrote: >> I doubt it would ever be useful. >> For gcc, just test for 4.2.1. >> For clang, what specific feature do you need to test for? >>=20 >> Do you have a specific use case in mind? >>=20 >> This strikes me as a really bad idea absent some use case that has a = real example behind it. >=20 > Well, vendors have in the past shipped modified compilers for systems > they're doing bring-up on. So if there are differences between the > in-tree compiler for a given clang version and the vendor supplied > modified one, I'd like to know. >=20 > I know it's going to be a while until another CPU family with a > not-yet-upstream compiler comes out.. I=E2=80=99m having trouble understanding when this would be generally = useful. If we have a situation where the exact same clang version as we have in = the tree is also the version of the compiler a vendor released and there=E2=80=99s = some substantial difference between the two such that you need conditional code to make = it work on both, that might be one scenario. But such a scenario hasn=E2=80=99t = come up in the past very often, and generally it has been resolved with an ifdef = __arch__ sort of thing because the in-tree compiler didn=E2=80=99t support that CPU well = enough to use, while the out of tree one did. Warner > -a >=20 >> Warner >>=20 >>> On Jul 8, 2015, at 4:28 PM, Adrian Chadd <adrian.chadd@gmail.com> = wrote: >>>=20 >>> hi, >>>=20 >>> ok. would it be possible to add a blessed way to say "this is the >>> freebsd modified compiler in-tree" ? >>>=20 >>> I'd like to see / play around with more external-toolchain driven >>> building and using it for port bringups. >>>=20 >>> Thanks, >>>=20 >>>=20 >>> -adrian >>>=20 >>>=20 >>> On 8 July 2015 at 15:22, Pedro Giffuni <pfg@freebsd.org> wrote: >>>>=20 >>>>=20 >>>> On 07/08/15 17:04, Adrian Chadd wrote: >>>>>=20 >>>>> Is there a blessed way to see whether the compiler we're using is = an >>>>> external compiler, or an internal one? >>>>=20 >>>>=20 >>>> No blessed way: you still have to determine the version of >>>> the external compiler for most purposes anyways. >>>> The internal compiler (even clang) always reports itself >>>> as gcc 4.2. >>>>=20 >>>>> eg, the version check isn't enough - it's just a number. how do I = know >>>>> if it's freebsd clang versus upstream clang? >>>>> (Or in my instance, freebsd-gcc versus upstream-gcc.) >>>>=20 >>>>=20 >>>> If the compiler reports itself as gcc >=3D 4.3 it is surely an >>>> external compiler. The tricky part is that our internal gcc >>>> supports some gcc 4.3 flags and Apple extensions >>>> (blocks), but those are not causing a problem AFAICT. >>>>=20 >>>> Pedro. >>>>=20 >>>>=20 >>>>>=20 >>>>> -a >>>>>=20 >>>>>=20 >>>>> On 8 July 2015 at 14:09, Pedro Giffuni <pfg@freebsd.org> wrote: >>>>>>=20 >>>>>>=20 >>>>>> On 07/08/15 13:36, Luigi Rizzo wrote: >>>>>>>=20 >>>>>>> Author: luigi >>>>>>> Date: Wed Jul 8 18:36:37 2015 >>>>>>> New Revision: 285284 >>>>>>> URL: https://svnweb.freebsd.org/changeset/base/285284 >>>>>>>=20 >>>>>>> Log: >>>>>>> only enable immintrin when clang is used. The base gcc does = not >>>>>>> support >>>>>>> it. >>>>>>> Reviewed by: delphij >>>>>>>=20 >>>>>>> Modified: >>>>>>> head/lib/liblzma/config.h >>>>>>>=20 >>>>>>> Modified: head/lib/liblzma/config.h >>>>>>>=20 >>>>>>>=20 >>>>>>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>>>>>> --- head/lib/liblzma/config.h Wed Jul 8 18:12:24 2015 >>>>>>> (r285283) >>>>>>> +++ head/lib/liblzma/config.h Wed Jul 8 18:36:37 2015 >>>>>>> (r285284) >>>>>>> @@ -150,7 +150,8 @@ >>>>>>> #define HAVE_ICONV 1 >>>>>>> /* Define to 1 if you have the <immintrin.h> header file. */ >>>>>>> -#if defined(__FreeBSD__) && defined(__amd64__) >>>>>>> +/* FreeBSD - only with clang because the base gcc does not = support it >>>>>>> */ >>>>>>> +#if defined(__clang__) && defined(__FreeBSD__) && = defined(__amd64__) >>>>>>> #define HAVE_IMMINTRIN_H 1 >>>>>>> #endif >>>>>>>=20 >>>>>> FWIW, gcc 4.3+ does have it so this may some undesired (but = hidden) >>>>>> effect when building with an external gcc. >>>>>>=20 >>>>>> Pedro. >>>>>>=20 >>>>=20 >>>=20 >>=20 --Apple-Mail=_FF7CDB04-F949-42A5-B190-06AC79AB2385 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----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJVnaduAAoJEGwc0Sh9sBEAQmAP/1BSRgrTwpGDDNGpIX5WjyKY AsL+fq6fUcykblZerZIyHc9BS2jczpfcnsCxGdceefz7Dn9ccTzcCcyAb8h5LxdY O6+JOCW8smJtzft1e4KkyKA3BVqJ7rcbGzYXt/pdlOARzJhD694ptRYBGxl2Gbq7 G9Crxlsc4K0uhzChcCQte6zfqtqeic2O8lsFSzh09u+36qZfvcnkmzjJ2/qLaQke ZDVG3hdNUMlfMCuOap7w9G01j1Fhm2nTOztgTIMIUsiRZLFBLaP/vMmtuwvgWAWC 3c168tLc1/xz0IRqHKZWgx0IRnSBHTN45F/1L+Law2ux8USebBsN1HZ8km8aS9TP zWDXa9IS38w71WJytzGCd/gRe+TUxS7lOtCmRFGX3/uHMgnSDiWZ1OcJ0Czg3pUs 2sJOj2EsCY5rYg2EtR5VygMjpNODCIwuDKm69mpHPor8ZWK5owCHfyM7HzyMQ7CU be5RytCcLkPdiUUG3DmFCsu3/rXH+HUpc+JXjUaky0pZHPk1klHfWZ5p54bu08vN KaIlpHdA4JujE0rYcgqtwe4oPOkIVrSriF2jC1tj6Bsm75YDMjCLvRG0TQzI3quh T6nrmCSRKpoF1z+t8v1HuHy/5P7gNrAEd/qbK6O7WRJq0h0YV7MpSrDBL6AKQkMf CxB+lHatLtxg4Q3H9gCp =P/u+ -----END PGP SIGNATURE----- --Apple-Mail=_FF7CDB04-F949-42A5-B190-06AC79AB2385--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4199933E-38A3-447F-9485-BC4AFC6B370D>