diff options
author | Thomas Trepl <thomas@linuxfromscratch.org> | 2020-02-24 22:15:33 +0000 |
---|---|---|
committer | Thomas Trepl <thomas@linuxfromscratch.org> | 2020-02-24 22:15:33 +0000 |
commit | bc12dcb0f0143b84e4078f53cbe7aff0cca844e1 (patch) | |
tree | b55138e91473ec31c1a1bb2388cde8395590ce49 | |
parent | 788f897d93382aa01ed8e41f49d323810c7e2e2d (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.xml | 24 | ||||
-rw-r--r-- | chapter05/binutils-pass2.xml | 14 | ||||
-rw-r--r-- | chapter05/gcc-pass1.xml | 2 | ||||
-rw-r--r-- | chapter05/gcc-pass2.xml | 2 | ||||
-rw-r--r-- | chapter05/glibc.xml | 73 | ||||
-rw-r--r-- | chapter05/libstdc++.xml | 4 | ||||
-rw-r--r-- | chapter06/createfiles.xml | 4 | ||||
-rw-r--r-- | chapter06/gcc.xml | 2 | ||||
-rw-r--r-- | packages.ent | 16 |
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><sysroot>/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 <isl\/schedule_node.h>/ a#include <isl/id.h>\n#include <isl/space.h>" \ -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 <isl\/schedule_node.h>/ a#include <isl/id.h>\n#include <isl/space.h>" \ -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 > 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 <isl\/schedule_node.h>/ a#include <isl/id.h>\n#include <isl/space.h>" \ -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"> |