core/gcc to 4.6.2-5

This commit is contained in:
Kevin Mihelich 2012-01-04 17:37:44 -05:00
parent 9abf2bc6e7
commit fc6c05b7fc
2 changed files with 16 additions and 47 deletions

View file

@ -8,34 +8,32 @@
# - removed ada, go packages
# - removed gnat (ada stuff) from gcc packaging
# - disabled make check, too much stress, kills plugs :(
# - specifid build host, disabled distcc and ccache, make -j1 (v5), -j2 (v7)
# - specifid build host, disabled distcc, make -j1 (v5), -j2 (v7)
plugrel=1
noautobuild=1
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc')
pkgver=4.6.2
pkgrel=3
_snapshot=4.6-20111125
_libstdcppmanver=20110814 # Note: check source directory name when updating this
pkgrel=5
_snapshot=4.6-20111223
_libstdcppmanver=20111215 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl')
checkdepends=('dejagnu')
options=('!libtool' '!emptydirs' '!distcc' '!ccache')
options=('!libtool' '!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
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
gcc_pure64.patch
gcc-hash-style-both.patch
gcc-pr49720.patch)
md5sums=('922b0ee688669c188d237bbd21d42d07'
'ce920d2550ff7e042b9f091d27764d8f'
ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man.${_libstdcppmanver}.tar.bz2
gcc_pure64.patch
gcc-hash-style-both.patch)
md5sums=('4755b9f6ac0abecbaa2097ed9738406a'
'450772ce32daed97d7383199f8797f33'
'4030ee1c08dd1e843c0225b772360e76'
'4df25b623799b148a0703eaeec8fdf3f'
'f9d7e5b792c59175f3da3f8421447512')
'4df25b623799b148a0703eaeec8fdf3f')
if [ -n "${_snapshot}" ]; then
_basedir="${srcdir}/gcc-${_snapshot}"
@ -57,14 +55,11 @@ build() {
fi
patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
# fix compiler segfault in binutils testsuite
patch -Np1 -i ${srcdir}/gcc-pr49720.patch
echo ${pkgver} > gcc/BASE-VER
# ALARM: Specify build host types
[[ $CARCH == "arm" ]] && CONFIGFLAG="--host=arm-unknown-linux-gnueabi --build=arm-unknown-linux-gnueabi" && MAKEFLAG="-j1"
[[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabi --build=armv7l-unknown-linux-gnueabi --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16" && MAKEFLAG="-j2"
[[ $CARCH == "arm" ]] && CONFIGFLAG="--host=arm-unknown-linux-gnueabi --build=arm-unknown-linux-gnueabi" && MAKEFLAGS="-j1"
[[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabi --build=armv7l-unknown-linux-gnueabi --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16" && MAKEFLAGS="-j2"
cd ${srcdir}
mkdir gcc-build && cd gcc-build
@ -83,7 +78,7 @@ build() {
--enable-plugin --with-plugin-ld=ld.gold \
--disable-multilib --disable-libssp --disable-libstdcxx-pch \
--enable-checking=release $CONFIGFLAG
make $MAKEFLAG
make
}
check() {
@ -192,7 +187,7 @@ EOF
# install the libstdc++ man pages
install -dm755 ${pkgdir}/usr/share/man/man3
install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
install -m644 ${srcdir}/man3/* ${pkgdir}/usr/share/man/man3/
# Install Runtime Library Exception
install -Dm644 ${_basedir}/COPYING.RUNTIME \

View file

@ -1,26 +0,0 @@
--- trunk/gcc/simplify-rtx.c 2011/10/28 05:55:10 180603
+++ trunk/gcc/simplify-rtx.c 2011/10/28 06:35:31 180604
@@ -4352,10 +4352,20 @@
{
rtx x = XEXP (op0, 0);
rtx c = XEXP (op0, 1);
+ enum rtx_code invcode = op0code == PLUS ? MINUS : PLUS;
+ rtx tem = simplify_gen_binary (invcode, cmp_mode, op1, c);
- c = simplify_gen_binary (op0code == PLUS ? MINUS : PLUS,
- cmp_mode, op1, c);
- return simplify_gen_relational (code, mode, cmp_mode, x, c);
+ /* Detect an infinite recursive condition, where we oscillate at this
+ simplification case between:
+ A + B == C <---> C - B == A,
+ where A, B, and C are all constants with non-simplifiable expressions,
+ usually SYMBOL_REFs. */
+ if (GET_CODE (tem) == invcode
+ && CONSTANT_P (x)
+ && rtx_equal_p (c, XEXP (tem, 1)))
+ return NULL_RTX;
+
+ return simplify_gen_relational (code, mode, cmp_mode, x, tem);
}
/* (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))) is