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.
This commit is contained in:
Ludovic Courtès 2014-09-17 17:17:43 +02:00
parent c041886d92
commit 6904ecce5f
3 changed files with 28 additions and 1 deletions

View File

@ -327,6 +327,7 @@ dist_patch_DATA = \
gnu/packages/patches/flex-bison-tests.patch \ gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-cross-environment-variables.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/gd-mips64-deplibs-fix.patch \
gnu/packages/patches/glib-tests-desktop.patch \ gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \ gnu/packages/patches/glib-tests-homedir.patch \

View File

@ -268,7 +268,8 @@ Go. It also includes runtime support libraries for these languages.")
version "/gcc-" version ".tar.bz2")) version "/gcc-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka")))))) "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka"))
(patches (list (search-patch "gcc-fix-pr61801.patch")))))))
(define-public gcc-4.9 (define-public gcc-4.9
(package (inherit gcc-4.7) (package (inherit gcc-4.7)

View File

@ -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.