Index: cross-tools/sparcv8/glibc.xml
===================================================================
--- cross-tools/sparcv8/glibc.xml	(revision fe0b64039cb5d2005c75c3596ef0ef4cf1b7aacb)
+++ cross-tools/sparcv8/glibc.xml	(revision 579e4b215fe715c4dce73355c4c569dc26de409f)
@@ -35,5 +35,4 @@
     xpointer="xpointer(//*[@os='l2'])"/>
 
-
     <para os="l3">If you require libidn support, you can add it
     by unpacking <filename>glibc-libidn-&glibc-linuxthreads-version;</filename>
@@ -50,7 +49,21 @@
     xpointer="xpointer(//*[@os='db'])"/>
 
+<screen os="dc"><userinput>patch -Np1 -i ../&glibc-linuxthreads-libgcc_eh-patch;</userinput></screen>
+
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='dc'])"/>
+    xpointer="xpointer(//*[@os='c'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../../final-system/sparcv8/glibc.xml"
+    xpointer="xpointer(//*[@os='d'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../../final-system/sparcv8/glibc.xml"
+    xpointer="xpointer(//*[@os='s1'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../../final-system/sparcv8/glibc.xml"
+    xpointer="xpointer(//*[@os='s2'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -61,12 +74,4 @@
     href="../../final-system/sparcv8/glibc.xml"
     xpointer="xpointer(//*[@os='l6'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='c'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../common/glibc.xml"
-    xpointer="xpointer(//*[@os='d'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
Index: final-system/sparcv8/glibc.xml
===================================================================
--- final-system/sparcv8/glibc.xml	(revision fe0b64039cb5d2005c75c3596ef0ef4cf1b7aacb)
+++ final-system/sparcv8/glibc.xml	(revision 579e4b215fe715c4dce73355c4c569dc26de409f)
@@ -52,4 +52,9 @@
 
 <screen os="d"><userinput>patch -Np1 -i ../&glibc-linuxthreads-localedef_segfault-patch;</userinput></screen>
+
+   <para os="s1">This patch will fix an obsolete gcc option that was removed in
+   GCC 4.x:</para>
+
+<screen os="s2"><userinput>patch -Np1 -i ../&glibc-sparc_gcc4_fixes-patch;</userinput></screen>
 
     <para os="l5">NPTL is not supported on Sparc v8 and below, so we need to remove the NPTL from our build.
Index: materials/sparcv8/patches.xml
===================================================================
--- materials/sparcv8/patches.xml	(revision fe0b64039cb5d2005c75c3596ef0ef4cf1b7aacb)
+++ materials/sparcv8/patches.xml	(revision 579e4b215fe715c4dce73355c4c569dc26de409f)
@@ -21,4 +21,12 @@
     xpointer="xpointer(//*[@os='gcc-specs-patch'])"/>
 
+    <varlistentry os="glibc-sparc_gcc4_fixes-patch">
+      <term>Glibc GCC4 Patch - 1 KB:</term>
+      <listitem>
+        <para><ulink
+        url="&patches-root;glibc/&glibc-sparc_gcc4_fixes-patch;"/></para>
+      </listitem>
+    </varlistentry>
+
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="../sparc/patches.xml"
Index: patches.ent
===================================================================
--- patches.ent	(revision fe0b64039cb5d2005c75c3596ef0ef4cf1b7aacb)
+++ patches.ent	(revision 579e4b215fe715c4dce73355c4c569dc26de409f)
@@ -85,4 +85,5 @@
 
 <!ENTITY glibc-sparc_tls-patch "glibc-&glibc-version;-sparc_tls-1.patch">
+<!ENTITY glibc-sparc_gcc4_fixes-patch "glibc-&glibc-version;-sparc_gcc4_fixes-1.patch">
 
 <!ENTITY linux-libc-headers-sparc_biarch-patch "linux-libc-headers-&linux-libc-headers-version;-sparc_biarch-1.patch">
Index: temp-system/sparc/binutils.xml
===================================================================
--- temp-system/sparc/binutils.xml	(revision fe0b64039cb5d2005c75c3596ef0ef4cf1b7aacb)
+++ temp-system/sparc/binutils.xml	(revision 579e4b215fe715c4dce73355c4c569dc26de409f)
@@ -65,10 +65,10 @@
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../../cross-tools/common/binutils.xml"
+    xpointer="xpointer(//*[@os='bc'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="../../final-system/common/binutils.xml"
     xpointer="xpointer(//*[@os='j'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../../cross-tools/common/binutils.xml"
-    xpointer="xpointer(//*[@os='be'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
Index: temp-system/sparcv8/binutils.xml
===================================================================
--- temp-system/sparcv8/binutils.xml	(revision fe0b64039cb5d2005c75c3596ef0ef4cf1b7aacb)
+++ temp-system/sparcv8/binutils.xml	(revision 579e4b215fe715c4dce73355c4c569dc26de409f)
@@ -57,10 +57,10 @@
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../../cross-tools/common/binutils.xml"
+    xpointer="xpointer(//*[@os='bc'])"/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="../../final-system/common/binutils.xml"
     xpointer="xpointer(//*[@os='j'])"/>
-
-    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-    href="../../cross-tools/common/binutils.xml"
-    xpointer="xpointer(//*[@os='be'])"/>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
