Merge upstream; Upgrade isl+firmware; add description to glibc

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11759 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Thomas Trepl 2020-02-24 22:15:33 +00:00 committed by Xℹ Ruoyao
parent 43822ccfaa
commit e2ccc32118
No known key found for this signature in database
GPG Key ID: D95E4716CCBB34DC
9 changed files with 115 additions and 26 deletions

View File

@ -44,6 +44,28 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem arch="ml_32,ml_x32,ml_all">
<para>2020-02-24</para>
<itemizedlist>
<listitem arch="ml_32,ml_x32,ml_all">
<para>[thomas] - Add description to glibc configuration in Chapter 5.
Thanks to Kevin Buckley.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem arch="ml_32,ml_x32,ml_all">
<para>2020-02-21</para>
<itemizedlist>
<listitem arch="ml_32,ml_x32,ml_all">
<para>[thomas] - Update to isl-0.22.1.</para>
</listitem>
<listitem arch="ml_32,ml_x32,ml_all">
<para>[thomas] - Upgrade to linux-firmware-20200219</para>
</listitem>
</itemizedlist>
</listitem>
<listitem revision="systemd">
<para>2020-02-16</para>
<itemizedlist>
@ -344,7 +366,7 @@
</itemizedlist>
</listitem>
<listitem revision="sysv">
<listitem arch="ml_32,ml_x32,ml_all">
<para>2019-12-02</para>
<itemizedlist>
<listitem arch="ml_32,ml_x32,ml_all">

View File

@ -114,10 +114,16 @@ RANLIB=$LFS_TGT-ranlib \
<varlistentry>
<term><parameter>--with-sysroot</parameter></term>
<listitem>
<para>The sysroot feature enables the linker to find shared objects
which are required by other shared objects explicitly included on the
linker's command line. Without this, some packages may not build
successfully on some hosts.</para>
<para>This defines a default (non-existent) sysroot directory
<filename class="directory">/tools/$LFS_TGT/sys-root</filename>.
It is useful when looking for shared objects which are required by
other shared objects explicitly included on the linker's command
line. Those objects are searched into the directories listed in
<filename>&lt;sysroot&gt;/etc/ld.so.conf</filename>, and failing
that, into the linker search path, which is right. If this switch
is not given, <filename>/etc/ld.so.conf</filename> on the host
is used, that is, programs may be linked to libraries on
the host, which we want to avoid.</para>
</listitem>
</varlistentry>

View File

@ -140,10 +140,12 @@ esac</userinput></screen>
<!-- Following patch might be obsolete with gcc >= 8.2.1 -->
<!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 -->
<!-- Fix applied in ch5-gcc-pass{1,2}, ch6-gcc -->
<!--
<para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
-i gcc/graphite.h</userinput></screen>
-->
<para>The GCC documentation recommends building GCC
in a dedicated build directory:</para>

View File

@ -122,10 +122,12 @@ tar -xf ../isl-&isl-version;.tar.xz
mv -v isl-&isl-version; isl</userinput></screen>
<!-- Following patch might be obsolete with gcc >= 8.2.1 -->
<!--
<para arch="ml_32,ml_x32,ml_all">Fix an issue with isl-&isl-version;:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
-i gcc/graphite.h</userinput></screen>
-->
<para>
Now fix a problem introduced by Glibc-2.31:

View File

