Changeset 6206f72
- Timestamp:
- 05/11/2014 09:58:56 PM (10 years ago)
- 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
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
rf6fe500 r6206f72 40 40 <itemizedlist> 41 41 <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> 42 47 <para>[bdubbs] - Update bootscripts for eudev.</para> 43 48 </listitem> … … 46 51 </listitem> 47 52 <listitem> 48 <para>[bdubbs] - Change explanation for using49 omit-frame-pointer in gcc-pass2. Fixes53 <para>[bdubbs] - Remove omit-frame-pointer in gcc-pass2 54 and Chapter 6 gcc. Fixes 50 55 <ulink url="&lfs-ticket-root;3562">#3562</ulink>.</para> 51 56 </listitem> -
chapter01/whatsnew.xml
rf6fe500 r6206f72 240 240 </listitem> 241 241 <listitem> 242 <para>&binutils-lto-patch;</para> 243 </listitem> 244 <listitem> 242 245 <para>&coreutils-shuf-segfault-patch;</para> 243 246 </listitem> -
chapter03/patches.xml
rf6fe500 r6206f72 32 32 <para>Download: <ulink url="&patches-root;&bc-memory-leak-patch;"/></para> 33 33 <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> 34 42 </listitem> 35 43 </varlistentry> -
chapter05/gcc-pass2.xml
rf6fe500 r6206f72 58 58 <screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \ 59 59 `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen> 60 60 <!-- 61 61 <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 not62 for the system. Free one up by not using a frame pointer that is not 63 63 needed:</para> 64 64 … … 66 66 i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;; 67 67 esac</userinput></screen> 68 68 --> 69 69 <para>Once again, change the location of GCC's default dynamic linker to 70 70 use the one installed in <filename -
chapter06/binutils.xml
rf6fe500 r6206f72 64 64 <screen><userinput remap="pre">rm -fv etc/standards.info 65 65 sed -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> 66 71 67 72 <para>The Binutils documentation recommends building Binutils outside of the … … 115 120 116 121 <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 123 123 </sect2> 124 125 124 126 125 <sect2 id="contents-binutils" role="content"> -
chapter06/gcc.xml
rf6fe500 r6206f72 46 46 47 47 <screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-patch;</userinput></screen> 48 48 <!-- 49 49 <para>As in <xref linkend="ch-tools-gcc-pass2"/>, apply the following 50 50 <command>sed</command> to force the build to use the … … 55 55 i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;; 56 56 esac</userinput></screen> 57 57 --> 58 58 <para>The GCC documentation recommends building GCC outside of the source 59 59 directory in a dedicated build directory:</para> … … 151 151 <screen><userinput remap="install">ln -sv gcc /usr/bin/cc</userinput></screen> 152 152 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 157 pushd /usr/lib/bfd-plugins 158 ln -sfv ../../libexec/gcc/x86_64-unknown-linux-gnu/&gcc-version;/liblto_plugin.so 159 popd</userinput></screen> 160 153 161 <para>Now that our final toolchain is in place, it is important to again ensure 154 162 that compiling and linking will work as expected. We do this by performing -
general.ent
rf6fe500 r6206f72 1 <!ENTITY version "SVN-2014051 0">1 <!ENTITY version "SVN-20140511"> 2 2 <!ENTITY short-version "svn"> <!-- Used in dbus chapter, change to x.y for release --> 3 <!ENTITY releasedate "May 1 0, 2014">3 <!ENTITY releasedate "May 11, 2014"> 4 4 <!ENTITY copyrightdate "1999-2014"><!-- jhalfs needs a literal dash, not – --> 5 5 <!ENTITY milestone "8.0"> -
patches.ent
rf6fe500 r6206f72 6 6 <!ENTITY bash-fixes-patch-md5 "749b4b520708300b64f8166ba2b1b4a0"> 7 7 <!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"> 8 12 9 13 <!ENTITY bc-memory-leak-patch "bc-&bc-version;-memory_leak-1.patch">
Note:
See TracChangeset
for help on using the changeset viewer.