[Clfs-commits] [Cross-LFS]Cross-LFS Book branch, master, updated. 9fb94bf3b4f92e0f7e2b89d270bb915d3b7c2e97

git git at cross-lfs.org
Wed Jul 13 08:07:20 PDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cross-LFS Book".

The branch, master has been updated
       via  9fb94bf3b4f92e0f7e2b89d270bb915d3b7c2e97 (commit)
      from  cb2118ad3eab91a966e8ba5649b1eaa69527d549 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9fb94bf3b4f92e0f7e2b89d270bb915d3b7c2e97
Author: Jonathan Norman <jonathan at bluesquarelinux.co.uk>
Date:   Wed Jul 13 16:06:26 2011 +0100

    Fixes issue with Mips segfaulting by patching GCC

diff --git a/BOOK/cross-tools/mips-chapter.xml b/BOOK/cross-tools/mips-chapter.xml
index 66a484f..ab1379a 100644
--- a/BOOK/cross-tools/mips-chapter.xml
+++ b/BOOK/cross-tools/mips-chapter.xml
@@ -24,8 +24,8 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/ppl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/cloog-ppl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/binutils-32.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/gcc-static.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mips/gcc-static.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mips/eglibc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/gcc-final.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mips/gcc-final.xml"/>
 
 </chapter>
diff --git a/BOOK/cross-tools/mips/gcc-final.xml b/BOOK/cross-tools/mips/gcc-final.xml
new file mode 100644
index 0000000..cd04080
--- /dev/null
+++ b/BOOK/cross-tools/mips/gcc-final.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-cross-tools-gcc-final" role="wrap">
+  <?dbhtml filename="gcc-final.html"?>
+
+  <title>Cross GCC-&gcc-version; - Final</title>
+
+  <indexterm zone="ch-cross-tools-gcc-final">
+    <primary sortas="a-GCC">GCC</primary>
+    <secondary>cross tools, final</secondary>
+  </indexterm>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+  href="../../final-system/common/gcc.xml"
+  xpointer="xpointer(//*[@role='package'])"/>
+
+  <sect2 role="installation">
+    <title>Installation of GCC Cross Compiler</title>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='p1'])"/>
+    
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='p2'])"/>
+
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='aa'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ab'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='f1'])"/>
+    
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='f2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ag'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ah'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='ai'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='aj'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='f'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='g'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="gcc-static.xml"
+    xpointer="xpointer(//*[@os='h'])"/>
+
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-final.xml"
+    xpointer="xpointer(//*[@os='bf'])"/>
+
+    <variablelist os="bg">
+      <title>The meaning of the new configure options:</title>
+
+      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../common/gcc-final.xml"
+      xpointer="xpointer(//*[@os='bg1'])"/>
+
+      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../common/gcc-final.xml"
+      xpointer="xpointer(//*[@os='bg2'])"/>
+
+      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../common/gcc-final.xml"
+      xpointer="xpointer(//*[@os='bg3'])"/>
+
+      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../common/gcc-final.xml"
+      xpointer="xpointer(//*[@os='bg4'])"/>
+
+      <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+      href="../common/gcc-final.xml"
+      xpointer="xpointer(//*[@os='bg5'])"/>
+
+    </variablelist>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-final.xml"
+    xpointer="xpointer(//*[@os='bh'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-final.xml"
+    xpointer="xpointer(//*[@os='bi'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-final.xml"
+    xpointer="xpointer(//*[@os='bj'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-final.xml"
+    xpointer="xpointer(//*[@os='bk'])"/>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in <xref
+    linkend="contents-gcc" role="."/></para>
+
+  </sect2>
+
+</sect1>
diff --git a/BOOK/cross-tools/mips/gcc-static.xml b/BOOK/cross-tools/mips/gcc-static.xml
new file mode 100644
index 0000000..4ea7760
--- /dev/null
+++ b/BOOK/cross-tools/mips/gcc-static.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-cross-tools-gcc-static" role="wrap">
+  <?dbhtml filename="gcc-static.html"?>
+
+  <title>Cross GCC-&gcc-version; - Static</title>
+
+  <indexterm zone="ch-cross-tools-gcc-static">
+    <primary sortas="a-GCC">GCC</primary>
+    <secondary>cross tools, static</secondary>
+  </indexterm>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+  href="../../final-system/common/gcc.xml"
+  xpointer="xpointer(//*[@role='package'])"/>
+
+  <sect2 role="installation">
+    <title>Installation of Cross GCC Compiler with Static libgcc
+    and no Threads</title>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='p1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../64/gcc-static.xml"
+    xpointer="xpointer(//*[@os='p2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='aa'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../64/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ab'])"/>
+
+    <para os="f1">The following patch fixes and issue that causes GCC
+    to segfault when compilling for Mips.</para>
+
+    <screen os="f2"><userinput>patch -Np1 -i ../&gcc-mips-fix-patch;</userinput></screen>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ag'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ah'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ai'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='aj'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='t1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='t2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../final-system/common/gcc.xml"
+    xpointer="xpointer(//*[@os='f'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../final-system/common/gcc.xml"
+    xpointer="xpointer(//*[@os='g'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../final-system/common/gcc.xml"
+    xpointer="xpointer(//*[@os='h'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='al'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='am'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='an'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ao'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ap'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='aq'])"/>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in <xref
+    linkend="contents-gcc" role="."/></para>
+
+  </sect2>
+
+</sect1>
diff --git a/BOOK/final-system/mips-chapter.xml b/BOOK/final-system/mips-chapter.xml
index fe12126..28b7bf7 100644
--- a/BOOK/final-system/mips-chapter.xml
+++ b/BOOK/final-system/mips-chapter.xml
@@ -26,7 +26,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/cloog-ppl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/zlib.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/binutils.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/gcc.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mips/gcc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/sed.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/ncurses.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/glib.xml"/>
diff --git a/BOOK/final-system/mips/gcc.xml b/BOOK/final-system/mips/gcc.xml
new file mode 100644
index 0000000..e0bcca2
--- /dev/null
+++ b/BOOK/final-system/mips/gcc.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-system-gcc" role="wrap">
+  <?dbhtml filename="gcc.html"?>
+
+  <title>GCC-&gcc-version;</title>
+
+  <indexterm zone="ch-system-gcc">
+    <primary sortas="a-GCC">GCC</primary>
+  </indexterm>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+  href="../common/gcc.xml"
+  xpointer="xpointer(//*[@role='package'])"/>
+
+  <sect2 role="installation">
+    <title>Installation of GCC</title>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='p1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='p2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/mips/gcc-static.xml"
+    xpointer="xpointer(//*[@os='f1'])"/>
+    
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/mips/gcc-static.xml"
+    xpointer="xpointer(//*[@os='f2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='d'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='e'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='f'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='g'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='h'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='i'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='j'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='k'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='l'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='m'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='n'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='o'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='p'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='q'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='r'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='s'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='t'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='u'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='v'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='w'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='x'])"/>
+
+  </sect2>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+  href="../common/gcc.xml"
+  xpointer="xpointer(id('contents-gcc'))"/>
+
+</sect1>
diff --git a/BOOK/general.ent b/BOOK/general.ent
index 4d45302..7aa897b 100644
--- a/BOOK/general.ent
+++ b/BOOK/general.ent
@@ -2,7 +2,7 @@
 
 <!ENTITY month "07"> <!-- Use two digits -->
 <!ENTITY month_name "July">
