From 10c550bfaba950d9f89ebf9931e4233a5f894e23 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 8 Sep 2014 18:07:07 +0200 Subject: [PATCH] gcc: add patch from gcc-4.9-branch that fixes gcc bug 61801. Without this patch, gcc-4.9.1 miscompiles glibc-2.20 setxid NTPL code, resulting in setgid() returning ENOSYS. --- srcpkgs/gcc/patches/gcc-bug-61801.patch | 14 ++++++++++++++ srcpkgs/gcc/template | 5 ++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/gcc/patches/gcc-bug-61801.patch diff --git a/srcpkgs/gcc/patches/gcc-bug-61801.patch b/srcpkgs/gcc/patches/gcc-bug-61801.patch new file mode 100644 index 00000000000..ef0d279a4d8 --- /dev/null +++ b/srcpkgs/gcc/patches/gcc-bug-61801.patch @@ -0,0 +1,14 @@ +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801 + +--- gcc/sched-deps.c 2014/04/11 12:49:40 209304 ++++ gcc/sched-deps.c 2014/07/17 07:48:49 212739 +@@ -2750,7 +2750,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. diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index 1578b83185f..fe4bb7a5f68 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -2,7 +2,7 @@ pkgname=gcc _majorver=4.9 version=${_majorver}.1 -revision=7 +revision=8 short_desc="The GNU C Compiler" maintainer="Juan RP " homepage="http://gcc.gnu.org" @@ -17,8 +17,7 @@ if [ "$CHROOT_READY" ]; then hostmakedepends="perl flex" fi makedepends="zlib-devel libmpc-devel>=1.0.1_2 cloog-devel>=0.18" - -depends="binutils" +depends="binutils glibc-devel" # mudflap is gone in 4.9 replaces="libmudflap>=0 libmudflap-devel>=0 chroot-gcc>=0"