Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2016 16:23:34 -0700
From:      "K. Macy" <kmacy@freebsd.org>
To:        Erich Dollansky <erichsfreebsdlist@alogt.com>
Cc:        Mark Linimon <linimon@lonesome.com>, Andrea Brancatelli <abrancatelli@schema31.it>,  =?UTF-8?Q?Fernando_Herrero_Carr=C3=B3n?= <elferdo@gmail.com>,  freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: Benchmarks results for Compilers on FreeBSD 11
Message-ID:  <CAHM0Q_MQB8kpA0i-KFZh=nw6y=tejyjVQQYH%2B474Cwr0d=vCpw@mail.gmail.com>
In-Reply-To: <20160901065518.6a3a4179@X220.alogt.com>
References:  <20160822120215.GV22212@zxy.spb.ru> <20160823110159.GU18643@e-new.0x20.net> <20160824045558.18c86764@X220.alogt.com> <3234db29c228879cc473deec0b09568c@schema31.it> <CAMwkeZwmhqL%2BOU4kWafMOw6gCZB1N3Zxw5n-TyJ57R_toGM1Eg@mail.gmail.com> <20160826132059.63c23ee5@X220.alogt.com> <20160828060601.08ea91a8@X220.alogt.com> <CAMwkeZzeQk6tL_fG7TJdFCt_4CWPADNaHy2VP4yEs3Mm2F77MA@mail.gmail.com> <20160830074656.18bfaf05@X220.alogt.com> <CAHM0Q_Oh9%2BPzXji5t58tx6hUmM-gt_CweC%2BEGBENw23kxtzwvA@mail.gmail.com> <20160831133642.GA25574@lonesome.com> <CAHM0Q_O4HwdUHZs6963XsJ5_nAXqvuPczOw4of47cSP5N74vuQ@mail.gmail.com> <20160901065518.6a3a4179@X220.alogt.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 31, 2016 at 3:55 PM, Erich Dollansky
<erichsfreebsdlist@alogt.com> wrote:
> Hi,
>
> On Wed, 31 Aug 2016 12:16:16 -0700
> "K. Macy" <kmacy@freebsd.org> wrote:
>
>> On Wednesday, August 31, 2016, Mark Linimon <linimon@lonesome.com>
>> wrote:
>>
>> > But for me an attraction has always been "you can build it out of
>> > the box", even if I rarely do it (e.g. I am not working in the
>> > kernel/driver area),
>> >
>>
>> Can clang actually bootstrap from something like lcc? As far as I can
>> tell you need a fairly advanced C++ compiler just to build that
>> compiler in src
>> - which already needs to be installed. It's not exactly bootstrapping
>> from Bourne shell. So I'm not sure "it's self-hosting" is even true,
>> not to mention that you needed a network connection to get src in the
>> first place. Thus the whole argument strikes me as circular if not
>> outright deceptive.
>>
> what do you want to say?
>
> CLang builds on FreeBSD after installing FreeBSD either binary or from
> source. If the installation is older, it might be required to move up
> the version ladder step by step.
>
> The only problem I see is the time it take to build it. As long it is
> the choice a user has, it is part of the game.
>
> Or with your words, it is not a shell.

The argument I've been given for including clang is that doing so
makes the FreeBSD base somehow self-contained. But the fact is that
FreeBSD can't be built on anything but FreeBSD with an existing modern
C++ compiler. In order to actually bootstrap it with something less
you'd need to start by bootstrapping gcc. Beyond core pieces like the
kernel, libc, ls, and sh what constitutes an intrinsic part of "base"
is highly subjective. Very few people today would consider the results
of a buildworld a complete system. I asked JKH, a fellow former
committer, about it and his take was: "[it] is probably a by-product
of just inheriting the CSRG=E2=80=99s original topology and calling it
gospel".

The situation with the system compiler is definitely improving and
some (but not all) of the build overhead is avoided by SYSTEM_CC
checks. But since we've established that the end result of a trebled
buildworld time (for me 47 minutes with vs 15 minutes without) is
still incomplete it seems like a bit of a waste.

In any event, the external toolchain support seems to work
satisfactorily - allowing me to disconnect the otherwise redundant
clang build from buildworld in my branches.


-M



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHM0Q_MQB8kpA0i-KFZh=nw6y=tejyjVQQYH%2B474Cwr0d=vCpw>