diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-09-17 17:17:43 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-09-17 17:17:43 +0200 |
commit | 6904ecce5fdd25a9564050101f1003a4d75e7bd5 (patch) | |
tree | 89ba992264de75e3393d02592e0f474a0e934848 /gnu | |
parent | c041886d920f2361702c412e0e19e55184fbf7b6 (diff) | |
download | guix-6904ecce5fdd25a9564050101f1003a4d75e7bd5.tar.gz guix-6904ecce5fdd25a9564050101f1003a4d75e7bd5.zip |
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.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/gcc.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/gcc-fix-pr61801.patch | 25 |
2 files changed, 27 insertions, 1 deletions
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 <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. |