-<!ENTITY day "03"> <!-- Use two digits -->
+<!ENTITY day "13"> <!-- Use two digits -->
 <!ENTITY year "2011"> <!-- Use four digits -->
 
 <!ENTITY releasedate "&month_name; &day;, &year;">
diff --git a/BOOK/introduction/mips/changelog.xml b/BOOK/introduction/mips/changelog.xml
index f5b3a5e..20b33f2 100644
--- a/BOOK/introduction/mips/changelog.xml
+++ b/BOOK/introduction/mips/changelog.xml
@@ -34,6 +34,15 @@
 -->
 
     <listitem>
+      <para>July 13, 2011</para>
+      <itemizedlist>
+        <listitem>
+          <para>[Jonathan] - Added Mips-fix patch to resolve GCC segfault issue.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>November 21, 2006</para>
       <itemizedlist>
         <listitem>
diff --git a/BOOK/materials/mips/patches.xml b/BOOK/materials/mips/patches.xml
index 661c1d7..9fda2c6 100644
--- a/BOOK/materials/mips/patches.xml
+++ b/BOOK/materials/mips/patches.xml
@@ -29,6 +29,15 @@
       </listitem>
     </varlistentry>
 
+    <varlistentry os="gcc-mips-fix-patch">
+      <term>GCC Mips Fix - <token>&gcc-mips-fix-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink
+        url="&patches-root;&gcc-mips-fix-patch;"/></para>
+        <para>MD5 sum: <literal>&gcc-mips-fix-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="../x86/patches.xml"
     xpointer="xpointer(//*[@os='gcc-specs-patch'])"/>
