Merge remote-tracking branch 'origin/trunk' into xry111/arm64

This commit is contained in:
Xi Ruoyao 2024-05-14 00:01:59 +08:00
commit 161a2670b4
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
15 changed files with 124 additions and 65 deletions

View File

@ -40,6 +40,36 @@
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem>
<para>2024-05-11</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.0405. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to util-linux-2.40.1. Fixes
<ulink url='&lfs-ticket-root;5482'>#5482</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.8.9. Fixes
<ulink url='&lfs-ticket-root;5484'>#5484</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to jinja2-3.1.4 (Python module). Fixes
<ulink url='&lfs-ticket-root;5485'>#5485</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20240502. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gcc-14.1.0. Fixes
<ulink url='&lfs-ticket-root;5486'>#5486</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-05-01</para>
<itemizedlist>
@ -58,7 +88,7 @@
</itemizedlist>
</listitem>
<listitem revision='sysv'>
<listitem>
<para>2024-04-16</para>
<itemizedlist>
<listitem>

View File

@ -92,9 +92,9 @@
<!--<listitem>
<para>Gawk-&gawk-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>GCC-&gcc-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>GDBM-&gdbm-version;</para>
</listitem>-->
@ -134,9 +134,9 @@
<listitem>
<para>IPRoute2-&iproute2-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Jinja2-&jinja2-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Kbd-&kbd-version;</para>
</listitem>-->

View File

@ -50,7 +50,7 @@
</varlistentry>
</variablelist>
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
<para>Other file systems, including FAT32, NTFS, JFS, and XFS are
useful for specialized purposes. More information about these file systems,
and many others, can be found at <ulink
url="https://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>

View File

@ -59,15 +59,15 @@
<para>MD5 sum: <literal>&coreutils-i18n-patch-md5;</literal></para>
</listitem>
</varlistentry>
<!--
<varlistentry>
<term>Coreutils Chmod Fix Patch - <token>&coreutils-chmod-patch-size;</token>:</term>
<term>Expect GCC14 Patch - <token>&expect-gcc14-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&coreutils-chmod-patch;"/></para>
<para>MD5 sum: <literal>&coreutils-chmod-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&expect-gcc14-patch;"/></para>
<para>MD5 sum: <literal>&expect-gcc14-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Gcc glibc-2.36 Fixes Patch - <token>&gcc-upstream-fixes-patch-size;</token>:</term>

View File

@ -48,7 +48,8 @@
<screen><userinput remap="configure">./configure --prefix=/usr \
--build=$(sh support/config.guess) \
--host=$LFS_TGT \
--without-bash-malloc</userinput></screen>
--without-bash-malloc \
bash_cv_strtold_broken=no</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>

View File

@ -62,7 +62,8 @@
<para>Replace <replaceable>$((...))</replaceable> with the number of
logical cores you want to use if you don't want to use all.</para>
<para>The test t/subobj.sh is known to fail.</para>
<para>Out of 2926 tests, 52 are known to fail due to incompatibilities in the
test scripts with gcc-14.1 or later.</para>
<para>Install the package:</para>

View File

@ -49,6 +49,7 @@
<screen><userinput remap="configure">./configure --prefix=/usr \
--without-bash-malloc \
--with-installed-readline \
bash_cv_strtold_broken=no \
--docdir=/usr/share/doc/bash-&bash-version;</userinput></screen>
<variablelist>

View File

@ -127,7 +127,8 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
node for such a PTY cannot be accessed from the LFS chroot
environment):</para>
<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" &lt; /dev/null</userinput></screen>
<screen><userinput remap="test">su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \
&lt; /dev/null</userinput></screen>
<para>Remove the temporary group:</para>

View File

