I've had doubts on this "ulimit -s 32768" command for years. After
reading GCC code (libiberty/stack-limit.c) I'm pretty sure this command
is not doing what we expected.
In a typical Linux distro, the default "soft" stack limit is 8 MiB and
the default "hard" stack limit is infinite. And GCC will automatically
increase the soft limit to 64 MiB if the original soft limit is smaller
than 64 MiB, and the hard limit is at least 64 MiB. So with a typical
default configuration, the real stack limit of GCC is 64 MiB.
But our "ulimit -s 32768" command sets both the soft limit and the hard
limit to 32 MiB. Thus we are actually *decreasing* the real stack
limit. Fortunately this has not caused any test failures, but it's just
wrong (contradicting with the explanation of the command).
Thus just raise the hard limit to infinite in case the host distro uses
a not so typical configuration where the hard limit is tight, and let
GCC to set up the soft limit to the expected value on its own. It's
more future-proof than "ulimit -s 65536" in case GCC changes the
expected stack limit in the future.
It should be safe to make the change in freeze because in jhalfs it only
affects the test suite, and even in a manual build the user can skip
this command if not running the GCC test suite.
If CONFIG_FB is not set but CONFIG_DRM_FBDEV_EMULATION is set to y, on a
DRM-drived graphic card (anything from AMD/ATI, Intel, or NVIDIA in
recent 20 years) we'd be using a fb console but without
/sys/class/graphics/fb0. Then the script won't run setfont for VT 2-6.
Typos on comments.
These changes are all in comments that do not affect the books in any way.
sysklogd
Turn off network logging by default
Update to lfs-bootscripts-20240825
Fix typos
Update to iana-etc-20240806.
Update to pkgconf-2.3.0.
Update to python3-3.12.5.
Update to setuptools-72.2.0.
Update to kmod-33.
Update to binutils-2.43.1.
Update to linux-6.10.5
Update stats
Update to bash-5.2.32.
Update to iana-etc-20240801.
Update to vim-9.1.0660.
Update to binutils-2.43.
Update to linux-6.10.3.
Update to readline-8.2.13.
Update to wheel-0.44.0.
Update to setuptools-71.1.0.
Update to gcc-14.2.0.
Update to glibc-2.40.
Update to iproute2-6.10.0.
Update to lz4-1.10.0.
Update to meson-1.5.1.
Update to sysklogd-2.6.1.
Update to systemd-256.4.
Update to sysvinit-3.10.
Update to iana-etc-20240701.
Update to vim-9.1.0580.
Update to automake-1.17.
Update to gdbm-1.24.
Update to linux-6.9.9.
Update to less-661.
Update to meson-1.5.0.
Update to setuptools-70.3.0.
Update to util-linux-2.40.2
Update to lfs-bootscripts 20240717
This option makes ld use DT_RUNPATH instead of DT_RPATH. DT_RPATH is
generally considered bad because it takes precedence over
LD_LIBRARY_PATH. For example, eog is linked with -rpath /usr/lib/eog,
and with DT_RPATH if an old eog is already installed we are basically
impossible to debug a new eog build w/o overwriting the system
installation first or explicitly using "ld.so --inhibit-rpath" to
invoke it.
This "new" actually means "new in 2000," it's 24 years ago and all other
distros has enabled it. Thus I guess some unexplainable "test suite
uses installed library instead of the just built one" issues in BLFS are
actually caused by this difference: the package author just assumes
everyone is using DT_RUNPATH thus they just set LD_LIBRARY_PATH and
consider it enough to test with the just built libraries, but DT_RPATH
breaks this expectation.
Let's eliminate the difference as it seems not doing anything good and
doing so just takes one switch.
It's needed to enable Rust-based features in the kernel.
Rustc is also needed but it's required by rust-bindgen so I'm skipping
it (like BLFS).
LLVM (Clang) is also a required dependency of rust-bindgen but it's
listed here for different purposes (LTO and CFI).
Fix sysklogd currency
Update to iana-etc-20240612.
Update to bc-6.7.6.
Update to man-pages-6.9.1.
Update to linux-6.9.7.
Update to sysklogd-2.5.2.
Update to shadow-4.16.0.
Update to systemd-256.1.
Update to setuptools-70.1.1.
Also change the formatting of options '-Dsomething' to '-D something'
Update to vim-9.1.0478.
Update to iana-etc-20240607.
Update to systemd-256.
Update to python3-3.12.4.
Update to perl-5.40.0.
Update to openssl-3.3.1 (Security fix).
Update to linux-6.9.4.
Update to findutils-4.10.0.
systemd: Reword test failure notice
Update to meson-1.4.1.
Update to xz-5.6.2.
Update to setuptools-70.0.0 (python module).
Update to ninja-1.12.1.
Update to man-pages-6.8.
Update to linux-6.9.3.
Update to libcap-2.70.
Update to iproute2-6.9.0.
Update to e2fsprogs-1.47.1
Update to vim-9.1.0405
Update to util-linux-2.40.1
Update to linux-6.8.9
Update to jinja2-3.1.4 (Python mpdule)
Update to iana-etc-20240502
Update to gcc-14.1.0
With systemd-255, I get only 1 failure out of 1206. Thus it seems a
good idea to run the test suite.
Revert "python: Document test failures with recent expat"
In Python >= 3.12.3, these tests are disabled with expat >= 2.6.0.
Link: https://github.com/python/cpython/commit/c4fa79b924a1
glibc: Revise glibc-2.39 upstream fix patch
The glibc-2.39-upstream_fix-1.patch file contains a broken
tst-iconv-iso-2022-cn-ext.c file. It causes:
FAIL: iconvdata/tst-iconv-iso-2022-cn-ext
Update to setuptools-69.5.1
Update to python3-3.12.3
Update to openssl-3.3.0
Update to ninja-1.12.0
Update to man-db-2.12.1
Update to linux-6.8.6
Update to iana-etc-20240412
Update to vim-9.1.0330
Update to iana-etc-20240318
Update to zstd-1.5.6
Update to util-linux-2.40
Update to shadow-4.15.1
Update to pkgconf-2.2.0
Update to linux-6.8.2
Update to coreutils-9.5
Fix currency and cleanup
Fix currency for upstream changes for
Python
psmisc
Add currency for
lz
Remove a lot of old commented code.
changelog: Fix typos