summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cross/cross-gcc/PKGBUILD43
-rw-r--r--cross/cross-gcc/gcc.install20
-rw-r--r--cross/cross-gcc/pr66035.patch48
3 files changed, 15 insertions, 96 deletions
diff --git a/cross/cross-gcc/PKGBUILD b/cross/cross-gcc/PKGBUILD
index c0b245a6a..b042156a4 100644
--- a/cross/cross-gcc/PKGBUILD
+++ b/cross/cross-gcc/PKGBUILD
@@ -108,40 +108,34 @@ fi
_pkgname=gcc
pkgname=$_target-$_pkgname
-pkgver=5.2.0
-_pkgver=5
-_islver=0.14.1
-pkgrel=1
-#_snapshot=5-20150623
+pkgver=6.1.1
+_pkgver=6
+_islver=0.16.1
+pkgrel=4
+_commit=c8454ab1
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64' 'armv7h' 'aarch64' 'mips64el')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://$_pkgname.gnu.org"
-makedepends=('binutils>=2.25' 'libmpc' 'doxygen')
+makedepends=('binutils>=2.26' 'libmpc' 'doxygen' 'git')
checkdepends=('dejagnu' 'inetutils')
options=('!emptydirs')
-source=(ftp://$_pkgname.gnu.org/pub/$_pkgname/releases/$_pkgname-${pkgver}/$_pkgname-${pkgver}.tar.bz2
- #ftp://$_pkgname.gnu.org/pub/$_pkgname/snapshots/${_snapshot}/$_pkgname-${_snapshot}.tar.bz2
+source=(git://$_pkgname.gnu.org/git/$_pkgname.git#commit=${_commit}
http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- pr66035.patch
$_pkgname-xtensa.patch::https://raw.githubusercontent.com/qca/open-ath9k-htc-firmware/1.3.2/local/patches/$_pkgname.patch
mips-kfreebsd-gnu.patch)
-md5sums=('a51bcfeb3da7dd4c623e27207ed43467'
- '118d1a379abf7606a3334c98a8411c79'
- '5b980076cd5fcbc3aff6014f306282dd'
+md5sums=('SKIP'
+ 'ac1f25a0677912952718a51f5bc20f32'
'81372ee980289a9f6df01dad31c64a63'
'43282cddb2080b1180f7b76d3a8a832c')
-if [ -n "${_snapshot}" ]; then
- _basedir=$_pkgname-${_snapshot}
-else
- _basedir=$_pkgname-${pkgver}
-fi
+# gcc-6.0 forces a changed triplet - need to address in pacman/devtools
+[[ $CARCH == "x86_64" ]] && CHOST=x86_64-pc-linux-gnu
_libdir="usr/lib/$_pkgname/$_target/$pkgver"
prepare() {
- cd ${srcdir}/${_basedir}
+ cd ${srcdir}/${_pkgname}
# link isl for in-tree build
ln -s ../isl-${_islver} isl
@@ -152,14 +146,9 @@ prepare() {
# Parabola installs x86_64 libraries /lib
[[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' $_pkgname/config/i386/t-linux64
- echo ${pkgver} > $_pkgname/BASE-VER
-
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,$_pkgname}/configure
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66035
- patch -p1 -i ${srcdir}/pr66035.patch
-
# open-ath9k-htc-firmware patch on xtensa-unknown-elf
[[ $_target == xtensa-unknown-elf ]] && patch -p1 -i ${srcdir}/$_pkgname-xtensa.patch
@@ -178,7 +167,7 @@ build() {
CFLAGS=${CFLAGS/-pipe/}
CXXFLAGS=${CXXFLAGS/-pipe/}
- ${srcdir}/${_basedir}/configure --prefix=/usr \
+ ${srcdir}/${_pkgname}/configure --prefix=/usr \
--libdir=/usr/lib --libexecdir=/usr/lib \
--mandir=/usr/share/man \
--with-bugurl=https://labs.parabola.nu/ \
@@ -191,18 +180,16 @@ build() {
--enable-lto --enable-plugin --enable-install-libiberty \
--with-linker-hash-style=gnu --enable-gnu-indirect-function \
--disable-multilib --disable-werror \
- --enable-checking=release \
- --with-default-libstdcxx-abi=gcc4-compatible --disable-nls \
+ --enable-checking=release --disable-nls \
--target=$_target
make all-$_pkgname
}
package() {
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
- depends=("$_target-binutils>=2.25" 'libmpc')
+ depends=("$_target-binutils>=2.26" 'libmpc')
groups=('cross-devel')
options=('staticlibs')
- install=$_pkgname.install
cd ${srcdir}/$_pkgname-build
diff --git a/cross/cross-gcc/gcc.install b/cross/cross-gcc/gcc.install
deleted file mode 100644
index 3407a5e1f..000000000
--- a/cross/cross-gcc/gcc.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/cross/cross-gcc/pr66035.patch b/cross/cross-gcc/pr66035.patch
deleted file mode 100644
index c51822ca1..000000000
--- a/cross/cross-gcc/pr66035.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/gcc/fortran/trans-expr.c
-+++ a/gcc/fortran/trans-expr.c
-@@ -6897,6 +6897,30 @@ alloc_scalar_allocatable_for_subcomponent_assignment (stmtblock_t *block,
- TREE_TYPE (tmp), tmp,
- fold_convert (TREE_TYPE (tmp), size));
- }
-+ else if (cm->ts.type == BT_CLASS)
-+ {
-+ gcc_assert (expr2->ts.type == BT_CLASS || expr2->ts.type == BT_DERIVED);
-+ if (expr2->ts.type == BT_DERIVED)
-+ {
-+ tmp = gfc_get_symbol_decl (gfc_find_vtab (&expr2->ts));
-+ tmp = gfc_build_addr_expr (NULL_TREE, tmp);
-+ size = fold_convert (size_type_node, gfc_vptr_size_get (tmp));
-+ }
-+ else
-+ {
-+ gfc_expr *e2vtab;
-+ gfc_se se;
-+ e2vtab = gfc_find_and_cut_at_last_class_ref (expr2);
-+ gfc_add_vptr_component (e2vtab);
-+ gfc_add_size_component (e2vtab);
-+ gfc_init_se (&se, NULL);
-+ gfc_conv_expr (&se, e2vtab);
-+ gfc_add_block_to_block (block, &se.pre);
-+ size = fold_convert (size_type_node, se.expr);
-+ gfc_free_expr (e2vtab);
-+ }
-+ size_in_bytes = size;
-+ }
- else
- {
- /* Otherwise use the length in bytes of the rhs. */
-@@ -7068,6 +7092,14 @@ gfc_trans_subcomponent_assign (tree dest, gfc_component * cm, gfc_expr * expr,
- tmp = gfc_build_memcpy_call (tmp, se.expr, size);
- gfc_add_expr_to_block (&block, tmp);
- }
-+ else if (cm->ts.type == BT_CLASS && expr->ts.type == BT_CLASS)
-+ {
-+ tmp = gfc_copy_class_to_class (se.expr, dest, integer_one_node,
-+ CLASS_DATA (cm)->attr.unlimited_polymorphic);
-+ gfc_add_expr_to_block (&block, tmp);
-+ gfc_add_modify (&block, gfc_class_vptr_get (dest),
-+ gfc_class_vptr_get (se.expr));
-+ }
- else
- gfc_add_modify (&block, tmp,
- fold_convert (TREE_TYPE (tmp), se.expr));