RPI3 swap experiments

Mark Millard marklmi at yahoo.com
Mon Jul 23 19:42:53 UTC 2018



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? 

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 ---
===> lib/clang (obj,all,install)
--- all_subdir_lib/clang/libllvm ---
===> lib/clang/libllvm (all)
--- all_subdir_lib/clang/libclang ---
===> lib/clang/libclang (all)
--- all_subdir_lib/clang/headers ---
===> lib/clang/headers (all)
--- realinstall_subdir_lib/clang/libllvm ---
===> lib/clang/libllvm (install)
--- realinstall_subdir_lib/clang/libclang ---
===> lib/clang/libclang (install)
--- realinstall_subdir_lib/clang/headers ---
===> lib/clang/headers (install)

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


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



More information about the freebsd-arm mailing list