gcc: Fix bug causing Glibc miscompilation
http://hydra.nixos.org/build/16564205
This commit is contained in:
parent
515dcb0f66
commit
73b75f6157
15
pkgs/development/compilers/gcc/4.8/bug-61801.patch
Normal file
15
pkgs/development/compilers/gcc/4.8/bug-61801.patch
Normal file
@ -0,0 +1,15 @@
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
|
||||
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212740
|
||||
|
||||
--- a/gcc/sched-deps.c 2014/07/17 07:48:49 212739
|
||||
+++ b/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.
|
@ -61,7 +61,7 @@ let version = "4.8.3";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = []
|
||||
patches = [ ./bug-61801.patch ]
|
||||
++ optional enableParallelBuilding ./parallel-bconfig.patch
|
||||
++ optional (cross != null) ./libstdc++-target.patch
|
||||
++ optional noSysDirs ./no-sys-dirs.patch
|
||||
|
Loading…
Reference in New Issue
Block a user