patches/gcc/4.6.3/000-gcc-bug-54369.patch
author Johannes Stezenbach <js@sig21.net>
Tue Oct 30 00:22:25 2012 +0000 (2012-10-30)
changeset 3097 5c67476c7342
permissions -rw-r--r--
scripts/functions: fix endless loop in debug-shell with IO redirection

CT_DEBUG_INTERACTIVE is disabled when stdin, stdout or
stderr are redirected, but the check is only done at
the start of the build and doesn't catch when individual
build commands use redirection. When stdin is redirected
it will cause the debug shell to exit immediately, causing
and endless loop. Thus, save the stdin/our/err file handles
and restore them before invoking the debug shell.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121030102225.GA8303@sig21.net>
Patchwork-Id: 195409
f@3049
     1
Author: ebotcazou
f@3049
     2
Date: Sun Sep  2 10:37:49 2012
f@3049
     3
New Revision: 190860
f@3049
     4
f@3049
     5
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860
f@3049
     6
Log:
f@3049
     7
    PR rtl-optimization/54369
f@3049
     8
    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
f@3049
     9
    calling dbr_schedule.
f@3049
    10
    * config/sparc/sparc.c (sparc_reorg): Likewise.
f@3049
    11
f@3049
    12
Modified:
f@3049
    13
    branches/gcc-4_6-branch/gcc/ChangeLog
f@3049
    14
    branches/gcc-4_6-branch/gcc/config/mips/mips.c
f@3049
    15
    branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
f@3049
    16
---
f@3049
    17
--- gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
f@3049
    18
+++ gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:37:49	190860
f@3049
    19
@@ -15083,7 +15083,10 @@
f@3049
    20
     }
f@3049
    21
 
f@3049
    22
   if (optimize > 0 && flag_delayed_branch)
f@3049
    23
-    dbr_schedule (get_insns ());
f@3049
    24
+    {
f@3049
    25
+      cleanup_barriers ();
f@3049
    26
+      dbr_schedule (get_insns ());
f@3049
    27
+    }
f@3049
    28
   mips_reorg_process_insns ();
f@3049
    29
   if (!TARGET_MIPS16
f@3049
    30
       && TARGET_EXPLICIT_RELOCS
f@3049
    31
--- gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
f@3049
    32
+++ gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:37:49	190860
f@3049
    33
@@ -9456,7 +9456,10 @@
f@3049
    34
   /* We need to have the (essentially) final form of the insn stream in order
f@3049
    35
      to properly detect the various hazards.  Run delay slot scheduling.  */
f@3049
    36
   if (optimize > 0 && flag_delayed_branch)
f@3049
    37
-    dbr_schedule (get_insns ());
f@3049
    38
+    {
f@3049
    39
+      cleanup_barriers ();
f@3049
    40
+      dbr_schedule (get_insns ());
f@3049
    41
+    }
f@3049
    42
 
f@3049
    43
   /* Now look for specific patterns in the insn stream.  */
f@3049
    44
   for (insn = get_insns (); insn; insn = next)
f@3049
    45