~ruther/guix-local

6904ecce5fdd25a9564050101f1003a4d75e7bd5 — Ludovic Courtès 11 years ago c041886
gnu: gcc-4.8.3: Add patch for PR61801.

* gnu/packages/patches/gcc-fix-pr61801.patch: New file.
* gnu/packages/gcc.scm (gcc-4.8): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
3 files changed, 28 insertions(+), 1 deletions(-)

M gnu-system.am
M gnu/packages/gcc.scm
A gnu/packages/patches/gcc-fix-pr61801.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 327,6 327,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/flex-bison-tests.patch			\
  gnu/packages/patches/gawk-shell.patch				\
  gnu/packages/patches/gcc-cross-environment-variables.patch	\
  gnu/packages/patches/gcc-fix-pr61801.patch			\
  gnu/packages/patches/gd-mips64-deplibs-fix.patch		\
  gnu/packages/patches/glib-tests-desktop.patch			\
  gnu/packages/patches/glib-tests-homedir.patch			\

M gnu/packages/gcc.scm => gnu/packages/gcc.scm +2 -1
@@ 268,7 268,8 @@ Go.  It also includes runtime support libraries for these languages.")
                                 version "/gcc-" version ".tar.bz2"))
             (sha256
              (base32
               "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka"))))))
               "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka"))
             (patches (list (search-patch "gcc-fix-pr61801.patch")))))))

(define-public gcc-4.9
  (package (inherit gcc-4.7)

A gnu/packages/patches/gcc-fix-pr61801.patch => gnu/packages/patches/gcc-fix-pr61801.patch +25 -0
@@ 0,0 1,25 @@
GCC bug fix for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801>.
Initially discussed at
 <http://lists.gnu.org/archive/html/guix-devel/2014-09/msg00283.html>.
Patch from <https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212740>.

2014-07-17  Richard Biener  <rguenther@suse.de>

        PR rtl-optimization/61801

        * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
        ASM_INPUT don't set reg_pending_barrier if it appears in a
        debug-insn.

--- gcc-4_8-branch/gcc/sched-deps.c	2014/07/17 07:48:49	212739
+++ gcc-4_8-branch/gcc/sched-deps.c	2014/07/17 07:49:44	212740
@@ -2744,7 +2744,8 @@
 	   Consider for instance a volatile asm that changes the fpu rounding
 	   mode.  An insn should not be moved across this even if it only uses
 	   pseudo-regs because it might give an incorrectly rounded result.  */
-	if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+	if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
+	    && !DEBUG_INSN_P (insn))
 	  reg_pending_barrier = TRUE_BARRIER;
 
 	/* For all ASM_OPERANDS, we must traverse the vector of input operands.