From 9fec03d69f1faf9d606da1e14296c8d1b681a5ec Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 6 May 2022 20:13:24 +0800 Subject: [PATCH 01/16] gcc-12: update tarball stat --- packages.ent | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages.ent b/packages.ent index e1cb66f5b..787222f8d 100644 --- a/packages.ent +++ b/packages.ent @@ -217,11 +217,11 @@ - - + + - - + + From e1d233c8afe5d54998160df8d03c78f4f4179a12 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 6 May 2022 20:31:01 +0800 Subject: [PATCH 02/16] gcc-12: remove --enable-initfini-array in pass 1 Reference: https://gcc.gnu.org/r12-1328 --- chapter05/gcc-pass1.xml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index 32ace456a..34ad1b15e 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -87,7 +87,6 @@ cd build --with-sysroot=$LFS \ --with-newlib \ --without-headers \ - --enable-initfini-array \ --disable-nls \ --disable-shared \ --disable-multilib \ @@ -133,15 +132,6 @@ cd build - - --enable-initfini-array - - This switch forces the use of some internal data structures - that are needed but cannot be detected when building a cross - compiler. - - - --disable-shared From d70e621d8eaf1ddb8aa691a93208d5ed5b12d353 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 6 May 2022 21:10:44 +0800 Subject: [PATCH 03/16] gcc-12: remove unneeded sed for PR100017 in pass 2 Reference: https://gcc.gnu.org/r12-6406 --- chapter06/gcc-pass2.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index d76b9d9af..ef2eff517 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -63,12 +63,6 @@ mv -v mpc-&mpc-version; mpc ;; esac - - Fix an issue causing failure cross-compiling libstdc++: - -sed 's/gnu++17/& -nostdinc++/' \ - -i libstdc++-v3/src/c++17/Makefile.in - Override the building rule of libgcc and libstdc++ headers, to allow building these libraries with POSIX threads support: From bd08757bab85e531226ce93265537a443b75928c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 6 May 2022 23:38:00 +0800 Subject: [PATCH 04/16] gcc-12: remove unnecessary workaround for PR91085 Reference: https://gcc.gnu.org/r12-1924 --- chapter08/gcc.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index 5bf97ea43..4a43c57ca 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -153,11 +153,9 @@ su tester -c "PATH=$PATH make -k check" is not enabled in the kernel even though it is present on the CPU. - - Install the package and remove an unneeded directory: + Install the package: -make install -rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/ +make install The GCC build directory is owned by tester now and the ownership of the installed header From f2875c3780ce9e91be7dcde12ea4cc26b13238a8 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 7 May 2022 01:51:07 +0800 Subject: [PATCH 05/16] gcc-12: bump libstdc++.so version libstdc++.so.6.0.29 to 6.0.30. The versions of other GCC runtime libraries are not bumped. --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 787222f8d..61ed6b132 100644 --- a/packages.ent +++ b/packages.ent @@ -230,7 +230,7 @@ - + From 6edc3b46e0efc37e608330ac6e61091b94098c55 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 7 May 2022 05:18:22 +0800 Subject: [PATCH 06/16] gcc-12: update test status The analyzer tests fixed at https://gcc.gnu.org/r12-7119. The PR100400 status is discussed in the thread started with https://gcc.gnu.org/pipermail/gcc-patches/2022-May/593931.html. --- chapter08/gcc.xml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index 4a43c57ca..0571d3df9 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -132,12 +132,9 @@ su tester -c "PATH=$PATH make -k check" url="&test-results;"/> and . - - Eight tests related to analyzer are known to fail. - - In libstdc++, one numpunct test and six tests related to get_time are - known to fail. These are all because the locale definitions in glibc have - changed but libstdc++ does not currently support those changes. + In g++, four tests related to PR100400 are known to be reported + as both XPASS and FAIL. It's because the test file for this known issue + is not well written. A few unexpected failures cannot always be avoided. The GCC developers are usually aware of these issues, but have not resolved them yet. From b0b37b68526c814b4406220e4d4aea17c5ed672d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 7 May 2022 12:25:47 +0800 Subject: [PATCH 07/16] procps: update testsuite status --- chapter08/procps.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 5a32b31b8..d28ac7820 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -83,8 +83,15 @@ make check make check - Five tests related to pkill are known to fail due to a problem - with tests that were not updated. + + One test named FAIL: free with commit + may fail if some applications with a custom memory allocator (for + example, JVM and Web browsers) is running on the host distro. Install the package: From 0341ecc6cc7e45918ad213a2a4b7558ce8101d5a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 7 May 2022 12:43:46 +0800 Subject: [PATCH 08/16] util-linux: remove unnecessary test workaround According to upstream, this issue is fixed: https://github.com/util-linux/util-linux/issues/1635. Also tested by Pierre and me. --- chapter08/util-linux.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index d90936b78..d659666db 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -97,14 +97,6 @@ bash tests/run.sh --srcdir=$PWD --builddir=$PWD - There is one test that fails in the chroot environment and - causes the tests to hang forever. The problem does not occur outside - of the chroot environment. - To work around the problem, delete the test: - - rm tests/ts/lsns/ioctl_ns - - chown -Rv tester . su tester -c "make -k check" From 17215e66cc42e8d3b369a3aca08a3f204aab6eee Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 7 May 2022 21:01:10 +0800 Subject: [PATCH 09/16] update to bc-5.2.5 --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 61ed6b132..f9c48b967 100644 --- a/packages.ent +++ b/packages.ent @@ -58,10 +58,10 @@ - + - + From 5ea0739a8ca74d84b74218f4d3026f2f09584d5e Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 8 May 2022 14:54:03 +0800 Subject: [PATCH 10/16] gcc-12: update gcc building stats The other stats have not changed significantly (usually only +/- 0.1 SBU). By the way, the changes for gcc-pass2 also include the change from merging libstdc++-pass2 into gcc-pass2. --- packages.ent | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages.ent b/packages.ent index f9c48b967..ac7a1b1fe 100644 --- a/packages.ent +++ b/packages.ent @@ -223,12 +223,12 @@ - + - - - - + + + + From 80760d4ed1eefa6d87a1568e67ddc3c6fb26ab3c Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sun, 8 May 2022 09:07:14 +0200 Subject: [PATCH 11/16] Minor grammar fix --- chapter08/procps.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index d28ac7820..43a3ae375 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -91,7 +91,7 @@ make check I'll make a report to upstream anyway. --> One test named FAIL: free with commit may fail if some applications with a custom memory allocator (for - example, JVM and Web browsers) is running on the host distro. + example, JVM and Web browsers) are running on the host distro. Install the package: From ed2bec7dd6ea58866858903c8ddd023babbad675 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 9 May 2022 16:20:05 +0800 Subject: [PATCH 12/16] kernel: disable CONFIG_WERROR The help of this options says: "However, if you have a new compiler with ..., you may need to disable this config option in order to successfully build the kernel." As we are having state-of-art GCC-12, and Linux-5.18 release candidate FTBFS with GCC-12 and CONFIG_WERROR=y [1], and the kernel developers are making stupid and meaningless discussion instead of fixing the building failure [2], I don't think enabling this option makes any sense building LFS. [1]:https://lkml.org/lkml/2022/4/14/1676 [2]:https://lkml.org/lkml/2022/4/21/254 --- chapter10/kernel.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index f1469f0b4..1bf8b112e 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -106,6 +106,7 @@ not work correctly or boot at all: General setup --> + [ ] Compile the kernel with warnings as errors [CONFIG_WERROR] < > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS] Device Drivers ---> Graphics support ---> @@ -117,6 +118,7 @@ Device Drivers ---> [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs [CONFIG_DEVTMPFS_MOUNT] General setup --> + [ ] Compile the kernel with warnings as errors [CONFIG_WERROR] [ ] Auditing Support [CONFIG_AUDIT] CPU/Task time and stats accounting ---> [*] Pressure stall information tracking [CONFIG_PSI] @@ -171,6 +173,19 @@ File systems ---> The rationale for the above configuration items: + + + + Compile the kernel with warnings as errors + + + + This may cause building failure if the compiler and/or + configuration are different from those of the kernel + developers. + + + From 748429cef5456554627ffecc6b0f60a8d584070c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 2 May 2022 15:08:43 +0800 Subject: [PATCH 13/16] fix a typo in changelog, again --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index eb1debc6a..85dfc2f36 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -54,7 +54,7 @@ 2022-05-01 - [bdubbs] - Change nobody/nogroup uid/git to 65534. + [bdubbs] - Change nobody/nogroup uid/gid to 65534. [bdubbs] - Update to meson-0.62.1. Fixes From 3d722b94dc186e70937053c47c368102a7902d61 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 9 May 2022 22:28:48 +0800 Subject: [PATCH 14/16] procps: fix typo How did I copied "FAIL:" along with the test name? :( --- chapter08/procps.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 43a3ae375..a78f7fa90 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -89,7 +89,7 @@ make check But the "used" value is from "Committed_AS" in the same file, which is the total commited virtual memory space of all processes. I'll make a report to upstream anyway. --> - One test named FAIL: free with commit + One test named free with commit may fail if some applications with a custom memory allocator (for example, JVM and Web browsers) are running on the host distro. From 1b491eb061f195bdd61a8778196f3b9bbc66863d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 10 May 2022 17:05:42 -0500 Subject: [PATCH 15/16] Rename run level 2 --- chapter09/introduction.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter09/introduction.xml b/chapter09/introduction.xml index 7bd2219fc..d2a0c7435 100644 --- a/chapter09/introduction.xml +++ b/chapter09/introduction.xml @@ -35,7 +35,7 @@ 0 — halt 1 — Single user mode -2 — Multiuser, without networking +2 — User definable 3 — Full multiuser mode 4 — User definable 5 — Full multiuser mode with display manager From 59d5489ff8e54b251cf1bbc8ceb5dd18bb809278 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Wed, 11 May 2022 05:56:30 +0200 Subject: [PATCH 16/16] Make clear that run-level definitions are for LFS --- chapter09/introduction.xml | 2 +- chapter09/usage.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter09/introduction.xml b/chapter09/introduction.xml index d2a0c7435..da5ffe67c 100644 --- a/chapter09/introduction.xml +++ b/chapter09/introduction.xml @@ -31,7 +31,7 @@ The init program is controlled by the /etc/inittab file and is organized into run levels that - can be run by the user: + can be run by the user. In LFS, they are used as follows: 0 — halt 1 — Single user mode diff --git a/chapter09/usage.xml b/chapter09/usage.xml index a1c098cae..2c6529e14 100644 --- a/chapter09/usage.xml +++ b/chapter09/usage.xml @@ -31,7 +31,7 @@ generally not used. See init(8) for more details), and each one of those corresponds to the actions the computer is supposed to perform when it starts up. The default run-level is 3. Here are the - descriptions of the different run-levels as they are implemented: + descriptions of the different run-levels as they are implemented in LFS: 0: halt the computer 1: single-user mode