This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 1/4] patches/gcc: backport upstream patches for GCC bug 54369.


# HG changeset patch
# User Florian Fainelli <f.fainelli@gmail.com>
# Date 1348043732 -7200
# Node ID 3745957b0e7a8cc5ef2001a4b98f098bff6ef658
# Parent  ff167977b16313c705e71779aa71e4b4f9588d6a
patches/gcc: backport upstream patches for GCC bug 54369.

See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 for more information
This bug has a serious effect on Linux/MIPS and SPARC kernel builds.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

diff -r ff167977b163 -r 3745957b0e7a patches/gcc/4.6.0/000-gcc-bug-54369.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gcc/4.6.0/000-gcc-bug-54369.patch	Wed Sep 19 10:35:32 2012 +0200
@@ -0,0 +1,45 @@
+Author: ebotcazou
+Date: Sun Sep  2 10:37:49 2012
+New Revision: 190860
+
+URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860
+Log:
+    PR rtl-optimization/54369
+    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
+    calling dbr_schedule.
+    * config/sparc/sparc.c (sparc_reorg): Likewise.
+
+Modified:
+    branches/gcc-4_6-branch/gcc/ChangeLog
+    branches/gcc-4_6-branch/gcc/config/mips/mips.c
+    branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
+---
+--- gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:37:49	190860
+@@ -15083,7 +15083,10 @@
+     }
+ 
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+   mips_reorg_process_insns ();
+   if (!TARGET_MIPS16
+       && TARGET_EXPLICIT_RELOCS
+--- gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:37:49	190860
+@@ -9456,7 +9456,10 @@
+   /* We need to have the (essentially) final form of the insn stream in order
+      to properly detect the various hazards.  Run delay slot scheduling.  */
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+ 
+   /* Now look for specific patterns in the insn stream.  */
+   for (insn = get_insns (); insn; insn = next)
+
diff -r ff167977b163 -r 3745957b0e7a patches/gcc/4.6.1/000-gcc-bug-54369.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gcc/4.6.1/000-gcc-bug-54369.patch	Wed Sep 19 10:35:32 2012 +0200
@@ -0,0 +1,45 @@
+Author: ebotcazou
+Date: Sun Sep  2 10:37:49 2012
+New Revision: 190860
+
+URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860
+Log:
+    PR rtl-optimization/54369
+    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
+    calling dbr_schedule.
+    * config/sparc/sparc.c (sparc_reorg): Likewise.
+
+Modified:
+    branches/gcc-4_6-branch/gcc/ChangeLog
+    branches/gcc-4_6-branch/gcc/config/mips/mips.c
+    branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
+---
+--- gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:37:49	190860
+@@ -15083,7 +15083,10 @@
+     }
+ 
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+   mips_reorg_process_insns ();
+   if (!TARGET_MIPS16
+       && TARGET_EXPLICIT_RELOCS
+--- gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:37:49	190860
+@@ -9456,7 +9456,10 @@
+   /* We need to have the (essentially) final form of the insn stream in order
+      to properly detect the various hazards.  Run delay slot scheduling.  */
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+ 
+   /* Now look for specific patterns in the insn stream.  */
+   for (insn = get_insns (); insn; insn = next)
+
diff -r ff167977b163 -r 3745957b0e7a patches/gcc/4.6.2/000-gcc-bug-54369.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gcc/4.6.2/000-gcc-bug-54369.patch	Wed Sep 19 10:35:32 2012 +0200
@@ -0,0 +1,45 @@
+Author: ebotcazou
+Date: Sun Sep  2 10:37:49 2012
+New Revision: 190860
+
+URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860
+Log:
+    PR rtl-optimization/54369
+    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
+    calling dbr_schedule.
+    * config/sparc/sparc.c (sparc_reorg): Likewise.
+
+Modified:
+    branches/gcc-4_6-branch/gcc/ChangeLog
+    branches/gcc-4_6-branch/gcc/config/mips/mips.c
+    branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
+---
+--- gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:37:49	190860
+@@ -15083,7 +15083,10 @@
+     }
+ 
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+   mips_reorg_process_insns ();
+   if (!TARGET_MIPS16
+       && TARGET_EXPLICIT_RELOCS
+--- gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:37:49	190860
+@@ -9456,7 +9456,10 @@
+   /* We need to have the (essentially) final form of the insn stream in order
+      to properly detect the various hazards.  Run delay slot scheduling.  */
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+ 
+   /* Now look for specific patterns in the insn stream.  */
+   for (insn = get_insns (); insn; insn = next)
+
diff -r ff167977b163 -r 3745957b0e7a patches/gcc/4.6.3/000-gcc-bug-54369.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gcc/4.6.3/000-gcc-bug-54369.patch	Wed Sep 19 10:35:32 2012 +0200
@@ -0,0 +1,45 @@
+Author: ebotcazou
+Date: Sun Sep  2 10:37:49 2012
+New Revision: 190860
+
+URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860
+Log:
+    PR rtl-optimization/54369
+    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
+    calling dbr_schedule.
+    * config/sparc/sparc.c (sparc_reorg): Likewise.
+
+Modified:
+    branches/gcc-4_6-branch/gcc/ChangeLog
+    branches/gcc-4_6-branch/gcc/config/mips/mips.c
+    branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
+---
+--- gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:37:49	190860
+@@ -15083,7 +15083,10 @@
+     }
+ 
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+   mips_reorg_process_insns ();
+   if (!TARGET_MIPS16
+       && TARGET_EXPLICIT_RELOCS
+--- gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
++++ gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:37:49	190860
+@@ -9456,7 +9456,10 @@
+   /* We need to have the (essentially) final form of the insn stream in order
+      to properly detect the various hazards.  Run delay slot scheduling.  */
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+ 
+   /* Now look for specific patterns in the insn stream.  */
+   for (insn = get_insns (); insn; insn = next)
+
diff -r ff167977b163 -r 3745957b0e7a patches/gcc/4.7.0/000-gcc-bug-54369.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gcc/4.7.0/000-gcc-bug-54369.patch	Wed Sep 19 10:35:32 2012 +0200
@@ -0,0 +1,45 @@
+Author: ebotcazou
+Date: Sun Sep  2 10:36:54 2012
+New Revision: 190859
+
+URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190859
+Log:
+    PR rtl-optimization/54369
+    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
+    calling dbr_schedule.
+    * config/sparc/sparc.c (sparc_reorg): Likewise.
+
+Modified:
+    branches/gcc-4_7-branch/gcc/ChangeLog
+    branches/gcc-4_7-branch/gcc/config/mips/mips.c
+    branches/gcc-4_7-branch/gcc/config/sparc/sparc.c
+---
+--- gcc-4_7-branch/gcc/config/mips/mips.c	2012/09/02 10:36:27	190858
++++ gcc-4_7-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
+@@ -15415,7 +15415,10 @@
+     }
+ 
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+   mips_reorg_process_insns ();
+   if (!TARGET_MIPS16
+       && TARGET_EXPLICIT_RELOCS
+--- gcc-4_7-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:27	190858
++++ gcc-4_7-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
+@@ -10663,7 +10663,10 @@
+   /* We need to have the (essentially) final form of the insn stream in order
+      to properly detect the various hazards.  Run delay slot scheduling.  */
+   if (optimize > 0 && flag_delayed_branch)
+-    dbr_schedule (get_insns ());
++    {
++      cleanup_barriers ();
++      dbr_schedule (get_insns ());
++    }
+ 
+   /* Now look for specific patterns in the insn stream.  */
+   for (insn = get_insns (); insn; insn = next)
+
exporting patch:
<fdopen>


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]