Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Jul 2015 17:36:32 -0500
From:      Pedro Giffuni <pfg@FreeBSD.org>
To:        Adrian Chadd <adrian.chadd@gmail.com>
Cc:        "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:  <559DA5F0.4090302@FreeBSD.org>
In-Reply-To: <CAJ-VmonxnFt47D6qE199e%2BvxVPxiO5512i=X0R9meY-1Z1r_eQ@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>

next in thread | previous in thread | raw e-mail | index | archive | help


On 07/08/15 17:28, Adrian Chadd wrote:
> hi,
>
> ok. would it be possible to add a blessed way to say "this is the
> freebsd modified compiler in-tree" ?

Exactly why do you want this? We don't really have
many differences with the vendor versions.

Look at sys/sys/cdefs.h for examples on how we figure
out which features or attributes are available. I have been
exercising those in the libc headers extensively :).

Pedro.

> I'd like to see / play around with more external-toolchain driven
> building and using it for port bringups.
>
> Thanks,
>
>
> -adrian
>
>
> On 8 July 2015 at 15:22, Pedro Giffuni <pfg@freebsd.org> wrote:
>>
>> On 07/08/15 17:04, Adrian Chadd wrote:
>>> Is there a blessed way to see whether the compiler we're using is an
>>> external compiler, or an internal one?
>>
>> 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.
>>
>>> 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.)
>>
>> If the compiler reports itself as gcc >= 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.
>>
>> Pedro.
>>
>>
>>> -a
>>>
>>>
>>> On 8 July 2015 at 14:09, Pedro Giffuni <pfg@freebsd.org> wrote:
>>>>
>>>> On 07/08/15 13:36, Luigi Rizzo wrote:
>>>>> Author: luigi
>>>>> Date: Wed Jul  8 18:36:37 2015
>>>>> New Revision: 285284
>>>>> URL: https://svnweb.freebsd.org/changeset/base/285284
>>>>>
>>>>> Log:
>>>>>      only enable immintrin when clang is used. The base gcc does not
>>>>> support
>>>>> it.
>>>>>         Reviewed by:      delphij
>>>>>
>>>>> Modified:
>>>>>      head/lib/liblzma/config.h
>>>>>
>>>>> Modified: head/lib/liblzma/config.h
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- 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
>>>>>
>>>> FWIW, gcc 4.3+ does have it so this may some undesired (but hidden)
>>>> effect when building with an external gcc.
>>>>
>>>> Pedro.
>>>>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?559DA5F0.4090302>