These have been brought up before, but figured it's a good time to revisit them with a new major version on the horizon.

One, we've bounced around gold a few times on this list, always with the caveat that bfd remains the default linker, but gold is available for packages that know about it and are wanting to use it (or where a user want's to use it directly with something like 'LD=/usr/bin/ld.gold ./configure ...'). Nothing new here. Binutils with gold adds Bison to Chapter 5 (this was done manually on first build because I completely forgot about it, so build time/size provided is from my Chapter 6 build). FYI, we never removed chapter05/bison.xml.

New CH5 Bison:         0.3 SBU and 32 MB  to build with 3.9 MB installed
Binutils without gold: 1.3 SBU and 487 MB to build with 48 MB  installed
Binutils with gold:    2.6 SBU and 1.3 GB to build with 175 MB installed

Diffs are dwp (~50MB), ld.gold (~80MB), and multiple copies of gold.mo (translations ~1MB). This on 2.27 as 2.28 will not be released until after January 8th (branch is cut though).

Two, I'd like to review our included libs for GCC. I mentioned this about a year ago and never followed up with build time/size. Really only ISL/Graphite loop optimization. Honestly, these optimizations aren't used in the wild very frequently, but again, same as binutils...I see us shipping without it and feel that our GCC installation is slightly incomplete (when everyone else _is_ shipping ISL). The older message included notes about libssp and libmpx. libssp doesn't cause harm on x86 and x86_64, but is removed by RH and Debian distros due to issues with arm IIRC. I don't see a need to change ATM, but brought it up as I had before, and I guess maybe it is getting less testing with most distros dropping it. libmpx is already included by default now (no change).

GCC without ISL:      33.6 SBU and 3.5 GB to build with 570 MB installed
GCC with ISL:         35.7 SBU and 3.6 GB to build with 595 MB installed

Diffs are libisl.{so,a} (and obviously linking).

With both of the changes above, +3.7 SBU. Also, I've dropped the ball on the write-up about libtool archives...maybe this weekend while waiting for stuff to compile.

Comments?

--DJ
Index: chapter05/chapter05.xml
===================================================================
--- chapter05/chapter05.xml	(revision 11158)
+++ chapter05/chapter05.xml	(working copy)
@@ -27,6 +27,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="check.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="ncurses.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="bash.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="bison.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="bzip2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="coreutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="diffutils.xml"/>
Index: chapter06/binutils.xml
===================================================================
--- chapter06/binutils.xml	(revision 11158)
+++ chapter06/binutils.xml	(working copy)
@@ -65,10 +65,31 @@
 
     <para>Prepare Binutils for compilation:</para>
 
-<screen><userinput remap="configure">../configure --prefix=/usr   \
-             --enable-shared \
+<screen><userinput remap="configure">../configure --prefix=/usr       \
+             --enable-gold       \
+             --enable-ld=default \
+             --enable-shared     \
              --disable-werror</userinput></screen>
+    <variablelist>
+      <title>The meaning of the configure options:</title>
 
+      <varlistentry>
+        <term><parameter>--enable-gold</parameter></term>
+        <listitem>
+          <para>Build the gold linker and install it as ld.gold (along side the
+          default linker).</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><parameter>--enable-ld=default</parameter></term>
+        <listitem>
+          <para>Build the original bdf linker and install it as both ld (the
+          default linker) and ld.bfd.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
     <para>Compile the package:</para>
 
 <screen><userinput remap="make">make tooldir=/usr</userinput></screen>
Index: general.ent
===================================================================
--- general.ent	(revision 11158)
+++ general.ent	(working copy)
@@ -1,15 +1,15 @@
-<!ENTITY version         "SVN-20161221">
+<!ENTITY version         "SVN-20161229">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20161221-systemd">
+<!ENTITY versiond        "20161229-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "December 21, 2016">
+<!ENTITY releasedate     "December 29, 2016">
 <!ENTITY copyrightdate   "1999-2016"><!-- jhalfs needs a literal dash, not &ndash; -->
