Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jul 2018 12:42:39 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        bob prohaska <fbsd@www.zefox.net>
Cc:        Trev <freebsd-arm@sentry.org>, freebsd-arm@freebsd.org
Subject:   Re: RPI3 swap experiments
Message-ID:  <76BCFCB9-1071-4557-9FDE-017444ADBF42@yahoo.com>
In-Reply-To: <20180723190257.GA47869@www.zefox.net>
References:  <20180630005145.GA43801@www.zefox.net> <6f3406e2-71f3-d0c2-2b65-703e1a1d3c25@sentry.org> <8e92b2b7-da61-3efb-7231-9fac76b2c1d4@sentry.org> <ba33d8a7-a849-3893-8016-0765ebe1c51f@sentry.org> <2deaaec3-f78f-0b09-5ca7-27e14c6979f9@sentry.org> <bc8da02c-4465-9634-6fd0-0af4c63aa49d@sentry.org> <20180723063526.GA45726@www.zefox.net> <AB5EE2E4-B2FD-4CA9-A993-04C2A4BE10AE@yahoo.com> <20180723155311.GB45726@www.zefox.net> <4ED9B658-A5A8-4BA6-9412-EBB7150B4B66@yahoo.com> <20180723190257.GA47869@www.zefox.net>

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


On 2018-Jul-23, at 12:02 PM, bob prohaska <fbsd at www.zefox.net> wrote:

> . . .
> Here's a point I find confusing: What is the purpose of cross tools =
when the build
> is self-hosted? Is "cross-tools" a component of bootstrap tools?=20

When clang is updated, using the existing system clang need not be
sufficient. Imagine an extreme case: the jump from clang 5 to clang 6
as the system compiler. clang 6 should be built and used to make the
new version of FreeBSD. (Think of other llvm toolchain items than
clang as well.)

Lesser updates can end up with a similar status.

Another context is, say, some 11.x building to update to a 12.x .

The temporary bootstrap compiler/toolchain is a form of "self hosted
cross-tools". (The "cross" aspect does not involve cpu architecture
but other context differences.)

(Of course there are FreeBSD architectures that still can not use clang
or the related system-llvm tool chain.)

Of:

--------------------------------------------------------------
>>> stage 1.2: bootstrap tools
--------------------------------------------------------------
. . .
--------------------------------------------------------------
>>> stage 2.3: build tools
--------------------------------------------------------------
. . .
--------------------------------------------------------------
>>> stage 3: cross tools
--------------------------------------------------------------

it is stage 3 that has the likes of, for example,

--- cross-tools ---
=3D=3D=3D> lib/clang (obj,all,install)
--- all_subdir_lib/clang/libllvm ---
=3D=3D=3D> lib/clang/libllvm (all)
--- all_subdir_lib/clang/libclang ---
=3D=3D=3D> lib/clang/libclang (all)
--- all_subdir_lib/clang/headers ---
=3D=3D=3D> lib/clang/headers (all)
--- realinstall_subdir_lib/clang/libllvm ---
=3D=3D=3D> lib/clang/libllvm (install)
--- realinstall_subdir_lib/clang/libclang ---
=3D=3D=3D> lib/clang/libclang (install)
--- realinstall_subdir_lib/clang/headers ---
=3D=3D=3D> lib/clang/headers (install)

clang 5 would build clang 6 in my example. Then clang 6 would
be used to build FreeBSD.


=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net <http://dsl-only.net/>; went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?76BCFCB9-1071-4557-9FDE-017444ADBF42>