diff --git a/BOOK/materials/mips64-64/patches.xml b/BOOK/materials/mips64-64/patches.xml
index 41a4a4d..b5d42de 100644
--- a/BOOK/materials/mips64-64/patches.xml
+++ b/BOOK/materials/mips64-64/patches.xml
@@ -21,6 +21,10 @@
     xpointer="xpointer(//*[@os='dvhtool-fixes-patch'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../mips/patches.xml"
+    xpointer="xpointer(//*[@os='gcc-mips-fix-patch'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="../x86_64-64/patches.xml"
     xpointer="xpointer(//*[@os='gcc-pure64-patch'])"/>
 
diff --git a/BOOK/materials/mips64/patches.xml b/BOOK/materials/mips64/patches.xml
index 52a1c1a..b7174de 100644
--- a/BOOK/materials/mips64/patches.xml
+++ b/BOOK/materials/mips64/patches.xml
@@ -29,6 +29,10 @@
     xpointer="xpointer(//*[@os='dvhtool-fixes-patch'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../mips/patches.xml"
+    xpointer="xpointer(//*[@os='gcc-mips-fix-patch'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="../x86/patches.xml"
     xpointer="xpointer(//*[@os='gcc-specs-patch'])"/>
 
diff --git a/BOOK/patches.ent b/BOOK/patches.ent
index 392ca60..7ee681e 100644
--- a/BOOK/patches.ent
+++ b/BOOK/patches.ent
@@ -124,6 +124,10 @@
 <!ENTITY dvhtool-fixes-patch-md5 "a521b380354b6a0c96b2d6308372749d">
 <!ENTITY dvhtool-fixes-patch-size "6 KB">
 
+<!ENTITY gcc-mips-fix-patch "gcc-&gcc-version;-mips_fix-1.patch">
+<!ENTITY gcc-mips-fix-patch-md5 "abf4b55165bb44508d1f8f36188c9e90">
+<!ENTITY gcc-mips-fix-patch-size "8 KB">
+
 <!-- Start of ppc/ppc64 patches -->
 
 <!ENTITY gcc-nof-patch "gcc-&gcc-version;-powerpc64_multilib-1.patch">
