From 8cd3ab533d7680caf60cb18d3ea2f1d639c02f04 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 27 Mar 2025 23:30:41 +0800 Subject: [PATCH] toolchaintechnotes: Typos Just found the typos translating my own words :(. --- chapter05/glibc.xml | 2 +- part3intro/toolchaintechnotes.xml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 34138e432..11d4cfce4 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -252,7 +252,7 @@ SEARCH_DIR("=/lib") SEARCH_DIR("=/usr/lib"); A 32-bit system may use a few other directories, but anyway - the important facet here is all the pathes should begin with an equal sign + the important facet here is all the paths should begin with an equal sign (=), which would be replaced with the sysroot directory that we've configured for the linker. diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 7afb2d9ac..a9af3c542 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -245,7 +245,8 @@ example, when building an utility natively, its man page can be generated by running the utility with the --help switch and processing the output, - but generally it's not possible to do so as the utility may fail + but generally it's not possible to do so for a cross-compilation + as the utility may fail to run on the build: it's obviously impossible to run ARM64 machine code on a x86 CPU (without an emulator). @@ -253,7 +254,7 @@ With an autoconf-based build system, this requirement is satisfied in the cross-compilation mode where the optional features requiring to run machine code for - the host are disabled. When the + the host during the build time are disabled. When the host triplet is explicitly specified, the cross-compilation mode is enabled if and only if either the configure script fails to run a dummy @@ -302,7 +303,7 @@ libtool, a compatibility wrapper of the compiler and the linker for autoconf-based build systems, can try to be too clever and mistakenly pass options allowing the linker - to find libraries of the host. + to find libraries of the build. To prevent this fallout, we need to delete the libtool archive (.la) files and fix up an outdated libtool copy shipped with the Binutils code. @@ -360,8 +361,7 @@ during stage 2. As we've discussed, we cannot run cc-lfs on pc (the host distro) because it may require some library, code, or data not available on the build (the host distro). - So when we build gcc stage 2, we instruct the building system to - rebuild libgcc and libstdc++ with cc1, but we also override the library + So when we build gcc stage 2, we override the library search path to link libstdc++ against the newly rebuilt libgcc instead of the old, degraded build. This makes the rebuilt libstdc++ fully functional.