In chapter 7 we do not need to unmount file systems to strip binaries.
Move unmounting to the backup/restore sections.
Also make sure the stripping commands are valid.
Without them, for example:
cp /usr/lib/libbfd.so /tmp/libbfd.so
# now /tmp/libbfd.so is a hardcopy of /usr/lib/libbfd-2.37.so
strip --strip-unneeded /tmp/libbfd.so
install -vm755 /tmp/libbfd.so /usr/lib/libbfd.so
# now /usr/lib/libbfd.so is *not* a symlink, but a real file
We don't want this to happen.
libdl and libpthread removed: they are now dummy libs and is not used by
anything built in LFS/BLFS.
Update to GCC-11.2.0 (#4883)
Update to inetutils-2.1 (#4892)
Update to automake-1.16.4 (#4894)
SHA256 checksum entities for the three packages are added. I think we
can start a transition to SHA256 now.
The behavior of --strip-unneeded and --strip-all are same for
executables and shared libraries. For static libraries,
--strip-unneeded keeps the symbols needed for relocation processing so
it won't break static archives.
Move coreutils library from /usr/libexec to /usr/lib in both
Chapter 6 and Chapter 8.
Text updates in chapter08/pkgmgt.xml and chapter09/locale.xml.
Restore deletion of hanging test in chapter08/util-linux.xml.
Text changes in stripping and make instruction compatible with jhalfs.
Glibc loads these "NSS modules" (see man 5 nss) on startup. This is
implemented with something like dlopen() so "ldd" won't show them up.
So they should be considered "online" here.
Without this addition, overwriting libnss_files-2.33.so reproducibly
triggers a crash during jhalfs runs where stripping is enabled. In
manual builds, it reproducibly triggers a crash exiting from chroot.
After this change I reran stripping 5 times and there was no crash
observed.
In stripping, /usr/bin/bash, /usr/bin/find, and /usr/bin/strip are
running. Strip them, and all libraries used by them in /tmp, then
install them back.
We can't use this for all libraries or binaries: the process above
discouples hard links (for example /usr/bin/perl and perl5.34.0). So
unfortunately the stripping instruction is now a stupidly long bash
script...
For the minimum I have used allnoconfig, rounded down to allow for
future removal of redundant items (this is unlikely to produce a
bootable kernel), with its SBU rounded down for people with fast
machiens who build on NVMe or in RAM.
For maximum and typical, space is rounded.