diff --git a/BOOK/temp-system/common/.gcc.xml.swp b/BOOK/temp-system/common/.gcc.xml.swp
new file mode 100644
index 0000000..3ebf472
Binary files /dev/null and b/BOOK/temp-system/common/.gcc.xml.swp differ
diff --git a/BOOK/temp-system/mips-chapter.xml b/BOOK/temp-system/mips-chapter.xml
index a93aac5..ead7552 100644
--- a/BOOK/temp-system/mips-chapter.xml
+++ b/BOOK/temp-system/mips-chapter.xml
@@ -20,7 +20,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/cloog-ppl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/zlib.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/binutils.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/gcc.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mips/gcc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/ncurses.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/bash.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common/bison.xml"/>
diff --git a/BOOK/temp-system/mips/gcc.xml b/BOOK/temp-system/mips/gcc.xml
new file mode 100644
index 0000000..54a7271
--- /dev/null
+++ b/BOOK/temp-system/mips/gcc.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-temp-system-gcc" role="wrap">
+  <?dbhtml filename="gcc.html"?>
+
+  <title>GCC-&gcc-version;</title>
+
+  <indexterm zone="ch-temp-system-gcc">
+    <primary sortas="a-GCC">GCC</primary>
+    <secondary>temporary system</secondary>
+  </indexterm>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+  href="../../final-system/common/gcc.xml"
+  xpointer="xpointer(//*[@role='package'])"/>
+
+  <sect2 role="installation">
+    <title>Installation of GCC</title>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='p1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='p2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='aa'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ab'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/mips/gcc-static.xml"
+    xpointer="xpointer(//*[@os='f1'])"/>
+    
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/mips/gcc-static.xml"
+    xpointer="xpointer(//*[@os='f2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ag'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../cross-tools/common/gcc-static.xml"
+    xpointer="xpointer(//*[@os='ah'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cf'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cg'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../final-system/common/gcc.xml"
+    xpointer="xpointer(//*[@os='f'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../final-system/common/gcc.xml"
+    xpointer="xpointer(//*[@os='g'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cj'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../../final-system/common/gcc.xml"
+    xpointer="xpointer(//*[@os='h'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='ck'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cl'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='ts1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='ts2'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cm'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cn'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='co'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../common/gcc.xml"
+    xpointer="xpointer(//*[@os='cp'])"/>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in <xref
+    linkend="contents-gcc" role="."/></para>
+
+  </sect2>
+
+</sect1>
diff --git a/patches/gcc-4.6.0-mips_fix-1.patch b/patches/gcc-4.6.0-mips_fix-1.patch
new file mode 100644
index 0000000..7cbaaa4
--- /dev/null
+++ b/patches/gcc-4.6.0-mips_fix-1.patch
@@ -0,0 +1,155 @@
+Submitted By: Jonathan Norman (jonathan at bluesquarelinux.co.uk)
+Date: 2011-07-12
+Initial Package Version: 4.6.0
+Origin: Upstream
+Upstream Status: Applied
+Description: Fixes a issue with Mips that causes GCC to setfault
+             when using optimation greater than -O0. Taken from
+             GCC Revision 174541 and applied to GCC 4.6.0
+
+diff -Naur gcc-4.6.0.orig/gcc/expmed.c gcc-4.6.0/gcc/expmed.c
+--- gcc-4.6.0.orig/gcc/expmed.c	2011-07-12 16:18:33.939215981 +0000
++++ gcc-4.6.0/gcc/expmed.c	2011-07-12 16:33:51.121616152 +0000
+@@ -1431,7 +1431,7 @@
+       unsigned int nwords = (bitsize + (BITS_PER_WORD - 1)) / BITS_PER_WORD;
+       unsigned int i;
+ 
+-      if (target == 0 || !REG_P (target))
++      if (target == 0 || !REG_P (target) || !valid_multiword_target_p (target))
+ 	target = gen_reg_rtx (mode);
+ 
+       /* Indicate for flow that the entire target reg is being set.  */
+diff -Naur gcc-4.6.0.orig/gcc/optabs.c gcc-4.6.0/gcc/optabs.c
+--- gcc-4.6.0.orig/gcc/optabs.c	2011-07-12 16:18:34.119217377 +0000
++++ gcc-4.6.0/gcc/optabs.c	2011-07-12 16:33:00.296108734 +0000
+@@ -1694,7 +1694,10 @@
+ 
+       /* If TARGET is the same as one of the operands, the REG_EQUAL note
+ 	 won't be accurate, so use a new target.  */
+-      if (target == 0 || target == op0 || target == op1)
++      if (target == 0
++	  || target == op0
++	  || target == op1
++	  || !valid_multiword_target_p (target))
+ 	target = gen_reg_rtx (mode);
+ 
+       start_sequence ();
+@@ -1762,7 +1765,10 @@
+ 
+ 	  /* If TARGET is the same as one of the operands, the REG_EQUAL note
+ 	     won't be accurate, so use a new target.  */
+-	  if (target == 0 || target == op0 || target == op1)
++	  if (target == 0
++	      || target == op0
++	      || target == op1
++	      || !valid_multiword_target_p (target))
+ 	    target = gen_reg_rtx (mode);
+ 
+ 	  start_sequence ();
+@@ -1816,7 +1822,11 @@
+ 	 opportunities, and second because if target and op0 happen to be MEMs
+ 	 designating the same location, we would risk clobbering it too early
+ 	 in the code sequence we generate below.  */
+-      if (target == 0 || target == op0 || target == op1 || ! REG_P (target))
++      if (target == 0
++	  || target == op0
++	  || target == op1
++	  || !REG_P (target)
++	  || !valid_multiword_target_p (target))
+ 	target = gen_reg_rtx (mode);
+ 
+       start_sequence ();
+@@ -1936,7 +1946,7 @@
+ 
+       xtarget = gen_reg_rtx (mode);
+ 
+-      if (target == 0 || !REG_P (target))
++      if (target == 0 || !REG_P (target) || !valid_multiword_target_p (target))
+ 	target = xtarget;
+ 
+       /* Indicate for flow that the entire target reg is being set.  */
+@@ -2689,7 +2699,7 @@
+   t0 = expand_unop (word_mode, bswap_optab,
+ 		    operand_subword_force (op, 1, mode), NULL_RTX, true);
+ 
+-  if (target == 0)
++  if (target == 0 || !valid_multiword_target_p (target))
+     target = gen_reg_rtx (mode);
+   if (REG_P (target))
+     emit_clobber (target);
+@@ -2932,7 +2942,9 @@
+   if (code == ABS)
+     mask = double_int_not (mask);
+ 
+-  if (target == 0 || target == op0)
++  if (target == 0
++      || target == op0
++      || (nwords > 1 && !valid_multiword_target_p (target)))
+     target = gen_reg_rtx (mode);
+ 
+   if (nwords > 1)
+@@ -3140,7 +3152,7 @@
+       int i;
+       rtx insns;
+ 
+-      if (target == 0 || target == op0)
++      if (target == 0 || target == op0 || !valid_multiword_target_p (target))
+ 	target = gen_reg_rtx (mode);
+ 
+       start_sequence ();
+@@ -3611,7 +3623,10 @@
+ 
+   mask = double_int_setbit (double_int_zero, bitpos);
+ 
+-  if (target == 0 || target == op0 || target == op1)
++  if (target == 0
++      || target == op0
++      || target == op1
++      || (nwords > 1 && !valid_multiword_target_p (target)))
+     target = gen_reg_rtx (mode);
+ 
+   if (nwords > 1)
+@@ -7330,4 +7345,21 @@
+   return NULL_RTX;
+ }
+ 
++/* TARGET is a target of a multiword operation that we are going to
++   implement as a series of word-mode operations.  Return true if
++   TARGET is suitable for this purpose.  */
++
++bool
++valid_multiword_target_p (rtx target)
++{
++  enum machine_mode mode;
++  int i;
++
++  mode = GET_MODE (target);
++  for (i = 0; i < GET_MODE_SIZE (mode); i += UNITS_PER_WORD)
++    if (!validate_subreg (word_mode, mode, target, i))
++      return false;
++  return true;
++}
++
+ #include "gt-optabs.h"
+diff -Naur gcc-4.6.0.orig/gcc/optabs.h gcc-4.6.0/gcc/optabs.h
+--- gcc-4.6.0.orig/gcc/optabs.h	2011-07-12 16:18:34.119217377 +0000
++++ gcc-4.6.0/gcc/optabs.h	2011-07-12 16:24:10.888292947 +0000
+@@ -923,4 +923,6 @@
+ extern rtx optab_libfunc (optab optab, enum machine_mode mode);
+ extern rtx convert_optab_libfunc (convert_optab optab, enum machine_mode mode1,
+ 			          enum machine_mode mode2);
++
++extern bool valid_multiword_target_p (rtx);
+ #endif /* GCC_OPTABS_H */
+diff -Naur gcc-4.6.0.orig/gcc/testsuite/gcc.target/mips/pr45074.c gcc-4.6.0/gcc/testsuite/gcc.target/mips/pr45074.c
+--- gcc-4.6.0.orig/gcc/testsuite/gcc.target/mips/pr45074.c	1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.6.0/gcc/testsuite/gcc.target/mips/pr45074.c	2011-07-12 16:19:49.925768556 +0000
+@@ -0,0 +1,8 @@
++/* { dg-options "-mhard-float -mgp32 -O" } */
++register double g __asm__("$f20");
++
++NOMIPS16 void
++test (double a)
++{
++  g = -a;
++}