@ -73,6 +73,10 @@
<screen><userinput remap="pre">tar -C tclconfig -xf ../autoconf-&autoconf-version;.tar.xz --strip-components=2 \
autoconf-&autoconf-version;/build-aux/config.{guess,sub}</userinput></screen>
<para>Now, make some changes to allow the package with gcc-14.1 or later:</para>
<screen><userinput remap="pre">patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch</userinput></screen>
<para>Prepare Expect for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -40,20 +40,7 @@
<sect2 role="installation">
<title>Installation of GCC</title>
<!--
<para>At first, fix an issue breaking
<filename class="libraryfile">libasan.a</filename> building this package
with Glibc-2.34 or later:</para>
<screen><userinput remap="pre">sed -e '/static.*SIGSTKSZ/d' \
-e 's/return kAltStackSize/return SIGSTKSZ * 4/' \
-i libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp</userinput></screen>
-->
<!--
<para>First fix a problem with the latest version of glibc:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-fixes-patch;</userinput></screen>
-->
<para>On ARM64 hosts, set the default directory name for
64-bit libraries to <quote>lib</quote>:</para>
@ -72,6 +59,7 @@ cd build</userinput></screen>
--enable-languages=c,c++ \
--enable-default-pie \
--enable-default-ssp \
--enable-host-pie \
--disable-multilib \
--disable-bootstrap \
--disable-fixincludes \
@ -143,8 +131,8 @@ cd build</userinput></screen>
<para>In this section, the test suite for GCC is considered
important, but it takes a long time. First-time builders are
encouraged to run the test suite. The time to run the tests can be
reduced significantly by adding -jx to the <command>make -k check</command> command below,
where x is the number of CPU cores on your system.</para>
reduced significantly by adding -jx to the <command>make -k check</command>
command below, where x is the number of CPU cores on your system.</para>
</important>
<para>One set of tests in the GCC test suite is known to exhaust the default
@ -152,6 +140,14 @@ cd build</userinput></screen>
<screen><userinput remap="test">ulimit -s 32768</userinput></screen>
<para>Now remove/fix several known test failures:</para>
<screen><userinput remap="test">sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
sed -e 's/no-pic /&amp;-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c
sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c
sed -e 's/{ target nonpic } //' \
-e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c</userinput></screen>
<para>Test the results as a non-privileged user, but do not stop at errors:</para>
<screen><userinput remap="test">chown -R tester .
@ -167,33 +163,38 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
<para>Results can be compared with those located at <ulink
url="&test-results;"/> and
<ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para>
<!--
<para>
In gcc tests (out of over 185,000),
seven tests in the <filename class='directory'>analyzer</filename>
Eight gcc tests (out of over 185,000):
<!- - https://gcc.gnu.org/PR106375 - -><filename>pr56837.c</filename>
and seven tests in the <filename class='directory'>analyzer</filename>
directory are known to fail.
<!-- https://gcc.gnu.org/PR109353 -->
<!- - https://gcc.gnu.org/PR109353 - ->
One libstdc++ test (out of over 15000), <filename>copy.cc</filename>, is
known to fail.
For g++, 22 tests (out of approximately 250,000): 14
For g++, 21 tests (out of approximately 250,000): 14
<quote>AddressSanitizer*</quote>
tests, 7 <filename>interception-malloc-test-1.C</filename> tests,
and one test named <filename>contracts-tmpl-spec2.C</filename> are
tests and 7 <filename>interception-malloc-test-1.C</filename> tests, are
known to fail.
On ARM64, many tests in the
Additionally, several tests in the
<filename class='directory'>vect</filename> directory are known to fail
if the hardware does not support AVX.</para>
-->
<para>On ARM64, many tests in the
<filename class='directory'>c-c++-common/hwasan</filename>
directory are known to fail in both gcc and g++ tests<!-- why? -->,
and many tests in the
<!-- https://gcc.gnu.org/PR111124 -->
<filename class='directory'>g++.dg/modules</filename>
directory are known to fail in g++ tests.
</para>
directory are known to fail in g++ tests.</para>
<para>A few unexpected failures cannot always be avoided. The GCC developers
are usually aware of these issues, but have not resolved them yet.
<para>A few unexpected failures cannot always be avoided. In some cases
test failures depend on the specific hardware of the system.<!--The GCC developers
are usually aware of these issues, but have not resolved them yet.-->
Unless the test results are vastly different from those at the above URL,
it is safe to continue.</para>

View File

@ -53,11 +53,12 @@
</para>
<para>
If your system has UEFI support and you wish to boot LFS with UEFI,
you can skip this package in LFS,
and install GRUB with UEFI support (and its dependencies) by following
the instructions on
<ulink url="&blfs-book;postlfs/grub-efi.html">the BLFS page</ulink>
(with <parameter>--target=x86_64</parameter> removed).
you need to install GRUB with UEFI support (and its dependencies) by
following the instructions on
<ulink url="&blfs-book;postlfs/grub-efi.html">the BLFS page</ulink>.
You may skip this package, or install this package and the BLFS
GRUB for UEFI package without conflict (the BLFS page provides
instructions for both cases).
</para>
</note>

View File

