diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 7d54b67cf..94dccac3c 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -16,8 +16,8 @@ noautobuild=1 pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-go') pkgver=4.9.0 _pkgver=4.9 -pkgrel=2 -_snapshot=4.9-20140507 +pkgrel=3 +_snapshot=4.9-20140521 pkgdesc="The GNU Compiler Collection" arch=('i686' 'x86_64') license=('GPL' 'LGPL' 'FDL' 'custom') @@ -27,11 +27,9 @@ checkdepends=('dejagnu' 'inetutils') options=('!emptydirs' '!distcc') source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 - gcc-4.8-filename-output.patch - gcc-4.9-tree-ssa-threadedge.patch) -md5sums=('47dc2b91d2876daff53c20c30164c38f' - '40cb437805e2f7a006aa0d0c3098ab0f' - '311ece7f5446d550e84e28692d2fb823') + gcc-4.8-filename-output.patch) +md5sums=('cd3cbe93ebc7207bf65d30e3c9a74a26' + '40cb437805e2f7a006aa0d0c3098ab0f') if [ -n "${_snapshot}" ]; then _basedir=gcc-${_snapshot} @@ -55,9 +53,6 @@ prepare() { # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653 patch -p0 -i ${srcdir}/gcc-4.8-filename-output.patch - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60902 - patch -p1 -i ${srcdir}/gcc-4.9-tree-ssa-threadedge.patch - # ALARM: Specify build host types, triplet patch [[ $CARCH == "arm" ]] && CONFIGFLAG="--host=armv5tel-unknown-linux-gnueabi --build=armv5tel-unknown-linux-gnueabi" [[ $CARCH == "armv6h" ]] && CONFIGFLAG="--host=armv6l-unknown-linux-gnueabihf --build=armv6l-unknown-linux-gnueabihf --with-arch=armv6 --with-float=hard --with-fpu=vfp" diff --git a/core/gcc/gcc-4.9-tree-ssa-threadedge.patch b/core/gcc/gcc-4.9-tree-ssa-threadedge.patch deleted file mode 100644 index 8827427e4..000000000 --- a/core/gcc/gcc-4.9-tree-ssa-threadedge.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- trunk/gcc/tree-ssa-threadedge.c 2014/04/23 17:53:56 209715 -+++ trunk/gcc/tree-ssa-threadedge.c 2014/04/23 18:04:46 209716 -@@ -387,7 +387,34 @@ - && (gimple_code (stmt) != GIMPLE_CALL - || gimple_call_lhs (stmt) == NULL_TREE - || TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME)) -- continue; -+ { -+ /* STMT might still have DEFS and we need to invalidate any known -+ equivalences for them. -+ -+ Consider if STMT is a GIMPLE_ASM with one or more outputs that -+ feeds a conditional inside a loop. We might derive an equivalence -+ due to the conditional. */ -+ tree op; -+ ssa_op_iter iter; -+ -+ if (backedge_seen) -+ FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF) -+ { -+ /* This call only invalidates equivalences created by -+ PHI nodes. This is by design to keep the cost of -+ of invalidation reasonable. */ -+ invalidate_equivalences (op, stack, src_map, dst_map); -+ -+ /* However, conditionals can imply values for real -+ operands as well. And those won't be recorded in the -+ maps. In fact, those equivalences may be recorded totally -+ outside the threading code. We can just create a new -+ temporary NULL equivalence here. */ -+ record_temporary_equivalence (op, NULL_TREE, stack); -+ } -+ -+ continue; -+ } - - /* The result of __builtin_object_size depends on all the arguments - of a phi node. Temporarily using only one edge produces invalid