From 6b052ef55458122880741eeb48178477b12a2faf Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 30 Oct 2022 22:27:43 +0800 Subject: toolchaintechnotes: reword the reason "cc-lfs not usable on pc" The problem is not "gcc building system doesn't know cc-lfs can run on pc", but "cc-lfs really cannot run on pc". Let's stop anyone from thinking about "why not just tell the gcc building system the fact". --- part3intro/toolchaintechnotes.xml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'part3intro/toolchaintechnotes.xml') diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 39ec66cc8..db3945284 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -257,11 +257,28 @@ paragraph is that cc1 is unable to build a fully functional libstdc++, but this is the only compiler available for building the C/C++ libraries during stage 2. Of course, the compiler built by stage 2, cc-lfs, - would be able to build those libraries, but (1) the build system of - gcc does not know cc-lfs can run on pc, and (2) using cc-lfs on pc - would create a risk of linking to the pc libraries, since cc-lfs is a native - compiler. So we have to re-build libstdc++ later as a part of - gcc stage 2. + would be able to build those libraries, but: + + + + + Generally cc-lfs cannot run on pc (the host distro). Despite the + triplets of pc and lfs are compatible to each other, an executable + for lfs will depend on glibc-&glibc-version; while the host distro + may utilizes a different libc implementation (for example, musl) or + a previous release of glibc (for example, glibc-2.13). + + + + + Even if cc-lfs happens to run on pc, using it on pc would create + a risk of linking to the pc libraries, since cc-lfs is a native + compiler. + + + + + So we have to re-build libstdc++ later as a part of gcc stage 2. In &ch-final; (or stage 3), all the packages needed for the LFS system are built. Even if a package has already been installed into -- cgit v1.2.3-54-g00ecf