From 6904ecce5fdd25a9564050101f1003a4d75e7bd5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 17 Sep 2014 17:17:43 +0200 Subject: 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. --- gnu/packages/gcc.scm | 3 ++- gnu/packages/patches/gcc-fix-pr61801.patch | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gcc-fix-pr61801.patch (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 66888389d4..02601585b9 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -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) diff --git a/gnu/packages/patches/gcc-fix-pr61801.patch b/gnu/packages/patches/gcc-fix-pr61801.patch new file mode 100644 index 0000000000..e9cd92aa1c --- /dev/null +++ b/gnu/packages/patches/gcc-fix-pr61801.patch @@ -0,0 +1,25 @@ +GCC bug fix for . +Initially discussed at + . +Patch from . + +2014-07-17 Richard Biener + + 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. -- cgit v1.2.3