瀏覽代碼

Upgrade to GCC-4.6.0. Fixes #2847.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9493 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Matthew Burgess 14 年之前
父節點
當前提交
8aad43851e
共有 9 個文件被更改,包括 41 次插入29 次删除
  1. 4 0
      chapter01/changelog.xml
  2. 5 2
      chapter01/whatsnew.xml
  3. 8 0
      chapter03/patches.xml
  4. 14 21
      chapter05/gcc-pass1.xml
  5. 0 1
      chapter05/gcc-pass2.xml
  6. 1 1
      chapter06/binutils.xml
  7. 2 1
      chapter06/grub.xml
  8. 3 3
      packages.ent
  9. 4 0
      patches.ent

+ 4 - 0
chapter01/changelog.xml

@@ -39,6 +39,10 @@
     <listitem>
       <para>2011-03-30</para>
       <itemizedlist>
+        <listitem>
+          <para>[matthew] - Upgrade to GCC-4.6.0. Fixes
+          <ulink url="&lfs-ticket-root;2848">#2848</ulink>.</para>
+        </listitem>
         <listitem>
           <para>[matthew] - Upgrade to Linux-2.6.38.2. Fixes
           <ulink url="&lfs-ticket-root;2847">#2847</ulink>.</para>

+ 5 - 2
chapter01/whatsnew.xml

@@ -73,9 +73,9 @@
     <!--<listitem>
       <para>Gawk &gawk-version;</para>
     </listitem>-->
-    <!--<listitem>
+    <listitem>
       <para>GCC &gcc-version;</para>
-    </listitem>-->
+    </listitem>
     <!--<listitem>
       <para>GDBM &gdbm-version;</para>
     </listitem>-->
@@ -224,6 +224,9 @@
     <listitem>
       <para>coreutils-&coreutils-version;-sparse_fiemap-1.patch</para>
     </listitem>
+    <listitem>
+      <para>&gcc-crosscompile-patch;</para>
+    </listitem>
     <listitem>
       <para>readline-&readline-version;-fixes-1.patch</para>
     </listitem>

+ 8 - 0
chapter03/patches.xml

@@ -66,6 +66,14 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>GCC Cross Compile Patch - <token>&gcc-crosscompile-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink url="&patches-root;&gcc-crosscompile-patch;"/></para>
+        <para>MD5 sum: <literal>&gcc-crosscompile-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>GCC Startfiles Fix Patch - <token>&gcc-startfiles-patch-size;</token>:</term>
       <listitem>

+ 14 - 21
chapter05/gcc-pass1.xml

@@ -56,6 +56,12 @@ mv -v gmp-&gmp-version; gmp
 tar -zxf ../mpc-&mpc-version;.tar.gz
 mv -v mpc-&mpc-version; mpc</userinput></screen>
 
+<para>Apply a patch that will allow the building of the libiberty and zlib
+target libraries to be disabled as these do not build correctly in a
+cross-compiled environment:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../&gcc-crosscompile-patch;</userinput></screen>
+
     <para>The GCC documentation recommends building GCC outside of the
     source directory in a dedicated build directory:</para>
 
@@ -69,9 +75,9 @@ cd ../gcc-build</userinput></screen>
     --disable-nls --disable-shared --disable-multilib \
     --disable-decimal-float --disable-threads \
     --disable-libmudflap --disable-libssp \
-    --disable-libgomp --enable-languages=c \
-    --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
-    --without-ppl --without-cloog</userinput></screen>
+    --disable-libgomp --disable-libquadmath \
+    --disable-target-libiberty --disable-target-zlib \
+    --enable-languages=c --without-ppl --without-cloog</userinput></screen>
 
     <variablelist>
       <title>The meaning of the configure options:</title>
@@ -86,11 +92,12 @@ cd ../gcc-build</userinput></screen>
       </varlistentry>
 
       <varlistentry>
-        <term><parameter>--disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp</parameter></term>
+        <term><parameter>--disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp, --disable-libquadmath --disable-target-libiberty --disable-target-zlib</parameter></term>
         <listitem>
