diff --git a/chapter05/adjusting.xml b/chapter05/adjusting.xml
index 1f18d7cb2..468241652 100644
--- a/chapter05/adjusting.xml
+++ b/chapter05/adjusting.xml
@@ -20,7 +20,7 @@ the binutils-build directory:
make -C ld install
From this point onwards everything will link only
-against the libraries in /tools/lib.
+against the libraries in /tools/lib.
If you somehow missed the earlier warning to retain the Binutils
source and build directories from the first pass or otherwise accidentally
@@ -77,7 +77,7 @@ readelf -l a.out | grep ': /tools'
output of the last command will be (allowing for platform specific differences
in dynamic linker name):
-[Requesting program interpreter: /tools/lib/ld-linux.so.2]
+[Requesting program interpreter: /tools/lib/ld-linux.so.2]
Note especially that /tools/lib
appears as the prefix of our dynamic linker.
diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml
index b68d93fec..ae00bdc3d 100644
--- a/chapter05/binutils-pass1.xml
+++ b/chapter05/binutils-pass1.xml
@@ -32,8 +32,8 @@ because both Glibc and GCC perform various tests on the available linker and
assembler to determine which of their own features to enable.
This package is known to behave badly when you change its default
-optimization flags (including the -march and
--mcpu options). Therefore, if you have defined any
+optimization flags (including the -march and
+-mcpu options). Therefore, if you have defined any
environment variables that override default optimizations, such as CFLAGS and
CXXFLAGS, we recommend un-setting them when building Binutils.
@@ -58,13 +58,13 @@ like this: time { ./configure ... && ... && ...
---prefix=/tools
+--prefix=/tools
This tells the configure script to prepare to install the Binutils
-programs in the /tools directory.
+programs in the /tools directory.
---disable-nls
+--disable-nls
This disables internationalization (a word often shortened to
i18n). We don't need this for our static programs and nls
often causes problems when linking statically.
@@ -80,18 +80,18 @@ make LDFLAGS="-all-static"
-configure-host
+configure-host
This forces all the subdirectories to be configured immediately.
A statically linked build will fail without it. We therefore use this option to work
around the problem.
-LDFLAGS="-all-static"
+LDFLAGS="-all-static"
This tells the linker that all the Binutils programs should be
-linked statically. However, strictly speaking, "-all-static"
+linked statically. However, strictly speaking, "-all-static"
is passed to the libtool program, which then passes
-"-static" to the linker.
+"-static" to the linker.
@@ -114,14 +114,14 @@ make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib
--C ld clean
+-C ld clean
This tells the make program to remove all the compiled files
in the ld subdirectory.
--C ld LDFLAGS="-all-static"
-LIB_PATH=/tools/lib
+-C ld LDFLAGS="-all-static"
+LIB_PATH=/tools/lib
This option rebuilds everything in the
ld subdirectory. Specifying the LIB_PATH
makefile variable on the command line allows us to override the default value
diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml
index 584fd4513..7eb1cf670 100644
--- a/chapter05/binutils-pass2.xml
+++ b/chapter05/binutils-pass2.xml
@@ -38,9 +38,9 @@ cd ../binutils-build
---with-lib-path=/tools/lib
+--with-lib-path=/tools/lib
This tells the configure script to specify the library search path
-during the compilation of Binutils, resulting in /tools/lib
+during the compilation of Binutils, resulting in /tools/lib
to be passed to the linker. This prevents the linker from searching through library
directories on the host.
@@ -63,9 +63,9 @@ will do so:
Except for a few known failures, the binutils tests should all pass. The
exceptions to this rule are as follows:
-* 5 FAIL (unexpected failure) for visibility
+* 5 FAIL (unexpected failure) for visibility
* 1 FAIL for selective4
-* 1 FAIL for selective5
+* 1 FAIL for selective5
@@ -82,7 +82,7 @@ to spot. The output shown will contain something like:
make install
-Now prepare the linker for the "Re-adjusting" phase in the next
+Now prepare the linker for the Re-adjusting
phase in the next
chapter:
make -C ld clean
diff --git a/chapter05/coreutils.xml b/chapter05/coreutils.xml
index f00f4e1ba..efc9e8ba7 100644
--- a/chapter05/coreutils.xml
+++ b/chapter05/coreutils.xml
@@ -31,17 +31,17 @@
DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools
-This package has an issue when compiled against versions of glibc
+This package has an issue when compiled against versions of Glibc
later than 2.3.2. Some of the Coreutils utilities (such as
(head, tail and sort)
will reject their traditional syntax, a syntax that has been in use for
approximately 30 years. This old syntax is so pervasive that compatibility
should be preserved until the many places where it is used can be
updated. Backwards compatibility is achieved by setting the
-DEFAULT_POSIX2_VERSION environment variable to "199209" in the above
-command. If you don't want coreutils to be backwards compatible
+DEFAULT_POSIX2_VERSION environment variable to 199209
in the above
+command. If you don't want coreutils to be backwards compatible
with the traditional syntax, then simply omit setting the DEFAULT_POSIX2_VERSION
-environment variable. Realise though, that doing so will mean you'll have
+environment variable. Realise though, that doing so will mean you'll have
to deal with the consequences yourself: patch the many packages that still use
the old syntax. We therefore recommend using the instructions exactly as given
above.
@@ -52,7 +52,7 @@ above.
(If you insist on testing the results, then issue:
make RUN_EXPENSIVE_TESTS=yes check. The
-RUN_EXPENSIVE_TESTS=yes parameter tells the test suite to
+RUN_EXPENSIVE_TESTS=yes parameter tells the test suite to
run several additional tests that are considered relatively expensive on some
platforms but generally are not a problem on Linux.)
diff --git a/chapter05/dejagnu.xml b/chapter05/dejagnu.xml
index 8b156af1c..969eb36db 100644
--- a/chapter05/dejagnu.xml
+++ b/chapter05/dejagnu.xml
@@ -53,7 +53,7 @@ GCC, Glibc, Grep, Make, Sed
runtest
is the wrapper script that finds the proper
-expect shell and then runs DejaGnu.
+expect shell and then runs DejaGnu.
diff --git a/chapter05/expect.xml b/chapter05/expect.xml
index fa50bd726..274ab0767 100644
--- a/chapter05/expect.xml
+++ b/chapter05/expect.xml
@@ -42,7 +42,7 @@ suite run:
---with-tcl=/tools/lib
+--with-tcl=/tools/lib
This ensures that
the configure script finds the Tcl installation in our temporary tools location.
We don't want it to find an existing one that may possibly reside on the host
@@ -50,7 +50,7 @@ system.
---with-x=no
+--with-x=no
This tells the configure
script not to search for Tk (the Tcl GUI component) or the X Window System
libraries, both of which may possibly reside on the host system.
@@ -75,7 +75,7 @@ considered critical.)
-SCRIPTS=""
+SCRIPTS=""
This prevents installation
of the supplementary expect scripts which are not needed.
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 21f71878e..3f43d67bf 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -31,8 +31,8 @@
nor the test suite here.
This package is known to behave badly when you change its default
-optimization flags (including the -march and
--mcpu options). Therefore, if you have defined any
+optimization flags (including the -march and
+-mcpu options). Therefore, if you have defined any
environment variables that override default optimizations, such as CFLAGS and
CXXFLAGS, we recommend un-setting them when building GCC.
@@ -52,27 +52,27 @@ cd ../gcc-build
---with-local-prefix=/tools
-The purpose of this switch is to remove /usr/local/include
+--with-local-prefix=/tools
+The purpose of this switch is to remove /usr/local/include
from gcc's include search path. This is not absolutely
essential; however, we want to try to minimize the influence of the host
system, so this a sensible thing to do.
---enable-shared
+--enable-shared
This switch may
seem counter-intuitive at first. But using it allows the building of
libgcc_s.so.1 and libgcc_eh.a, and
having libgcc_eh.a available ensures that the configure
script for Glibc (the next package we compile) produces the proper results.
-Note that the gcc binaries will still be linked
-statically, as this is controlled by the -static
+Note that the GCC binaries will still be linked
+statically, as this is controlled by the -static
value of BOOT_LDFLAGS in the next step.
---enable-languages=c
+--enable-languages=c
This option
ensures that only the C compiler is built. The option is only needed when you
have downloaded and unpacked the full GCC tarball.
@@ -87,12 +87,12 @@ have downloaded and unpacked the full GCC tarball.
-BOOT_LDFLAGS="-static"
+BOOT_LDFLAGS="-static"
This tells GCC to link its programs statically.
-bootstrap
+bootstrap
This target doesn't just
compile GCC, but compiles it several times. It uses the programs compiled in
a first round to compile itself a second time, and then again a third time.
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index a9e08a20b..7b5130376 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -30,14 +30,14 @@ them against the new Glibc, and test them properly (if running the test suites
in this chapter). One thing to note, however, is that these test suites are
highly dependent on properly functioning pseudo terminals (PTYs) which are
provided by your host. These days, PTYs are most commonly implemented via the
-devpts file system. You can quickly check if your host
+devpts file system. You can quickly check if your host
system is set up correctly in this regard by performing a simple test:
expect -c "spawn ls"
The response might be:
-The system has no more ptys. Ask your system administrator to create more.
+The system has no more ptys. Ask your system administrator to create more.
If you receive the above message, your host doesn't have its PTYs set up
properly. In this case there is no point in running the test suites for GCC
@@ -48,17 +48,17 @@ working.
This time we will build both the C and the C++ compilers, so you'll have
to unpack both the core and the g++ tarballs (and testsuite too, if you want to
run the tests). Unpacking them in your working directory, they will all unfold
-into a single gcc-&gcc-version;/ subdirectory.
+into a single gcc-&gcc-version;/ subdirectory.
First correct a problem and make an essential adjustment:
patch -Np1 -i ../gcc-&gcc-short-version;-no-fixincludes-1.patch
patch -Np1 -i ../gcc-&gcc-short-version;-specs-1.patch
-The first patch disables the GCC fixincludes
script. We
+The first patch disables the GCC fixincludes script. We
mentioned this briefly earlier, but a slightly more in-depth explanation of
the fixincludes process is warranted here. Under normal circumstances, the GCC
-fixincludes script scans your system for header files that need to be fixed. It
+fixincludes script scans your system for header files that need to be fixed. It
might find that some Glibc header files on your host system need to be fixed,
fix them and put them in the GCC private include directory. Then, later on in
, after we've installed the newer
@@ -98,7 +98,7 @@ variables that override the default optimization flags.
---enable-clocale=gnu
+--enable-clocale=gnu
This option
ensures the correct locale model is selected for the C++ libraries under all
circumstances. If the configure script finds the de_DE
@@ -109,13 +109,13 @@ would run the risk of building ABI incompatible C++ libraries due to the wrong
---enable-threads=posix
+--enable-threads=posix
This enables
C++ exception handling for multi-threaded code.
---enable-__cxa_atexit
+--enable-__cxa_atexit
This option
allows use of __cxa_atexit, rather than atexit, to register C++ destructors for
local statics and global objects and is essential for fully standards-compliant
@@ -125,13 +125,13 @@ distributions.
---enable-languages=c,c++
+--enable-languages=c,c++
This option
ensures that both the C and C++ compilers are built.
---disable-libstdcxx-pch
+--disable-libstdcxx-pch
Don't build the
PCH (pre-compiled header) for libstdc++. It takes up a ton of space, and we
have no use for it.
@@ -142,7 +142,7 @@ have no use for it.
make
-There is no need to use the bootstrap target now,
+There is no need to use the bootstrap target now,
as the compiler we're using to compile this GCC was built from the exact same
version of the GCC sources we used earlier.
@@ -153,7 +153,7 @@ so:
make -k check
-The -k flag is used to make the test suite run
+The -k flag is used to make the test suite run
through to completion and not stop at the first failure. The GCC test suite is
very comprehensive and is almost guaranteed to generate a few failures. To get
a summary of the test suite results, run this:
diff --git a/chapter05/gettext.xml b/chapter05/gettext.xml
index 6eb398cf8..b2174d8f8 100644
--- a/chapter05/gettext.xml
+++ b/chapter05/gettext.xml
@@ -36,15 +36,15 @@
---disable-libasprintf
+--disable-libasprintf
This flag tells
-Gettext that we don't want its asprintf library. Nothing in Chapter 5 or 6
-requires this, and gettext gets rebuilt later, so we exclude it to save
+Gettext that we don't want its asprintf library. Nothing in this chapter or the next
+requires this, and Gettext gets rebuilt later, so we exclude it to save
time/space.
---disable-csharp
+--disable-csharp
Gettext has a nasty
habit of searching for a C# compiler on the host, and building bindings for it.
We've already locked
ourselves into the temporary tools though,
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index d32b00034..df76dfa1d 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -28,8 +28,8 @@
Installation of Glibc
This package is known to behave badly when you change its default
-optimization flags (including the -march and
--mcpu options). Therefore, if you have defined any
+optimization flags (including the -march and
+-mcpu options). Therefore, if you have defined any
environment variables that override default optimizations, such as CFLAGS and
CXXFLAGS, we recommend un-setting them when building Glibc.
@@ -53,40 +53,40 @@ cd ../glibc-build
---disable-profile
+--disable-profile
This builds the
libraries without profiling information. Omit this option if you plan to do
profiling on the temporary tools.
---enable-add-ons=nptl
+--enable-add-ons=nptl
This tells Glibc to use the NPTL add-on as its threading
library.
---with-tls
+--with-tls
This tells Glibc to include support for TLS (thread-local storage).
This is required for NPTL to work.
---with-binutils=/tools/bin
+--with-binutils=/tools/bin
Strictly speaking this switch is not required. But it does ensure
nothing can go wrong with regard to what Binutils programs get used during the
Glibc build.
---without-gd
+--without-gd
This prevents the build of the memusagestat
program, which strangely enough insists on linking against the host's libraries
(libgd, libpng, libz, and so forth).
---without-cvs
+--without-cvs
This is meant to prevent
the Makefiles from attempting automatic CVS checkouts when using a CVS
snapshot. But it's not actually needed these days. We use it because it
@@ -95,7 +95,7 @@ suppresses an annoying but harmless warning about a missing
---with-headers=/tools/glibc-kernheaders
+--with-headers=/tools/glibc-kernheaders
This tells Glibc to compile against the raw
kernel headers, so that it knows exactly what features the kernel has, and can
optimize itself accordingly. Not strictly necessary, but nice to have.
@@ -104,10 +104,10 @@ optimize itself accordingly. Not strictly necessary, but nice to have.
During this stage you might see the following warning:
-configure: WARNING:
+configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt
*** some features will be disabled.
-*** Check the INSTALL file for required versions.
+*** Check the INSTALL file for required versions.
The missing or incompatible msgfmt program is
generally harmless, but it's believed it can sometimes cause problems when
@@ -142,12 +142,12 @@ Certain optimization settings are also known to be a factor here.
The atime test sometimes fails when the
-LFS partition is mounted with the noatime option, or due
+LFS partition is mounted with the noatime option, or due
to other file system quirks.
The shm test might fail when the host
-system is running the devfs file system but doesn't have the tmpfs file system
-mounted at /dev/shm due to lack of support for tmpfs in
+system is running the devfs file system but doesn't have the tmpfs file system
+mounted at /dev/shm due to lack of support for tmpfs in
the kernel.
When running on older and slower hardware, some tests might
diff --git a/chapter05/grep.xml b/chapter05/grep.xml
index 0a357a6eb..92d2c2337 100644
--- a/chapter05/grep.xml
+++ b/chapter05/grep.xml
@@ -36,14 +36,14 @@
---disable-perl-regexp
+--disable-perl-regexp
This makes sure that grep does not
get linked against a PCRE library that may be present on the host and would not be
available once we enter the chroot environment.
---with-included-regex
+--with-included-regex
This ensures that
Grep uses its internal regular expression code. Without this switch, Grep will
use the code from Glibc, which is known to be slightly buggy.
diff --git a/chapter05/hostreqs.xml b/chapter05/hostreqs.xml
index 9d7853d45..cf90d3e9a 100644
--- a/chapter05/hostreqs.xml
+++ b/chapter05/hostreqs.xml
@@ -10,7 +10,7 @@
Due to the experimental nature of the current book, the host must be
running at least a 2.6.2 kernel. The reasons for this high
requirement is the use of NPTL, but more importantly the use of udev. Udev
-creates devices dynamically by reading from the sysfs file system. Only very
+creates devices dynamically by reading from the sysfs file system. Only very
recently has support for this file system been implemented in most of the kernel
drivers, however. We must be sure that all the critical system devices get
created properly.
diff --git a/chapter05/kernel-headers.xml b/chapter05/kernel-headers.xml
index c7b030b90..d18ac0020 100644
--- a/chapter05/kernel-headers.xml
+++ b/chapter05/kernel-headers.xml
@@ -41,7 +41,7 @@ un-tarring.
make include/linux/version.h
-Create the platform-specific include/asm
+Create the platform-specific include/asm
symlink:
make include/asm
diff --git a/chapter05/linux-libc-headers.xml b/chapter05/linux-libc-headers.xml
index 31f1b2b20..a74ce26e3 100644
--- a/chapter05/linux-libc-headers.xml
+++ b/chapter05/linux-libc-headers.xml
@@ -25,7 +25,7 @@
Installation of Linux-Libc-Headers
For years it has been common practice to use so-called raw
-kernel headers (straight from a kernel tarball) in /usr/include, but over the
+kernel headers (straight from a kernel tarball) in /usr/include, but over the
last few years, the kernel developers have taken a strong stance that such
things should not be done. Thus was born the linux-libc-headers project,
designed to maintain an API stable version of the Linux headers.
diff --git a/chapter05/ncurses.xml b/chapter05/ncurses.xml
index de27b3b3f..9bc86e181 100644
--- a/chapter05/ncurses.xml
+++ b/chapter05/ncurses.xml
@@ -36,7 +36,7 @@
---without-ada
+--without-ada
This tells Ncurses not
to build its Ada bindings, even if an Ada compiler is installed on the host.
This must be done because once we enter the chroot environment, Ada will no
@@ -44,7 +44,7 @@ longer be available.
---enable-overwrite
+--enable-overwrite
This tells Ncurses to install its header files into
/tools/include instead of
/tools/include/ncurses to ensure that
diff --git a/chapter05/patch.xml b/chapter05/patch.xml
index 8462d3b50..6f7fa5746 100644
--- a/chapter05/patch.xml
+++ b/chapter05/patch.xml
@@ -28,7 +28,7 @@
Installation of Patch
Prepare Patch for compilation (the preprocessor flag
--D_GNU_SOURCE is only needed on the PowerPC platform, on
+-D_GNU_SOURCE is only needed on the PowerPC platform, on
other architectures you can leave it out):
CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools
diff --git a/chapter05/perl.xml b/chapter05/perl.xml
index 5038d25bc..c0de05a45 100644
--- a/chapter05/perl.xml
+++ b/chapter05/perl.xml
@@ -40,7 +40,7 @@ right, they are all letters):
--Dstatic_ext='IO Fcntl POSIX'
+-Dstatic_ext='IO Fcntl POSIX'
This tells
Perl to build the minimum set of static extensions needed for installing and
testing the Coreutils package in the next chapter.
diff --git a/chapter05/stripping.xml b/chapter05/stripping.xml
index d5fbd8280..935f848e6 100644
--- a/chapter05/stripping.xml
+++ b/chapter05/stripping.xml
@@ -20,7 +20,7 @@ that it doesn't recognize their file format. Most of them are scripts instead
of binaries.
Take care not to use
---strip-unneeded on the libraries -- the static ones
+--strip-unneeded on the libraries -- the static ones
would be destroyed and you would have to build the three toolchain packages
all over again.
diff --git a/chapter05/tcl.xml b/chapter05/tcl.xml
index 4c2cf7b83..171bbcdc9 100644
--- a/chapter05/tcl.xml
+++ b/chapter05/tcl.xml
@@ -50,7 +50,7 @@ chapter.
TZ=UTC make test. However, the Tcl test suite is known
to experience failures under certain host conditions that are not fully
understood. Therefore, test suite failures here are not surprising, and are not
-considered critical. The TZ=UTC parameter sets the time
+considered critical. The TZ=UTC parameter sets the time
zone to Coordinated Universal Time (UTC) also known as Greenwich Mean Time
(GMT), but only for the duration of the test suite run. This ensures the clock
tests are exercised correctly. More information on the TZ environment variable
@@ -61,7 +61,7 @@ will be given later on in .
make install
Do not remove the
-tcl&tcl-version; source directory yet, as the next package
+tcl&tcl-version; source directory yet, as the next package
will need its internal headers.
Now make a necessary symbolic link:
diff --git a/chapter05/toolchaintechnotes.xml b/chapter05/toolchaintechnotes.xml
index d9ea431d6..666e181e2 100644
--- a/chapter05/toolchaintechnotes.xml
+++ b/chapter05/toolchaintechnotes.xml
@@ -27,19 +27,19 @@ words, more advanced techniques could be used to build the system.
platform, often also referred to as the target triplet. For
many folks the target triplet will probably be
i686-pc-linux-gnu. A simple way to determine your target
-triplet is to run the config.guess script that comes with
+triplet is to run the config.guess script that comes with
the source for many packages. Unpack the Binutils sources and run the script:
./config.guess and note the output.
You'll also need to be aware of the name of your platform's
dynamic linker, often also referred to as the
dynamic loader, not to be confused with the standard linker
-ld that is part of Binutils. The dynamic linker is provided
+ld that is part of Binutils. The dynamic linker is provided
by Glibc and has the job of finding and loading the shared libraries needed by a
program, preparing the program to run and then running it. For most folks the
-name of the dynamic linker will be ld-linux.so.2. On
+name of the dynamic linker will be ld-linux.so.2. On
platforms that are less prevalent, the name might be
-ld.so.1 and newer 64 bit platforms might even have
+ld.so.1 and newer 64 bit platforms might even have
something completely different. You should be able to determine the name
of your platform's dynamic linker by looking in the
/lib directory on your host system. A
@@ -63,7 +63,7 @@ path to ensure programs are linked only against libraries we
choose.
Careful manipulation of gcc's
-specs file to tell the compiler which target dynamic
+specs file to tell the compiler which target dynamic
linker will be used.
@@ -81,29 +81,29 @@ much time is wasted.
/tools/$TARGET_TRIPLET/bin. In reality,
the tools in one location are hard linked to the other. An important facet of
the linker is its library search order. Detailed information can be obtained
-from ld by passing it the --verbose
+from ld by passing it the --verbose
flag. For example: ld --verbose | grep SEARCH will
show you the current search paths and their order. You can see what files are
actually linked by ld by compiling a dummy program and
-passing the --verbose switch to the linker. For example:
-gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded
+passing the --verbose switch to the linker. For example:
+gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded
will show you all the files successfully opened during the linking.
The next package installed is GCC and during its run of
./configure you'll see, for example:
-checking what assembler to use... /tools/i686-pc-linux-gnu/bin/as
-checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld
+checking what assembler to use... /tools/i686-pc-linux-gnu/bin/as
+checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld
This is important for the reasons mentioned above. It also demonstrates
that GCC's configure script does not search the PATH directories to find which
tools to use. However, during the actual operation of gcc
itself, the same search paths are not necessarily used. You can find out which
standard linker gcc will use by running:
-gcc -print-prog-name=ld.
+gcc -print-prog-name=ld.
Detailed information can be obtained from gcc by passing
-it the -v flag while compiling a dummy program. For
-example: gcc -v dummy.c will show you detailed
+it the -v flag while compiling a dummy program. For
+example: gcc -v dummy.c will show you detailed
information about the preprocessor, compilation and assembly stages, including
gcc's include search paths and their order.
@@ -117,15 +117,15 @@ switches to enforce the correct selections. After the run of
config.make file in the
glibc-build directory for all the
important details. You'll note some interesting items like the use of
-CC="gcc -B/tools/bin/" to control which binary tools are
-used, and also the use of the -nostdinc and
--isystem flags to control the compiler's include search
+CC="gcc -B/tools/bin/" to control which binary tools are
+used, and also the use of the -nostdinc and
+-isystem flags to control the compiler's include search
path. These items help to highlight an important aspect of the Glibc package:
it is very self-sufficient in terms of its build machinery and generally does
not rely on toolchain defaults.
After the Glibc installation, we make some adjustments to ensure that
-searching and linking take place only within our /tools
+searching and linking take place only within our /tools
prefix. We install an adjusted ld, which has a hard-wired
search path limited to /tools/lib. Then
we amend gcc's specs file to point to our new dynamic
@@ -133,7 +133,7 @@ linker in /tools/lib. This last step is
vital to the whole process. As mentioned above, a
hard-wired path to a dynamic linker is embedded into every ELF shared
executable. You can inspect this by running:
-readelf -l <name of binary> | grep interpreter.
+readelf -l <name of binary> | grep interpreter.
By amending gcc's specs file, we are ensuring that every
program compiled from here through the end of this chapter will use our new
dynamic linker in /tools/lib.
@@ -145,7 +145,7 @@ programs themselves having the name of the dynamic linker from the host system's
would defeat our goal of getting away from the host.
During the second pass of Binutils, we are able to utilize the
---with-lib-path configure switch to control
+--with-lib-path configure switch to control
ld's library search path. From this point onwards, the
core toolchain is self-contained and self-hosted. The remainder of the
packages all build against the new Glibc in
diff --git a/chapter05/udev.xml b/chapter05/udev.xml
index 9df6d5bde..5b38a2baf 100644
--- a/chapter05/udev.xml
+++ b/chapter05/udev.xml
@@ -36,8 +36,7 @@ being owned by user root, group root, and only accessible to root. As you
can easily imagine, this isn't ideal. Give it a much better configuration
by applying the following patch:
-patch -Np1 -i ../udev-&udev-version;-config-2.patch
-
+patch -Np1 -i ../udev-&udev-version;-config-2.patch
The udevstart program hardcodes the path to the udev program in itself,
which is bad since we install udev in a non-standard location. Fix this by
diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml
index a04ca972e..2828dc629 100644
--- a/chapter05/util-linux.xml
+++ b/chapter05/util-linux.xml
@@ -33,7 +33,7 @@ by applying the following patch:
patch -Np1 -i ../util-linux-&util-linux-version;-kernel-headers-1.patch
Util-linux doesn't use the freshly installed headers and libraries
-from the /tools directory. This is fixed by altering the configure
+from the /tools directory. This is fixed by altering the configure
script:
sed -i "s@/usr/include@/tools/include@g" configure
diff --git a/stylesheets/lfs.css b/stylesheets/lfs.css
index 7f14275b0..44871f725 100644
--- a/stylesheets/lfs.css
+++ b/stylesheets/lfs.css
@@ -233,6 +233,7 @@ pre.userinput {
}
pre.screen {
+ color: #000;
background-color: #e9e9e9;
border: 1px solid #050505;
padding: .5em 1em;