@ -216,15 +216,42 @@ RANLIB="${LFS_TGT}-ranlib" \
--build=$(../scripts/config.guess) \
--host=${LFS_TGT32} \
--enable-kernel=&min-kernel; \
--with-headers=/tools/include \
--with-binutils=/tools/bin \
--enable-multi-arch \
--libdir=/tools/lib32 \
--libexecdir=/tools/lib32 \
--with-headers=/tools/include \
--with-binutils=/tools/bin</userinput></screen>
--libexecdir=/tools/lib32</userinput></screen>
<!-- \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes</userinput></screen> -->
<variablelist>
<title>The meaning of the extra configure options:</title>
<varlistentry>
<term><parameter>--enable-multi-arch</parameter></term>
<listitem>
<para>Enables glibc for multiarch environments.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--libdir=/tools/lib32, --libexecdir=/tools/lib32</parameter></term>
<listitem>
<para>Overrides location for installing 32-bit files.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-binutils=/tools/bin</parameter></term>
<listitem>
<para>This tells Glibc to compile itself against the utilities
found within our "tools" heirachy, because otherwise...</para>
</listitem>
</varlistentry>
</variablelist>
<para>Now compile the 32-bit version of glibc:</para>
<screen><userinput remap="make">make</userinput></screen>
@ -234,8 +261,7 @@ install -vdm755 /tools/lib32
cp -Rv DESTDIR/tools/lib32/* /tools/lib32
install -vm644 DESTDIR/tools/include/gnu/{lib-names,stubs}-32.h \
/tools/include/gnu/
ln -svf /tools/lib32/ld-linux.so.2 /tools/lib/
cd ..</userinput></screen>
ln -svf /tools/lib32/ld-linux.so.2 /tools/lib/</userinput></screen>
</sect2>
@ -243,8 +269,8 @@ cd ..</userinput></screen>
<title>Installation of Glibc x32-bit</title>
<para>Create a build directory for redoing glibc for x32-bit:</para>
<screen><userinput remap="pre">mkdir build32x
cd build32x</userinput></screen>
<screen><userinput remap="pre">mkdir ../build32x
cd ../build32x</userinput></screen>
<para>Rebuild glibc for x32-bit:</para>
<screen><userinput remap="configure">echo slibdir=/tools/libx32 &gt; configparms
@ -257,15 +283,42 @@ RANLIB="${LFS_TGT}-ranlib" \
--build=$(../scripts/config.guess) \
--host=${LFS_TGTX32} \
--enable-kernel=&min-kernel; \
--with-headers=/tools/include \
--with-binutils=/tools/bin \
--enable-multi-arch \
--libdir=/tools/libx32 \
--libexecdir=/tools/libx32 \
--with-headers=/tools/include \
--with-binutils=/tools/bin</userinput></screen>
--libexecdir=/tools/libx32</userinput></screen>
<!-- \
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes</userinput></screen> -->
<variablelist>
<title>The meaning of the extra configure options:</title>
<varlistentry>
<term><parameter>--enable-multi-arch</parameter></term>
<listitem>
<para>Enables glibc for multiarch environments.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--libdir=/tools/libx32, --libexecdir=/tools/libx32</parameter></term>
<listitem>
<para>Overrides location for installing x32-bit files.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-binutils=/tools/bin</parameter></term>
<listitem>
<para>This tells Glibc to compile itself against the utilities
found within our "tools" heirachy, because otherwise...</para>
</listitem>
</varlistentry>
</variablelist>
<para>Now compile the x32-bit version of glibc:</para>
<screen><userinput remap="make">make</userinput></screen>

View File

@ -82,8 +82,8 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--disable-libstdcxx-threads</parameter></term>
<listitem>
<para>Since we have not yet built the C threads library, the C++
one cannot be built either.</para>
<para>Since gcc-pass1 is built without thread support, the C++
thread library cannot be built either.</para>
</listitem>
</varlistentry>

View File

@ -46,9 +46,9 @@ ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
ln -sv bash /bin/sh</userinput></screen>
<para arch="ml_32,ml_x32,ml_all">32-bit builds also require these links:</para>
<para arch="ml_32,ml_all">32-bit builds also require these links:</para>
<screen arch="ml_32,ml_x32,ml_all"><userinput arch="ml_32,ml_all">ln -sv /tools/lib32/libgcc_s.so{,.1} /usr/lib32
<screen arch="ml_32,ml_all"><userinput arch="ml_32,ml_all">ln -sv /tools/lib32/libgcc_s.so{,.1} /usr/lib32
ln -sv /tools/lib32/libstdc++.{a,so{,.6}} /usr/lib32</userinput></screen>
<para arch="ml_x32,ml_all">x32-bit builds also require these links:</para>

View File

@ -64,10 +64,12 @@ esac</userinput></screen>
<screen><userinput remap="pre">rm -f /usr/lib/gcc</userinput></screen>
<!-- Following patch might be obsolete with gcc >= 8.2.1 -->
<!--
<para>Fix an issue with isl-&isl-version;:</para>
<screen><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
-i gcc/graphite.h</userinput></screen>
-->
<para>
As in gcc-pass2, fix a problem introduced by Glibc-2.31:

View File

@ -357,10 +357,10 @@
<!ENTITY iproute2-ch6-du "14 MB">
<!ENTITY iproute2-ch6-sbu "0.2 SBU">
<!ENTITY isl-version "0.22">
<!ENTITY isl-version "0.22.1">
<!ENTITY isl-size "1.6 MB">
<!ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz">
<!ENTITY isl-md5 "ce103a7924ef31f1ff47b7ac868f434b">
<!ENTITY isl-md5 "6e124849a9b62e3e2d5d51e955323f6e">
<!ENTITY isl-home "http://isl.gforge.inria.fr/">
<!ENTITY isl-ch6-du "20 MB">
<!ENTITY isl-ch6-sbu "0.1 SBU">
@ -449,13 +449,15 @@
<!ENTITY linux-headers-ch6-du "1 GB">
<!ENTITY linux-headers-ch6-sbu "0.1 SBU">
<!ENTITY linux-firmware-version "20191026">
<!ENTITY linux-firmware-size "91,572 KB">
<!ENTITY linux-firmware-version "20200219">
<!ENTITY linux-firmware-size "107 MB">
<!ENTITY linux-firmware-url "http://www.linuxfromscratch.org/~dj/linux-firmware-&linux-firmware-version;.tar.xz">
<!ENTITY linux-firmware-md5 "079dcff9c13cccddb40cbfc392f7a790">
<!ENTITY linux-firmware-md5 "6f0bc3f1daa494c4c4c7c7578da92030">
<!ENTITY linux-firmware-home "http://www.kernel.org/">
<!ENTITY linux-firmware-ch6-du "582 MB">
<!ENTITY linux-firmware-ch6-sbu "0.1 SBU">
<!ENTITY linux-firmware-ch5-du "520 MB">
<!ENTITY linux-firmware-ch5-sbu "0.1 SBU">
<!ENTITY linux-firmware-ch6-du "&linux-firmware-ch5-du;">
<!ENTITY linux-firmware-ch6-sbu "&linux-firmware-ch5-sbu;">
<!ENTITY m4-version "1.4.18">
<!ENTITY m4-size "1,180 KB">