Browse Source

Upgrade to GCC-4.5.0, including the addition of its new dependency, MPC. Fixes #2636.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9254 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Matthew Burgess 15 năm trước cách đây
mục cha
commit
49168420d4

+ 37 - 1
appendices/dependencies.xml

@@ -584,7 +584,7 @@
 
         <seglistitem>
          <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
-         Gettext, Glibc, GMP, Grep, M4, Make, MPFR, Patch, Perl, Sed, Tar,
+         Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed, Tar,
          and Texinfo</seg>
         </seglistitem>
       </segmentedlist>
@@ -1332,6 +1332,42 @@
         </seglistitem>
       </segmentedlist>
 
+<!-- Begin MPC dependency info -->
+  <bridgehead renderas="sect2" id="mpc-dep">MPC</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP,
+         Make, MPFR, Sed and Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>GCC</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin MPFR dependency info -->
   <bridgehead renderas="sect2" id="mpfr-dep">MPFR</bridgehead>
 

+ 5 - 0
chapter01/changelog.xml

@@ -39,6 +39,11 @@
     <listitem>
       <para>2010-04-20</para>
       <itemizedlist>
+        <listitem>
+          <para>[matthew] Upgrade to GCC-4.5.0, including the addition of its
+          new dependency, MPC.  Fixes
+          <ulink url="&lfs-ticket-root;2636">#2636</ulink>.</para>
+        </listitem>
         <listitem>
           <para>[matthew] Upgrade to Perl-5.12.0.  Fixes
           <ulink url="&lfs-ticket-root;2635">#2635</ulink>.</para>

+ 9 - 2
chapter01/whatsnew.xml

@@ -70,9 +70,9 @@
     <!--<listitem>
       <para>Gawk &gawk-version;</para>
     </listitem>-->
-    <!--<listitem>
+    <listitem>
       <para>GCC &gcc-version;</para>
-    </listitem>-->
+    </listitem>
     <!--<listitem>
       <para>GDBM &gdbm-version;</para>
     </listitem>-->
@@ -139,6 +139,9 @@
     <!--<listitem>
       <para>Module-Init-Tools &module-init-tools-version;</para>
     </listitem>-->
+    <!--<listitem>
+      <para>MPC &mpc-version;</para>
+    </listitem>-->
     <!--<listitem>
       <para>MPFR &mpfr-version;</para>
     </listitem>-->
@@ -214,6 +217,10 @@
       <para>bash-4.1-fixes-1.patch</para>
     </listitem>
 
+    <listitem>
+      <para>MPC-&mpc-version;</para>
+    </listitem>
+
   </itemizedlist>
 
   <itemizedlist>

+ 9 - 0
chapter03/packages.xml

@@ -379,6 +379,15 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>MPC (&mpc-version;) - <token>&mpc-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&mpc-home;"/></para>
+        <para>Download: <ulink url="&mpc-url;"/></para>
+        <para>MD5 sum: <literal>&mpc-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>MPFR (&mpfr-version;) - <token>&mpfr-size;</token>:</term>
       <listitem>

+ 16 - 0
chapter03/patches.xml

@@ -26,6 +26,14 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>Bison GCC-4.5.0 Patch - <token>&bison-gcc-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink url="&patches-root;&bison-gcc-patch;"/></para>
+        <para>MD5 sum: <literal>&bison-gcc-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>Bzip2 Documentation Patch - <token>&bzip2-docs-patch-size;</token>:</term>
       <listitem>
@@ -90,6 +98,14 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>Glibc GCC Build Fix Patch - <token>&glibc-gcc_fix-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink url="&patches-root;&glibc-gcc_fix-patch;"/></para>
+        <para>MD5 sum: <literal>&glibc-gcc_fix-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
 <!--
     <varlistentry>
       <term>GRUB Disk Geometry Patch - <token>&grub-geometry-patch-size;</token>:</term>

+ 4 - 2
chapter05/gcc-pass1.xml

@@ -43,14 +43,16 @@
   <sect2 role="installation">
     <title>Installation of Cross GCC</title>
 
-    <para>GCC now requires the GMP and MPFR packages. As these packages may
+    <para>GCC now requires the GMP, MPFR and MPC packages. As these packages may
     not be included in your host distribution, they will be built with
     GCC:</para>
 
 <screen><userinput remap="pre">tar -jxf ../mpfr-&mpfr-version;.tar.bz2
 mv -v mpfr-&mpfr-version; mpfr
 tar -jxf ../gmp-&gmp-version;.tar.bz2
-mv -v gmp-&gmp-version; gmp</userinput></screen>
+mv -v gmp-&gmp-version; gmp
+tar -zxf ../mpc-&mpc-version;.tar.gz
+mv -v mpc-&mpc-version; mpc</userinput></screen>
 
     <para>The GCC documentation recommends building GCC outside of the
     source directory in a dedicated build directory:</para>

+ 7 - 4
chapter05/gcc-pass2.xml

@@ -128,13 +128,16 @@ done</userinput></screen>
   ;;
 esac</userinput></screen>
 
-    <para>As in the first build of GCC it requires the GMP and MPFR packages.
-    Unpack the tarballs and move them into the required directory names:</para>
+    <para>As in the first build of GCC it requires the GMP, MPFR and MPC
+    packages. Unpack the tarballs and move them into the required directory
+    names:</para>
 
 <screen><userinput remap="pre">tar -jxf ../mpfr-&mpfr-version;.tar.bz2
 mv -v mpfr-&mpfr-version; mpfr
 tar -jxf ../gmp-&gmp-version;.tar.bz2
