aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Trepl <thomas@linuxfromscratch.org>2020-02-24 22:15:33 +0000
committerThomas Trepl <thomas@linuxfromscratch.org>2020-02-24 22:15:33 +0000
commitbc12dcb0f0143b84e4078f53cbe7aff0cca844e1 (patch)
treeb55138e91473ec31c1a1bb2388cde8395590ce49
parent788f897d93382aa01ed8e41f49d323810c7e2e2d (diff)
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
-rw-r--r--chapter01/changelog.xml24
-rw-r--r--chapter05/binutils-pass2.xml14
-rw-r--r--chapter05/gcc-pass1.xml2
-rw-r--r--chapter05/gcc-pass2.xml2
-rw-r--r--chapter05/glibc.xml73
-rw-r--r--chapter05/libstdc++.xml4
-rw-r--r--chapter06/createfiles.xml4
-rw-r--r--chapter06/gcc.xml2
-rw-r--r--packages.ent16
9 files changed, 115 insertions, 26 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index da795a9e6..2dcb0ae66 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -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">
diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml
index 8ff9d3574..86204df45 100644
--- a/chapter05/binutils-pass2.xml
+++ b/chapter05/binutils-pass2.xml
@@ -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>
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index 04427880f..12eb0ff51 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -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>
diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml
index 2ad8fe4e3..8947bc991 100644
--- a/chapter05/gcc-pass2.xml
+++ b/chapter05/gcc-pass2.xml
@@ -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:
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index ed19f960d..7cf862545 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -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>
diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml
index 6c3b3d27b..42a304bfe 100644
--- a/chapter05/libstdc++.xml
+++ b/chapter05/libstdc++.xml
@@ -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>
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 5c3705095..42d1ec1fe 100644
--- a/chapter06/createfiles.xml
+++ b/chapter06/createfiles.xml
@@ -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>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index fb3650471..a5becfd75 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -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:
diff --git a/packages.ent b/packages.ent
index a4cb0ec0b..2dc0f4de9 100644
--- a/packages.ent
+++ b/packages.ent
@@ -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">