summaryrefslogtreecommitdiff
path: root/patches/gcc
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2012-09-19 08:35:32 (GMT)
committerFlorian Fainelli <f.fainelli@gmail.com>2012-09-19 08:35:32 (GMT)
commitd1c9218c89ee5ac4e8a6e9196fe27118b82586d9 (patch)
tree07e13db5d784556986c848c858673b7db7dcd855 /patches/gcc
parent15bde07c864366a4c6ec12ddaf6587f9ee081a64 (diff)
cc/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. Add the fix for these versions of gcc: 4.6.0, 4.6.2, 4.6.3, and 4.7.0. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'patches/gcc')
-rw-r--r--patches/gcc/4.6.0/000-gcc-bug-54369.patch45
-rw-r--r--patches/gcc/4.6.1/000-gcc-bug-54369.patch45
-rw-r--r--patches/gcc/4.6.2/000-gcc-bug-54369.patch45
-rw-r--r--patches/gcc/4.6.3/000-gcc-bug-54369.patch45
-rw-r--r--patches/gcc/4.7.0/000-gcc-bug-54369.patch45
5 files changed, 225 insertions, 0 deletions
diff --git a/patches/gcc/4.6.0/000-gcc-bug-54369.patch b/patches/gcc/4.6.0/000-gcc-bug-54369.patch
new file mode 100644
index 0000000..b91f0eb
--- /dev/null
+++ b/patches/gcc/4.6.0/000-gcc-bug-54369.patch
@@ -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 --git a/patches/gcc/4.6.1/000-gcc-bug-54369.patch b/patches/gcc/4.6.1/000-gcc-bug-54369.patch
new file mode 100644
index 0000000..b91f0eb
--- /dev/null
+++ b/patches/gcc/4.6.1/000-gcc-bug-54369.patch
@@ -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 --git a/patches/gcc/4.6.2/000-gcc-bug-54369.patch b/patches/gcc/4.6.2/000-gcc-bug-54369.patch
new file mode 100644
index 0000000..b91f0eb
--- /dev/null
+++ b/patches/gcc/4.6.2/000-gcc-bug-54369.patch
@@ -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 --git a/patches/gcc/4.6.3/000-gcc-bug-54369.patch b/patches/gcc/4.6.3/000-gcc-bug-54369.patch
new file mode 100644
index 0000000..b91f0eb
--- /dev/null
+++ b/patches/gcc/4.6.3/000-gcc-bug-54369.patch
@@ -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 --git a/patches/gcc/4.7.0/000-gcc-bug-54369.patch b/patches/gcc/4.7.0/000-gcc-bug-54369.patch
new file mode 100644
index 0000000..60a88b9
--- /dev/null
+++ b/patches/gcc/4.7.0/000-gcc-bug-54369.patch
@@ -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)
+