-<!ENTITY milestone       "7.11">
+<!ENTITY milestone       "8.0">
 
 <!ENTITY lfs-root        "http://www.linuxfromscratch.org/";>
 <!ENTITY blfs-root       "&lfs-root;blfs/">
Index: packages.ent
===================================================================
--- packages.ent	(revision 11158)
+++ packages.ent	(working copy)
@@ -75,6 +75,8 @@
 <!ENTITY bison-url "&gnu;bison/bison-&bison-version;.tar.xz">
 <!ENTITY bison-md5 "c342201de104cc9ce0a21e0ad10d4021">
 <!ENTITY bison-home "&gnu-software;bison/">
+<!ENTITY bison-ch5-du "32 MB">
+<!ENTITY bison-ch5-sbu "0.3 SBU">
 <!ENTITY bison-ch6-du "32 MB">
 <!ENTITY bison-ch6-sbu "0.3 SBU">
 
Index: chapter03/packages.xml
===================================================================
--- chapter03/packages.xml	(revision 11158)
+++ chapter03/packages.xml	(working copy)
@@ -347,6 +347,15 @@
     </varlistentry>
 
     <varlistentry>
+      <term>ISL (&isl-version;) - <token>&isl-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&isl-home;"/></para>
+        <para>Download: <ulink url="&isl-url;"/></para>
+        <para>MD5 sum: <literal>&isl-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
       <term>Kbd (&kbd-version;) - <token>&kbd-size;</token>:</term>
       <listitem>
         <para>Home page: <ulink url="&kbd-home;"/></para>
Index: chapter06/gcc.xml
===================================================================
--- chapter06/gcc.xml	(revision 11158)
+++ chapter06/gcc.xml	(working copy)
@@ -41,6 +41,14 @@
   <sect2 role="installation">
     <title>Installation of GCC</title>
 
+    <para>The Interger Set Library (ISL) allows <application>GCC</application>
+    to use Graphite loop optimizations. <application>GCC</application> will
+    build ISL by default if found in the souce tree. Extract the ISL source and
+    prepare for use by <application>GCC</application>:</para>
+
+<screen><userinput remap="pre">tar -xf ../isl-&isl-version;.tar.xz
+mv isl-&isl-version; isl</userinput></screen>
+
     <para>If building on x86_64, change the default directory name for 64-bit
     libraries to <quote>lib</quote>:</para>
 
@@ -71,7 +79,7 @@
     for instructions on how to build all of GCC's supported languages.</para>
 
     <variablelist>
-      <title>The meaning of the new configure option:</title>
+      <title>The meaning of the new configure options:</title>
 
       <varlistentry>
         <term><envar>SED=sed</envar></term>
@@ -80,7 +88,7 @@
           path to /tools/bin/sed.</para>
         </listitem>
       </varlistentry>
- 
+
       <varlistentry>
         <term><parameter>--with-system-zlib</parameter></term>
         <listitem>
Index: packages.ent
===================================================================
--- packages.ent	(revision 11158)
+++ packages.ent	(working copy)
@@ -332,6 +334,15 @@
 <!ENTITY iproute2-ch6-du "11 MB">
 <!ENTITY iproute2-ch6-sbu "0.2 SBU">
 
+<!-- As of gcc-6.3.0, the newest recommended version of ISL is 0.16. Check
+INSTALL/prerequisites.html in the gcc source directory before upgrading
+this library -->
+<!ENTITY isl-version "0.16.1">
+<!ENTITY isl-size "1.4 MB">
+<!ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.xz";>
+<!ENTITY isl-md5 "045ed3c6eb5cf6c8963d623bcf7e5031">
+<!ENTITY isl-home "http://isl.gforge.inria.fr/";>
+
 <!ENTITY kbd-version "2.0.3">
 <!ENTITY kbd-size "1,013 KB">
 <!ENTITY kbd-url "https://www.kernel.org/pub/linux/utils/kbd/kbd-&kbd-version;.tar.xz";>
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to