diff options
-rw-r--r-- | cross/cross-gcc/PKGBUILD | 43 | ||||
-rw-r--r-- | cross/cross-gcc/gcc.install | 20 | ||||
-rw-r--r-- | cross/cross-gcc/pr66035.patch | 48 |
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)); |