-----------------------------------------------------------------------

Summary of changes:
 BOOK/cross-tools/mips-chapter.xml                  |    4 +-
 BOOK/cross-tools/{mips64-64 => mips}/gcc-final.xml |   30 ++--
 BOOK/cross-tools/{ppc64 => mips}/gcc-static.xml    |   13 +-
 BOOK/final-system/mips-chapter.xml                 |    2 +-
 BOOK/final-system/{64 => mips}/gcc.xml             |   15 +-
 BOOK/general.ent                                   |    2 +-
 BOOK/introduction/mips/changelog.xml               |    9 +
 BOOK/materials/mips/patches.xml                    |    9 +
 BOOK/materials/mips64-64/patches.xml               |    4 +
 BOOK/materials/mips64/patches.xml                  |    4 +
 BOOK/patches.ent                                   |    4 +
 BOOK/temp-system/common/.gcc.xml.swp               |  Bin 0 -> 16384 bytes
 BOOK/temp-system/mips-chapter.xml                  |    2 +-
 BOOK/temp-system/{ppc => mips}/gcc.xml             |   10 +-
 patches/gcc-4.6.0-mips_fix-1.patch                 |  155 ++++++++++++++++++++
 15 files changed, 229 insertions(+), 34 deletions(-)
 copy BOOK/cross-tools/{mips64-64 => mips}/gcc-final.xml (83%)
 copy BOOK/cross-tools/{ppc64 => mips}/gcc-static.xml (92%)
 copy BOOK/final-system/{64 => mips}/gcc.xml (91%)
 create mode 100644 BOOK/temp-system/common/.gcc.xml.swp
 copy BOOK/temp-system/{ppc => mips}/gcc.xml (91%)
 create mode 100644 patches/gcc-4.6.0-mips_fix-1.patch


hooks/post-receive
-- 
Cross-LFS Book



More information about the Clfs-commits mailing list