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 <listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem. 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"> <listitem revision="systemd">
<para>2020-02-16</para> <para>2020-02-16</para>
<itemizedlist> <itemizedlist>
@ -344,7 +366,7 @@
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem revision="sysv"> <listitem arch="ml_32,ml_x32,ml_all">
<para>2019-12-02</para> <para>2019-12-02</para>
<itemizedlist> <itemizedlist>
<listitem arch="ml_32,ml_x32,ml_all"> <listitem arch="ml_32,ml_x32,ml_all">

View File

@ -114,10 +114,16 @@ RANLIB=$LFS_TGT-ranlib \
<varlistentry> <varlistentry>
<term><parameter>--with-sysroot</parameter></term> <term><parameter>--with-sysroot</parameter></term>
<listitem> <listitem>
<para>The sysroot feature enables the linker to find shared objects <para>This defines a default (non-existent) sysroot directory
which are required by other shared objects explicitly included on the <filename class="directory">/tools/$LFS_TGT/sys-root</filename>.
linker's command line. Without this, some packages may not build It is useful when looking for shared objects which are required by
successfully on some hosts.</para> 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> </listitem>
</varlistentry> </varlistentry>

View File

@ -140,10 +140,12 @@ esac</userinput></screen>
<!-- Following patch might be obsolete with gcc >= 8.2.1 --> <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
<!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 --> <!-- see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724 -->
<!-- Fix applied in ch5-gcc-pass{1,2}, ch6-gcc --> <!-- 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> <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;" \ <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> -i gcc/graphite.h</userinput></screen>
-->
<para>The GCC documentation recommends building GCC <para>The GCC documentation recommends building GCC
in a dedicated build directory:</para> 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> mv -v isl-&isl-version; isl</userinput></screen>
<!-- Following patch might be obsolete with gcc >= 8.2.1 --> <!-- 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> <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;" \ <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> -i gcc/graphite.h</userinput></screen>
-->
<para> <para>
Now fix a problem introduced by Glibc-2.31: Now fix a problem introduced by Glibc-2.31:

View File

@ -216,15 +216,42 @@ RANLIB="${LFS_TGT}-ranlib" \
--build=$(../scripts/config.guess) \ --build=$(../scripts/config.guess) \
--host=${LFS_TGT32} \ --host=${LFS_TGT32} \
--enable-kernel=&min-kernel; \ --enable-kernel=&min-kernel; \
--with-headers=/tools/include \
--with-binutils=/tools/bin \
--enable-multi-arch \ --enable-multi-arch \
--libdir=/tools/lib32 \ --libdir=/tools/lib32 \
--libexecdir=/tools/lib32 \ --libexecdir=/tools/lib32</userinput></screen>
--with-headers=/tools/include \
--with-binutils=/tools/bin</userinput></screen>
<!-- \ <!-- \
libc_cv_forced_unwind=yes \ libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes</userinput></screen> --> 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> <para>Now compile the 32-bit version of glibc:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
@ -234,8 +261,7 @@ install -vdm755 /tools/lib32
cp -Rv DESTDIR/tools/lib32/* /tools/lib32 cp -Rv DESTDIR/tools/lib32/* /tools/lib32
install -vm644 DESTDIR/tools/include/gnu/{lib-names,stubs}-32.h \ install -vm644 DESTDIR/tools/include/gnu/{lib-names,stubs}-32.h \
/tools/include/gnu/ /tools/include/gnu/
ln -svf /tools/lib32/ld-linux.so.2 /tools/lib/ ln -svf /tools/lib32/ld-linux.so.2 /tools/lib/</userinput></screen>
cd ..</userinput></screen>
</sect2> </sect2>
@ -243,8 +269,8 @@ cd ..</userinput></screen>
<title>Installation of Glibc x32-bit</title> <title>Installation of Glibc x32-bit</title>
<para>Create a build directory for redoing glibc for x32-bit:</para> <para>Create a build directory for redoing glibc for x32-bit:</para>
<screen><userinput remap="pre">mkdir build32x <screen><userinput remap="pre">mkdir ../build32x
cd build32x</userinput></screen> cd ../build32x</userinput></screen>
<para>Rebuild glibc for x32-bit:</para> <para>Rebuild glibc for x32-bit:</para>
<screen><userinput remap="configure">echo slibdir=/tools/libx32 &gt; configparms <screen><userinput remap="configure">echo slibdir=/tools/libx32 &gt; configparms
@ -257,15 +283,42 @@ RANLIB="${LFS_TGT}-ranlib" \
--build=$(../scripts/config.guess) \ --build=$(../scripts/config.guess) \
--host=${LFS_TGTX32} \ --host=${LFS_TGTX32} \
--enable-kernel=&min-kernel; \ --enable-kernel=&min-kernel; \
--with-headers=/tools/include \
--with-binutils=/tools/bin \
--enable-multi-arch \ --enable-multi-arch \
--libdir=/tools/libx32 \ --libdir=/tools/libx32 \
--libexecdir=/tools/libx32 \ --libexecdir=/tools/libx32</userinput></screen>
--with-headers=/tools/include \
--with-binutils=/tools/bin</userinput></screen>
<!-- \ <!-- \
libc_cv_forced_unwind=yes \ libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes</userinput></screen> --> 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> <para>Now compile the x32-bit version of glibc:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>

View File

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

View File

@ -46,9 +46,9 @@ ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
ln -sv bash /bin/sh</userinput></screen> 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> 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> <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> <screen><userinput remap="pre">rm -f /usr/lib/gcc</userinput></screen>
<!-- Following patch might be obsolete with gcc >= 8.2.1 --> <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
<!--
<para>Fix an issue with isl-&isl-version;:</para> <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;" \ <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> -i gcc/graphite.h</userinput></screen>
-->
<para> <para>
As in gcc-pass2, fix a problem introduced by Glibc-2.31: 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-du "14 MB">
<!ENTITY iproute2-ch6-sbu "0.2 SBU"> <!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-size "1.6 MB">
<!ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz"> <!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-home "http://isl.gforge.inria.fr/">
<!ENTITY isl-ch6-du "20 MB"> <!ENTITY isl-ch6-du "20 MB">
<!ENTITY isl-ch6-sbu "0.1 SBU"> <!ENTITY isl-ch6-sbu "0.1 SBU">
@ -449,13 +449,15 @@
<!ENTITY linux-headers-ch6-du "1 GB"> <!ENTITY linux-headers-ch6-du "1 GB">
<!ENTITY linux-headers-ch6-sbu "0.1 SBU"> <!ENTITY linux-headers-ch6-sbu "0.1 SBU">
<!ENTITY linux-firmware-version "20191026"> <!ENTITY linux-firmware-version "20200219">
<!ENTITY linux-firmware-size "91,572 KB"> <!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-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-home "http://www.kernel.org/">
<!ENTITY linux-firmware-ch6-du "582 MB"> <!ENTITY linux-firmware-ch5-du "520 MB">
<!ENTITY linux-firmware-ch6-sbu "0.1 SBU"> <!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-version "1.4.18">
<!ENTITY m4-size "1,180 KB"> <!ENTITY m4-size "1,180 KB">