mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
core/gcc to 4.9.0-3
This commit is contained in:
parent
b43e19b040
commit
b16cc00cd4
2 changed files with 5 additions and 48 deletions
|
@ -16,8 +16,8 @@ noautobuild=1
|
||||||
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-go')
|
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-go')
|
||||||
pkgver=4.9.0
|
pkgver=4.9.0
|
||||||
_pkgver=4.9
|
_pkgver=4.9
|
||||||
pkgrel=2
|
pkgrel=3
|
||||||
_snapshot=4.9-20140507
|
_snapshot=4.9-20140521
|
||||||
pkgdesc="The GNU Compiler Collection"
|
pkgdesc="The GNU Compiler Collection"
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
license=('GPL' 'LGPL' 'FDL' 'custom')
|
license=('GPL' 'LGPL' 'FDL' 'custom')
|
||||||
|
@ -27,11 +27,9 @@ checkdepends=('dejagnu' 'inetutils')
|
||||||
options=('!emptydirs' '!distcc')
|
options=('!emptydirs' '!distcc')
|
||||||
source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
|
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
|
ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
|
||||||
gcc-4.8-filename-output.patch
|
gcc-4.8-filename-output.patch)
|
||||||
gcc-4.9-tree-ssa-threadedge.patch)
|
md5sums=('cd3cbe93ebc7207bf65d30e3c9a74a26'
|
||||||
md5sums=('47dc2b91d2876daff53c20c30164c38f'
|
'40cb437805e2f7a006aa0d0c3098ab0f')
|
||||||
'40cb437805e2f7a006aa0d0c3098ab0f'
|
|
||||||
'311ece7f5446d550e84e28692d2fb823')
|
|
||||||
|
|
||||||
if [ -n "${_snapshot}" ]; then
|
if [ -n "${_snapshot}" ]; then
|
||||||
_basedir=gcc-${_snapshot}
|
_basedir=gcc-${_snapshot}
|
||||||
|
@ -55,9 +53,6 @@ prepare() {
|
||||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653
|
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57653
|
||||||
patch -p0 -i ${srcdir}/gcc-4.8-filename-output.patch
|
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
|
# ALARM: Specify build host types, triplet patch
|
||||||
[[ $CARCH == "arm" ]] && CONFIGFLAG="--host=armv5tel-unknown-linux-gnueabi --build=armv5tel-unknown-linux-gnueabi"
|
[[ $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"
|
[[ $CARCH == "armv6h" ]] && CONFIGFLAG="--host=armv6l-unknown-linux-gnueabihf --build=armv6l-unknown-linux-gnueabihf --with-arch=armv6 --with-float=hard --with-fpu=vfp"
|
||||||
|
|
|
@ -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
|
|
Loading…
Reference in a new issue