diff options
author | Xi Ruoyao <xry111@xry111.site> | 2022-10-30 22:27:43 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2022-10-30 22:29:24 +0800 |
commit | 6b052ef55458122880741eeb48178477b12a2faf (patch) | |
tree | 2cd1676b4237e601adf7623ee212eb8cebc161a6 | |
parent | f6820bb618ca967b074779498540bdc862de0c64 (diff) |
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".
-rw-r--r-- | part3intro/toolchaintechnotes.xml | 27 |
1 files changed, 22 insertions, 5 deletions
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.</para> + would be able to build those libraries, but:</para> + + <itemizedlist> + <listitem> + <para> + 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). + </para> + </listitem> + <listitem> + <para> + 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. + </para> + </listitem> + </itemizedlist> + + <para>So we have to re-build libstdc++ later as a part of gcc stage 2.</para> <para>In &ch-final; (or <quote>stage 3</quote>), all the packages needed for the LFS system are built. Even if a package has already been installed into |