-mv -v gmp-&gmp-version; gmp</userinput></screen>
+mv -v gmp-&gmp-version; gmp
+tar -zxf ../mpc-&mpc-version;.tar.gz
+mv -v mpc-&mpc-version; mpc</userinput></screen>
 
     <para>Create a separate build directory again:</para>
 
@@ -226,7 +229,7 @@ cd ../gcc-build</userinput></screen>
 
     <para>Compile the package:</para>
 
-<screen><userinput remap="make">make</userinput></screen>
+<screen><userinput remap="make">make LD_LIBRARY_PATH=$(pwd)/$(../gcc-&gcc-version;/config.guess)/libgcc</userinput></screen>
 
     <para>Install the package:</para>
 

+ 4 - 0
chapter05/glibc.xml

@@ -43,6 +43,10 @@
   <sect2 role="installation">
     <title>Installation of Glibc</title>
 
+    <para>Fix a bug that prevents Glibc from building with GCC-&gcc-version;:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen>
+
     <para>The Glibc documentation recommends building Glibc outside of the source
     directory in a dedicated build directory:</para>
 

+ 5 - 0
chapter06/bison.xml

@@ -40,6 +40,11 @@
   <sect2 role="installation">
     <title>Installation of Bison</title>
 
+    <para>Fix an issue with the testsuite, which doesn't correctly handle
+    certain output from GCC-&gcc-version;:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../&bison-gcc-patch;</userinput></screen>
+
     <para>Prepare Bison for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

+ 1 - 0
chapter06/chapter06.xml

@@ -25,6 +25,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gmp.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mpfr.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mpc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>

+ 4 - 0
chapter06/glibc.xml

@@ -92,6 +92,10 @@ unset DL</userinput></screen>
 
 <screen><userinput remap="pre">sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in</userinput></screen>
 
+    <para>Fix a bug that prevents Glibc from building with GCC-&gcc-version;:</para>
+
+<screen><userinput>patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen>
+
     <para>The Glibc documentation recommends building Glibc outside of the source
     directory in a dedicated build directory:</para>
 

+ 13 - 3
packages.ent

@@ -158,10 +158,10 @@
 <!ENTITY gawk-ch6-du "19 MB">
 <!ENTITY gawk-ch6-sbu "0.2 SBU">
 
-<!ENTITY gcc-version "4.4.3">
-<!ENTITY gcc-size "61,470 KB">
+<!ENTITY gcc-version "4.5.0">
+<!ENTITY gcc-size "64,396 KB">
 <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2">
-<!ENTITY gcc-md5 "fe1ca818fc6d2caeffc9051fe67ff103">
+<!ENTITY gcc-md5 "ff27b7c4a5d5060c8a8543a44abca31f">
 <!ENTITY gcc-home "http://gcc.gnu.org/">
 <!ENTITY gcc-ch5p1-du "809 MB">
 <!ENTITY gcc-ch5p1-sbu "5.0 SBU">
@@ -363,6 +363,16 @@
 <!ENTITY module-init-tools-ch6-du "8.7 MB">
 <!ENTITY module-init-tools-ch6-sbu "0.1 SBU">
 
+<!ENTITY mpc-version "0.8.1">
+<!ENTITY mpc-size "532 KB">
+<!ENTITY mpc-url "http://www.multiprecision.org/mpc/download/mpc-&mpc-version;.tar.gz">
+<!ENTITY mpc-md5 "5b34aa804d514cc295414a963aedb6bf">
+<!ENTITY mpc-home "http://www.multiprecision.org/">
+<!ENTITY mpc-ch5-du "? MB">
+<!ENTITY mpc-ch5-sbu "? SBU">
+<!ENTITY mpc-ch6-du "? GB testsuite included">
+<!ENTITY mpc-ch6-sbu "? SBU testsuite included">
+
 <!ENTITY mpfr-version "2.4.2">
 <!ENTITY mpfr-size "1,053 KB">
 <!ENTITY mpfr-url "http://www.mpfr.org/mpfr-&mpfr-version;/mpfr-&mpfr-version;.tar.bz2">

+ 10 - 0
patches.ent

@@ -7,6 +7,11 @@
 <!ENTITY bash-fixes-patch-size "3.8 KB">
 
 
+<!ENTITY bison-gcc-patch "bison-&bison-version;-gcc-1.patch">
+<!ENTITY bison-gcc-patch-md5 "211b0ce6ab8be05fb630b9a81637dcc2">
+<!ENTITY bison-gcc-patch-size "1.8 KB">
+
+
 <!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
 <!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
 <!ENTITY bzip2-docs-patch-size "1.6 KB">
@@ -50,6 +55,11 @@
 <!ENTITY gettext-upstream_fixes-patch-size "2.9 KB">
 
 
+<!ENTITY glibc-gcc_fix-patch "glibc-&glibc-version;-gcc_fix-1.patch">
+<!ENTITY glibc-gcc_fix-patch-md5 "d1f28cb98acb9417fe52596908bbb9fd">
+<!ENTITY glibc-gcc_fix-patch-size "2.5 KB">
+
+
 <!ENTITY grub-inode-patch "grub-&grub-version;-256byte_inode-1.patch">
 <!ENTITY grub-inode-patch-md5 "2482bef9c1866b4045767a56268ba673">
 <!ENTITY grub-inode-patch-size "4.8 KB">