Changeset 6206f72


Ignore:
Timestamp:
05/11/2014 09:58:56 PM (10 years ago)
Author:
Bruce Dubbs <bdubbs@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
ee9a785
Parents:
f6fe500
Message:

Add a patch to binutils to enable LTO with gcc-4.9.0.
Remove omit-frame-pointer in gcc-pass2 and Chapter 6 gcc.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10561 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Files:
8 edited

Legend:

Unmodified
Added
Removed
  • chapter01/changelog.xml

    rf6fe500 r6206f72  
    4040      <itemizedlist>
    4141        <listitem>
     42          <para>[bdubbs] - Add a patch to binutils to enable LTO
     43          with gcc-4.9.0. Fixes
     44          <ulink url="&lfs-ticket-root;3569">#3569</ulink>.</para>
     45        </listitem>
     46        <listitem>
    4247          <para>[bdubbs] - Update bootscripts for eudev.</para>
    4348        </listitem>
     
    4651        </listitem>
    4752        <listitem>
    48           <para>[bdubbs] - Change explanation for using
    49           omit-frame-pointer in gcc-pass2. Fixes
     53          <para>[bdubbs] - Remove omit-frame-pointer in gcc-pass2
     54          and Chapter 6 gcc. Fixes
    5055          <ulink url="&lfs-ticket-root;3562">#3562</ulink>.</para>
    5156        </listitem>
  • chapter01/whatsnew.xml

    rf6fe500 r6206f72  
    240240    </listitem>
    241241    <listitem>
     242      <para>&binutils-lto-patch;</para>
     243    </listitem>
     244    <listitem>
    242245      <para>&coreutils-shuf-segfault-patch;</para>
    243246    </listitem>
  • chapter03/patches.xml

    rf6fe500 r6206f72  
    3232        <para>Download: <ulink url="&patches-root;&bc-memory-leak-patch;"/></para>
    3333        <para>MD5 sum: <literal>&bc-memory-leak-patch-md5;</literal></para>
     34      </listitem>
     35    </varlistentry>
     36
     37    <varlistentry>
     38      <term>Binutils LTO Patch - <token>&binutils-lto-patch-size;</token>:</term>
     39      <listitem>
     40        <para>Download: <ulink url="&patches-root;&binutils-lto-patch;"/></para>
     41        <para>MD5 sum: <literal>&binutils-lto-patch-md5;</literal></para>
    3442      </listitem>
    3543    </varlistentry>
  • chapter05/gcc-pass2.xml

    rf6fe500 r6206f72  
    5858<screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h &gt; \
    5959  `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
    60 
     60<!--
    6161    <para>For x86 machines, the limited number of registers is a bottleneck
    62     for the system.  Free one up by not using a fram pointer that is not
     62    for the system.  Free one up by not using a frame pointer that is not
    6363    needed:</para>
    6464
     
    6666  i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in ;;
    6767esac</userinput></screen>
    68 
     68-->
    6969    <para>Once again, change the location of GCC's default dynamic linker to
    7070    use the one installed in <filename
  • chapter06/binutils.xml

    rf6fe500 r6206f72  
    6464<screen><userinput remap="pre">rm -fv etc/standards.info
    6565sed -i.bak '/^INFO/s/standards.info //' etc/Makefile.in</userinput></screen>
     66
     67    <para>Add an upstream patch to use gcc's link time optimization (LTO)
     68    the default:</para>
     69
     70<screen><userinput remap="pre">patch -Np1 -i ../&binutils-lto-patch;</userinput></screen>
    6671
    6772    <para>The Binutils documentation recommends building Binutils outside of the
     
    115120
    116121<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
    117 <!--
    118     <para>Install the <filename class="headerfile">libiberty</filename> header
    119     file that is needed by some packages:</para>
    120 
    121 <screen><userinput remap="install">cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
    122 -->
     122
    123123  </sect2>
    124 
    125124
    126125  <sect2 id="contents-binutils" role="content">
  • chapter06/gcc.xml

    rf6fe500 r6206f72  
    4646
    4747<screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-patch;</userinput></screen>
    48 
     48<!--
    4949    <para>As in <xref linkend="ch-tools-gcc-pass2"/>, apply the following
    5050    <command>sed</command> to force the build to use the
     
    5555  i?86) sed -i 's/^T_CFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in ;;
    5656esac</userinput></screen>
    57 
     57-->
    5858    <para>The GCC documentation recommends building GCC outside of the source
    5959    directory in a dedicated build directory:</para>
     
    151151<screen><userinput remap="install">ln -sv gcc /usr/bin/cc</userinput></screen>
    152152
     153    <para>Add a compatibility symlink to enable building programs with
     154    Link Time Optimization (LTO):</para>
     155
     156<screen><userinput remap="install">install -dm755 /usr/lib/bfd-plugins
     157pushd /usr/lib/bfd-plugins
     158ln -sfv ../../libexec/gcc/x86_64-unknown-linux-gnu/&gcc-version;/liblto_plugin.so
     159popd</userinput></screen>
     160
    153161    <para>Now that our final toolchain is in place, it is important to again ensure
    154162    that compiling and linking will work as expected. We do this by performing
  • general.ent

    rf6fe500 r6206f72  
    1 <!ENTITY version         "SVN-20140510">
     1<!ENTITY version         "SVN-20140511">
    22<!ENTITY short-version   "svn">  <!-- Used in dbus chapter, change to x.y for release -->
    3 <!ENTITY releasedate     "May 10, 2014">
     3<!ENTITY releasedate     "May 11, 2014">
    44<!ENTITY copyrightdate   "1999-2014"><!-- jhalfs needs a literal dash, not &ndash; -->
    55<!ENTITY milestone       "8.0">
  • patches.ent

    rf6fe500 r6206f72  
    66<!ENTITY bash-fixes-patch-md5 "749b4b520708300b64f8166ba2b1b4a0">
    77<!ENTITY bash-fixes-patch-size "14 KB">
     8
     9<!ENTITY binutils-lto-patch "binutils-&binutils-version;-load_gcc_lto_plugin_by_default-1.patch">
     10<!ENTITY binutils-lto-patch-md5 "48e4e96a60bfed41804aaecf4944f5d9">
     11<!ENTITY binutils-lto-patch-size "2.0 KB">
    812
    913<!ENTITY bc-memory-leak-patch "bc-&bc-version;-memory_leak-1.patch">
Note: See TracChangeset for help on using the changeset viewer.