-          <para>These switches disable support for the decimal floating point extension,
-          threading, libmudflap, libssp and libgomp respectively. These features will fail
-          to compile when building a cross-compiler and are not necessary for the task of
+          <para>These switches disable support for the decimal floating point
+          extension, threading, libmudflap, libssp and libgomp, libquadmath,
+          libiberty and zlib respectively. These features will fail to compile
+          when building a cross-compiler and are not necessary for the task of
           cross-compiling the temporary libc.</para>
         </listitem>
       </varlistentry>
@@ -111,20 +118,6 @@ cd ../gcc-build</userinput></screen>
         </listitem>
       </varlistentry>
 
-      <varlistentry>
-        <term><parameter>--with-gmp-include=...</parameter></term>
-        <listitem>
-          <para>This option tells GCC where the GMP headers are located.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><parameter>--with-gmp-lib=...</parameter></term>
-        <listitem>
-          <para>This option tells GCC where the GMP library is located.</para>
-        </listitem>
-      </varlistentry>
-
       <varlistentry>
         <term><parameter>--without-ppl, --without-cloog</parameter></term>
         <listitem>

+ 0 - 1
chapter05/gcc-pass2.xml

@@ -157,7 +157,6 @@ cd ../gcc-build</userinput></screen>
     --enable-__cxa_atexit --enable-languages=c,c++ \
     --disable-libstdcxx-pch --disable-multilib \
     --disable-bootstrap --disable-libgomp \
-    --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \
     --without-ppl --without-cloog</userinput></screen>
 
     <variablelist>

+ 1 - 1
chapter06/binutils.xml

@@ -108,7 +108,7 @@ cd ../binutils-build</userinput></screen>
 
     <para>Test the results:</para>
 
-<screen><userinput remap="test">make check</userinput></screen>
+<screen><userinput remap="test">make -j check || true</userinput></screen>
 
     <para>Install the package:</para>
 

+ 2 - 1
chapter06/grub.xml

@@ -46,7 +46,8 @@
              --sysconfdir=/etc       \
              --disable-grub-emu-usb  \
              --disable-grub-fstest   \
-             --disable-efiemu</userinput></screen>
+             --disable-efiemu \
+             --disable-werror</userinput></screen>
 
     <para>The --disable switches minimize what is built by disabling features
     and testing programs not really needed for LFS.</para>

+ 3 - 3
packages.ent

@@ -161,10 +161,10 @@
 <!ENTITY gawk-ch6-du "19 MB">
 <!ENTITY gawk-ch6-sbu "0.2 SBU">
 
-<!ENTITY gcc-version "4.5.2">
-<!ENTITY gcc-size "64,774 KB">
+<!ENTITY gcc-version "4.6.0">
+<!ENTITY gcc-size "69,902 KB">
 <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
-<!ENTITY gcc-md5 "d6559145853fbaaa0fd7556ed93bce9a">
+<!ENTITY gcc-md5 "93d1c436bf991564524701259b6285a2">
 <!ENTITY gcc-home "http://gcc.gnu.org/">
 <!ENTITY gcc-ch5p1-du "809 MB">
 <!ENTITY gcc-ch5p1-sbu "5.0 SBU">

+ 4 - 0
patches.ent

@@ -35,6 +35,10 @@
 <!ENTITY flex-gcc-patch-size "1 KB">
 
 
+<!ENTITY gcc-crosscompile-patch "gcc-&gcc-version;-cross_compile-1.patch">
+<!ENTITY gcc-crosscompile-patch-md5 "1b7886a7a4df3a48617e88a481862264">
+<!ENTITY gcc-crosscompile-patch-size "1.8 KB">
+
 <!ENTITY gcc-startfiles-patch "gcc-&gcc-version;-startfiles_fix-1.patch">
 <!ENTITY gcc-startfiles-patch-md5 "799ef1971350d2e3c794f2123f247cc6">
 <!ENTITY gcc-startfiles-patch-size "1.5 KB">