aboutsummaryrefslogtreecommitdiffstats
path: root/part3intro/toolchaintechnotes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'part3intro/toolchaintechnotes.xml')
-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