@ -40,6 +40,10 @@
<sect2 role="installation">
<title>Installation of Inetutils</title>
<para>First, make the package build with gcc-14.1 or later::</para>
<screen><userinput remap="pre">sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c</userinput></screen>
<para>Prepare Inetutils for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -147,7 +147,7 @@ if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/sou
if ( $package == "shadow" ) $dirpath = github("shadow-maint/shadow");
if ( $package == "sysvinit" ) $dirpath = github("slicer69/sysvinit");
if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/";
if ( $package == "Jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/";
if ( $package == "jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/";
if ( $package == "systemd" ) $dirpath = github("systemd/systemd");
//if ( $package == "tcl" ) $dirpath = "https://sourceforge.net/projects/tcl/files";
if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/download.html";
@ -263,7 +263,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
if ( $package == "grub" )
return find_max( $lines, "/grub/", "/^.*grub-([\d\.]+).tar.xz.*$/" );
if ( $package == "Jinja" )
if ( $package == "jinja" )
return find_max( $lines, "/Jinja/", "/^.*Jinja2 ([\d\.]+).*$/" );
if ( $package == "lz" )

View File

@ -218,10 +218,10 @@
<!ENTITY gawk-fin-du "42 MB">
<!ENTITY gawk-fin-sbu "0.1 SBU">
<!ENTITY gcc-version "13.2.0">
<!ENTITY gcc-size "85,800 KB">
<!ENTITY gcc-version "14.1.0">
<!ENTITY gcc-size "90,104 KB">
<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz">
<!ENTITY gcc-md5 "e0e48554cc6e4f261d55ddee9ab69075">
<!ENTITY gcc-md5 "24195dca80ded5e0551b533f46a4481d">
<!ENTITY gcc-home "https://gcc.gnu.org/">
<!ENTITY gcc-tmpp1-du "4.1 GB">
<!ENTITY gcc-tmpp1-sbu "3.8 SBU">
@ -317,10 +317,10 @@
<!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20240412">
<!ENTITY iana-etc-version "20240502">
<!ENTITY iana-etc-size "590 KB">
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
<!ENTITY iana-etc-md5 "d53e2729bb4f3ef9f5cdc23a4bbb6739">
<!ENTITY iana-etc-md5 "73921d46a934eb5ac4286fc8111c2174">
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -349,10 +349,10 @@
<!ENTITY iproute2-fin-du "17 MB">
<!ENTITY iproute2-fin-sbu "0.1 SBU">
<!ENTITY jinja2-version "3.1.3">
<!ENTITY jinja2-size "264 KB">
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz">
<!ENTITY jinja2-md5 "caf5418c851eac59e70a78d9730d4cea">
<!ENTITY jinja2-version "3.1.4">
<!ENTITY jinja2-size "235 KB">
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/jinja2-&jinja2-version;.tar.gz">
<!ENTITY jinja2-md5 "02ca9a6364c92e83d14b037bef4732bc">
<!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.1.x/">
<!ENTITY jinja2-fin-du "3.2 MB">
<!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
@ -431,12 +431,12 @@
<!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "8">
<!ENTITY linux-patch-version "8">
<!ENTITY linux-patch-version "9">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "139,243 KB">
<!ENTITY linux-size "139,241 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "d802ace782a45e14cc4a8efee7510dfd">
<!ENTITY linux-md5 "95b3e4b76c4449bad8dd39ec16140a62">
<!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
allnoconfig + some configs we recommend for the users, rounded down to
@ -733,23 +733,34 @@
<!ENTITY udev-lfs-home " ">
<!ENTITY util-linux-minor "2.40">
<!ENTITY util-linux-version "2.40"> <!-- 2.33.x -->
<!ENTITY util-linux-size "8,558 KB">
<!ENTITY util-linux-version "2.40.1"> <!-- 2.33.x -->
<!ENTITY util-linux-size "8,617 KB">
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz">
<!ENTITY util-linux-md5 "46d1423122d310dfd022c799e1e4e259">
<!ENTITY util-linux-md5 "42ca7b92a3d77087de362f43ac29a3df">
<!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/">
<!ENTITY util-linux-tmp-du "172 MB">
<!ENTITY util-linux-tmp-sbu "0.2 SBU">
<!ENTITY util-linux-fin-du "313 MB">
<!ENTITY util-linux-fin-sbu "0.5 SBU">
<!ENTITY vim-version "9.1.0330">
<!ENTITY vim-version "9.1.0405">
<!-- <!ENTITY vim-majmin "90"> -->
<!ENTITY vim-docdir "vim/vim91">
<!ENTITY vim-size "17,428 KB">
<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">
<!-- N.B. LFS 9.0 uses
https://github.com/vim/vim/archive/v8.1.1846/vim-8.1.1846.tar.gz
and it still works after years, the md5sum of the resulted tarball
is unchanged as well. Thus GitHub download seems stable enough for
vim and there's no need to use anduin.
BTW if we click the "Next" button enough times on
https://github.com/vim/vim/tags, we can eventually see the old
release. The "Next" button just sets "after=" in the URL. For
example, https://github.com/vim/vim/tags?after=v8.1.1847 will show
us v8.1.1846. -->
<!--<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">-->
<!ENTITY vim-md5 "88d5656c21668ae98a0cd1a13abb3d12">
<!ENTITY vim-md5 "5379f5542310ee7ffbd6aea312407042">
<!ENTITY vim-home "https://www.vim.org">
<!ENTITY vim-fin-du "236 MB">
<!ENTITY vim-fin-sbu "2.5 SBU">

View File

@ -14,6 +14,10 @@
<!ENTITY coreutils-i18n-patch-md5 "ce7529b74564aac887c3f48582a5e6cf">
<!ENTITY coreutils-i18n-patch-size "159 KB">
<!ENTITY expect-gcc14-patch "expect-&expect-version;-gcc14-1.patch">
<!ENTITY expect-gcc14-patch-md5 "0b8b5ac411d011263ad40b0664c669f0">
<!ENTITY expect-gcc14-patch-size "7.8 KB">
<!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch">
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
<!ENTITY glibc-fhs-patch-size "2.8 KB">