aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2022-10-30 22:27:43 +0800
committerXi Ruoyao <xry111@xry111.site>2022-10-30 22:29:24 +0800
commit6b052ef55458122880741eeb48178477b12a2faf (patch)
tree2cd1676b4237e601adf7623ee212eb8cebc161a6
parentf6820bb618ca967b074779498540bdc862de0c64 (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.xml27
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