summaryrefslogtreecommitdiff
path: root/core/gcc
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2011-12-10 10:00:34 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2011-12-10 10:00:34 +0100
commitfbe815aa83090984779a8b380cbfc1247353d98b (patch)
tree2eb92ffe4f5cb6c6c13f065f3122d9f18264b6c6 /core/gcc
parentd638a96c43b3c4fb9b517e8a66a4e8b1fa999833 (diff)
parentd22b68a6758c4f29a8e50a7be467374a53c68415 (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/qtfm/PKGBUILD core/binutils/PKGBUILD core/fakeroot/PKGBUILD core/gcc/PKGBUILD core/linux-api-headers/PKGBUILD extra/audacious/PKGBUILD extra/kdelibs/PKGBUILD extra/kdemultimedia/PKGBUILD extra/llvm/PKGBUILD extra/maxima/PKGBUILD extra/sbcl/PKGBUILD extra/vigra/PKGBUILD kde-unstable/kdebase-workspace/PKGBUILD multilib/binutils-multilib/PKGBUILD multilib/gcc-multilib/PKGBUILD multilib/lib32-dbus-core/PKGBUILD multilib/lib32-glibc/PKGBUILD multilib/lib32-libgcrypt/PKGBUILD multilib/lib32-libgpg-error/PKGBUILD multilib/lib32-sqlite3/PKGBUILD multilib/lib32-tdb/PKGBUILD multilib/lib32-xcb-util/PKGBUILD
Diffstat (limited to 'core/gcc')
-rw-r--r--core/gcc/PKGBUILD27
-rw-r--r--core/gcc/gcc-pr49720.patch26
2 files changed, 42 insertions, 11 deletions
diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD
index f9633577b..1733d3f43 100644
--- a/core/gcc/PKGBUILD
+++ b/core/gcc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 141368 2011-10-30 06:46:42Z allan $
+# $Id: PKGBUILD 144846 2011-12-08 12:16:58Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -10,31 +10,33 @@ else
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc')
fi
pkgver=4.6.2
-pkgrel=1.1
-#_snapshot=4.6-20110819
+pkgrel=3
+_snapshot=4.6-20111125
_libstdcppmanver=20110814 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
if [[ "${CARCH}" != "mips64el" ]]; then
- makedepends=('binutils>=2.21-9' 'libmpc' 'cloog' 'ppl' 'gcc-ada')
+ makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada')
else
- makedepends=('binutils>=2.21-9' 'libmpc' 'cloog' 'ppl')
+ makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl')
fi
checkdepends=('dejagnu')
options=('!libtool' '!emptydirs')
-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
+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_mips64el_lib.patch
- gcc-hash-style-both.patch)
-md5sums=('028115c4fbfb6cfd75d6369f4a90d87e'
+ gcc-hash-style-both.patch
+ gcc-pr49720.patch)
+md5sums=('922b0ee688669c188d237bbd21d42d07'
'ce920d2550ff7e042b9f091d27764d8f'
'4030ee1c08dd1e843c0225b772360e76'
'67e337993d821d72fccacbed52d48c34'
- '4df25b623799b148a0703eaeec8fdf3f')
+ '4df25b623799b148a0703eaeec8fdf3f'
+ 'f9d7e5b792c59175f3da3f8421447512')
if [ -n "${_snapshot}" ]; then
_basedir="${srcdir}/gcc-${_snapshot}"
@@ -58,6 +60,9 @@ 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
cd ${srcdir}
@@ -132,7 +137,7 @@ package_gcc-libs()
package_gcc()
{
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
- depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.21.1' 'libmpc' 'cloog' 'ppl')
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.22' 'libmpc' 'cloog' 'ppl')
groups=('base-devel')
install=gcc.install
diff --git a/core/gcc/gcc-pr49720.patch b/core/gcc/gcc-pr49720.patch
new file mode 100644
index 000000000..8f50c4120
--- /dev/null
+++ b/core/gcc/gcc-pr49720.patch
@@ -0,0 +1,26 @@
+--- 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