From 61f825108e4b153a4eb814f4dd290a65e1400b68 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 31 Oct 2022 14:50:35 +0800 Subject: toolchaintechnotes: reword the explanation about rebuild libstdc++ in gcc pass 2 --- part3intro/toolchaintechnotes.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'part3intro') diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 5698115cf..7401350d8 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -253,9 +253,9 @@ degraded), and also to build libstdc++. This last library will lack some of the functionality of libgcc. - The upshot of the preceding - 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 + The upshot of the preceding paragraph is that cc1 is unable to + build a fully functional libstdc++ with the degraded libgcc, but cc1 + 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: @@ -278,7 +278,10 @@ - So we have to re-build libstdc++ later as a part of gcc stage 2. + So when we build gcc stage 2, we instruct the building system to + rebuild libgcc and libstdc++ with cc1, but link libstdc++ to the newly + rebuilt libgcc instead of the degraded build. Then the rebuilt + libstdc++ will be fully functional. 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