diff options
-rw-r--r-- | gcc6/.gitignore | 1 | ||||
-rw-r--r-- | gcc6/PKGBUILD | 322 | ||||
-rw-r--r-- | gcc6/glibc2.28-ustat.patch | 31 |
3 files changed, 0 insertions, 354 deletions
diff --git a/gcc6/.gitignore b/gcc6/.gitignore deleted file mode 100644 index 90584dda5..000000000 --- a/gcc6/.gitignore +++ /dev/null @@ -1 +0,0 @@ -gcc diff --git a/gcc6/PKGBUILD b/gcc6/PKGBUILD deleted file mode 100644 index 49f38e7bd..000000000 --- a/gcc6/PKGBUILD +++ /dev/null @@ -1,322 +0,0 @@ -# Maintainer: Erich Eckner <arch at eckner dot net> -# Contributor: Sebastiaan Lokhorst <sebastiaanlokhorst@gmail.com> -# Contributor: frankspace -# Contributor: Renan Manola <rmanola@gmail.com> -# Contributor: Stefan Husmann <stefan-husmann@t-online.de> -# Contributor: Joey Dumont <joey.dumont@gmail.com> -# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com> -# Contributor: Allan McRae <allan@archlinux.org> - -pkgbase=gcc6 -pkgname=('gcc6' 'gcc6-libs' 'gcc6-fortran' 'gcc6-gcj') -pkgver=6.4.1 -_ver=6 -_svnrev=263436 -_islver=0.18 -_cloogver=0.18.4 -pkgrel=8 -pkgdesc="The GNU Compiler Collection (6.x.x)" -arch=(x86_64) -license=(GPL LGPL FDL custom) -url="https://gcc.gnu.org/gcc-6/" -makedepends=(binutils libmpc doxygen subversion java-environment-common zip jdk8-openjdk gtk2 libart-lgpl libxtst) -checkdepends=('dejagnu' 'inetutils') -options=(!emptydirs) -source=(gcc::svn://gcc.gnu.org/svn/gcc/branches/gcc-${_ver}-branch#revision=$_svnrev - http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2 - http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz - glibc2.28-ustat.patch) -sha512sums=('SKIP' - '85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94' - 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23' - 'db5d70f6f556c8b17bba89f29487136ce948f82afd064c1715fa1228cfa07e17724f65d3325312d833d2c9bfe37faa85721fa839d4f53c6b6bf1bc3c3e21dafb') - -_libdir="/usr/lib/gcc/$CHOST/$pkgver" - -prepare() { - cd gcc - - # Fix build with glibc 2.28, which removes <sys/ustat.h> - patch -p0 -i "$srcdir/glibc2.28-ustat.patch" - - # Link isl/cloog for in-tree builds - ln -sf ../isl-${_islver} isl - ln -sf ../cloog-${_cloogver} cloog - - # Do not run fixincludes - sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in - - # Arch Linux installs x86_64 libraries /lib - sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 - - # hack! - some configure tests for header files using "$CPP $CPPFLAGS" - sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure - - # Arch uses python version 3 as default python (for gcc6-gcj). - sed -i '1s+python+python2+' libjava/contrib/aot-compile.in - - mkdir -p "${srcdir}/gcc-build" -} - -build() { - cd gcc-build - - # using -pipe causes spurious test-suite failures - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565 - CFLAGS=${CFLAGS/-pipe/} - CXXFLAGS=${CXXFLAGS/-pipe/} - - "${srcdir}/gcc/configure" --prefix=/usr \ - --libdir=/usr/lib \ - --libexecdir=/usr/lib \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --with-bugurl=https://bugs.archlinux.org/ \ - --enable-languages=c,c++,fortran,lto,java \ - --enable-shared \ - --enable-threads=posix \ - --enable-libmpx \ - --with-system-zlib \ - --with-isl \ - --enable-__cxa_atexit \ - --disable-libunwind-exceptions \ - --enable-clocale=gnu \ - --disable-libstdcxx-pch \ - --disable-libssp \ - --enable-gnu-unique-object \ - --enable-linker-build-id \ - --enable-lto \ - --enable-plugin \ - --with-linker-hash-style=gnu \ - --enable-gnu-indirect-function \ - --disable-multilib \ - --disable-werror \ - --enable-checking=release \ - --enable-java-awt=gtk \ - --with-java-home="$JAVA_HOME" \ - --enable-libgcj-multifile \ - --enable-default-pie \ - --enable-default-ssp \ - --enable-version-specific-runtime-libs \ - --program-suffix=-${_ver} \ - --build="${CHOST}" - - make - - # make documentation - make -C ${CHOST}/libstdc++-v3/doc doc-man-doxygen -} - -package_gcc6-libs() { - pkgdesc="Runtime libraries shipped by GCC" - depends=('glibc>=2.25') - options=('!emptydirs' '!strip') - - cd gcc-build - make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared - rm ${pkgdir}/${_libdir}/libgcc_eh.a - - for lib in libatomic \ - libcilkrts \ - libjava \ - libgfortran \ - libgomp \ - libitm \ - libquadmath \ - libsanitizer/{a,l,ub}san \ - libstdc++-v3/src \ - libvtv - do - make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES - done - - make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES - - make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install - make -C $CHOST/libmpx DESTDIR=${pkgdir} install - rm ${pkgdir}/${_libdir}/libmpx.spec - - for lib in libgomp libitm libquadmath - do - make -C $CHOST/$lib DESTDIR=${pkgdir} install-info - done - - # Lazy way of dealing with conflicting files... - rm -rf ${pkgdir}/usr/share/{info,locale,man} - - # Install Runtime Library Exception - install -Dm644 ${srcdir}/gcc/COPYING.RUNTIME \ - ${pkgdir}/usr/share/licenses/$pkgname/RUNTIME.LIBRARY.EXCEPTION -} - -package_gcc6() { - pkgdesc="The GNU Compiler Collection - C and C++ frontends" - depends=("gcc6-libs=${pkgver}-${pkgrel}" 'binutils>=2.28' 'libmpc') - options=('staticlibs') - - cd gcc-build - - make -C gcc DESTDIR=${pkgdir} install-driver install-cpp install-gcc-ar \ - c++.install-common install-headers install-plugin install-lto-wrapper - - for _i in gcov gcov-dump gcov-tool collect2 collect-ld lto1 - do - install -Dm755 gcc/$_i $pkgdir/usr/bin/${_i}-${_ver} - done - - make -C $CHOST/libgcc DESTDIR=${pkgdir} install - rm -f ${pkgdir}/usr/lib/gcc/${CHOST}/lib/libgcc_s.so* - rm -f ${pkgdir}/${_libdir}/libgcc_s.so* - - make -C $CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install - make -C $CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install - make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install - make -C $CHOST/libstdc++-v3/python DESTDIR=${pkgdir} install - - make DESTDIR=${pkgdir} install-libcc1 - install -d $pkgdir/usr/share/gdb/auto-load/usr/lib - #mv ${pkgdir}/${_libdir}/libstdc++.so.6.*-gdb.py \ - # ${pkgdir}/usr/share/gdb/auto-load/{_libdir}/ - rm ${pkgdir}/${_libdir}/libstdc++.so* - - make DESTDIR=${pkgdir} install-fixincludes - make -C gcc DESTDIR=${pkgdir} install-mkheaders - - make -C lto-plugin DESTDIR=${pkgdir} install - install -dm755 ${pkgdir}/usr/lib/bfd-plugins/ - ln -s ${_libdir}/liblto_plugin.so ${pkgdir}/usr/lib/bfd-plugins/ - - make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \ - install-nodist_cilkincludeHEADERS - make -C $CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \ - install-nodist_libsubincludeHEADERS - make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS - make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS - make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS - make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS - make -C $CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS - - #make -C libiberty DESTDIR=${pkgdir} install - # install PIC version of libiberty - #install -m644 ${srcdir}/gcc-${_snapshot}/gcc-build/libiberty/pic/libiberty.a ${pkgdir}/${_libdir}/ - - make -C gcc DESTDIR=${pkgdir} install-man install-info - rm ${pkgdir}/usr/share/man/man1/gfortran-${_ver}.1 - rm ${pkgdir}/usr/share/info/gfortran.info - - make -C libcpp DESTDIR=${pkgdir} install - make -C gcc DESTDIR=${pkgdir} install-po - - # many packages expect this symlink - ln -s gcc-${_ver} ${pkgdir}/usr/bin/cc-${_ver} - - # POSIX conformance launcher scripts for c89 and c99 - cat > $pkgdir/usr/bin/c89-${_ver} <<"EOF" -#!/bin/sh -fl="-std=c89" -for opt; do - case "$opt" in - -ansi|-std=c89|-std=iso9899:1990) fl="";; - -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 - exit 1;; - esac -done -exec gcc-${_ver} $fl ${1+"$@"} -EOF - - cat > $pkgdir/usr/bin/c99-${_ver} <<"EOF" -#!/bin/sh -fl="-std=c99" -for opt; do - case "$opt" in - -std=c99|-std=iso9899:1999) fl="";; - -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 - exit 1;; - esac -done -exec gcc-${_ver} $fl ${1+"$@"} -EOF - - chmod 755 $pkgdir/usr/bin/c{8,9}9-${_ver} - - # Install Runtime Library Exception - install -d ${pkgdir}/usr/share/licenses/$pkgname/ - ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname - - # Lazy way of dealing with conflicting files... - rm -rf ${pkgdir}/usr/share/{info,locale,man} - - # Move potentially conflicting stuff to version specific subdirectory - #[[ -d ${pkgdir}/usr/lib/gcc/${CHOST}/lib/ ]] && mv ${pkgdir}/usr/lib/gcc/${CHOST}/lib/lib* \ - # ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/ - mv $pkgdir/usr/lib/bfd-plugins/liblto_plugin.so ${pkgdir}/usr/lib/bfd-plugins/liblto_plugin-${_ver}.so - mv ${pkgdir}/usr/lib/*.so* ${pkgdir}/${_libdir}/ - install -Dm755 gcc/cc1 ${pkgdir}/${_libdir}/cc1 - install -Dm755 gcc/cc1plus ${pkgdir}/${_libdir}/cc1plus -} - -package_gcc6-fortran() { - pkgdesc="Fortran front-end for GCC" - depends=("gcc6=$pkgver-$pkgrel") - options=('!emptydirs') - - cd gcc-build - make -C $CHOST/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \ - install-{toolexeclibDATA,nodist_fincludeHEADERS} - make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS - make -C gcc DESTDIR=$pkgdir fortran.install-common - install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951 - - ln -s gfortran-6 ${pkgdir}/usr/bin/f95-${_ver} - - # Install Runtime Library Exception - install -d ${pkgdir}/usr/share/licenses/$pkgname - ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/ -} - -package_gcc6-gcj() { - pkgdesc="Java front-end for GCC" - depends=("gcc6=$pkgver-$pkgrel") - replaces=('gcc-gcj') - options=('!emptydirs') - - # Install libjava. - cd gcc-build - make -j1 DESTDIR=${pkgdir} install-target-libjava - - # Install java-common. - cd gcc - make -j1 DESTDIR=${pkgdir} java.install-common java.install-man - - install -m755 jc1 ${pkgdir}/${_libdir}/ - install -m755 jvgenmain ${pkgdir}/${_libdir}/ - - # Remove conflicting files. - rm -f ${pkgdir}/usr/lib/gcc/${CHOST}/lib/libgcc_s.so* - rm -f ${pkgdir}/${_libdir}/libgcc_s.so* - rm ${pkgdir}/${_libdir}/libg{cj,ij}*.so* - - # Rename two files to not conflict to classpath - mv ${pkgdir}/usr/share/info/cp-tools.info ${pkgdir}/usr/share/info/cp-tools-gcj.info - - linkdir=`basename $pkgdir/usr/lib/gcj-${pkgver}*` - ln -sf $linkdir ${pkgdir}/usr/lib/gcj-${pkgver%.?} - ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-${pkgver%.?}.jar - ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj.jar - ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools-${pkgver%.?}.jar - ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools.jar - - rm ${pkgdir}/${_libdir}/libgcc_eh.a - rm ${pkgdir}/${_libdir}/crtbegin.o - rm ${pkgdir}/${_libdir}/crtbeginS.o - rm ${pkgdir}/${_libdir}/crtbeginT.o - rm ${pkgdir}/${_libdir}/crtend.o - rm ${pkgdir}/${_libdir}/crtendS.o - rm ${pkgdir}/${_libdir}/crtfastmath.o - rm ${pkgdir}/${_libdir}/crtprec32.o - rm ${pkgdir}/${_libdir}/crtprec64.o - rm ${pkgdir}/${_libdir}/crtprec80.o - rm ${pkgdir}/${_libdir}/include/unwind.h - rm ${pkgdir}/${_libdir}/libgcc.a - rm ${pkgdir}/${_libdir}/libgcov.a -} diff --git a/gcc6/glibc2.28-ustat.patch b/gcc6/glibc2.28-ustat.patch deleted file mode 100644 index 7c56292d1..000000000 --- a/gcc6/glibc2.28-ustat.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2018/04/25 07:39:32 259630 -+++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2018/05/24 20:07:25 260687 -@@ -157,7 +157,6 @@ - # include <sys/procfs.h> - #endif - #include <sys/user.h> --#include <sys/ustat.h> - #include <linux/cyclades.h> - #include <linux/if_eql.h> - #include <linux/if_plip.h> -@@ -250,7 +249,19 @@ - #endif // SANITIZER_LINUX || SANITIZER_FREEBSD - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned struct_ustat_sz = sizeof(struct ustat); -+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which -+ // has been removed from glibc 2.28. -+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ -+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ -+ || defined(__x86_64__) -+#define SIZEOF_STRUCT_USTAT 32 -+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ -+ || defined(__powerpc__) || defined(__s390__) -+#define SIZEOF_STRUCT_USTAT 20 -+#else -+#error Unknown size of struct ustat -+#endif -+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; - unsigned struct_rlimit64_sz = sizeof(struct rlimit64); - unsigned struct_statvfs64_sz = sizeof(struct statvfs64); - #endif // SANITIZER_LINUX && !SANITIZER_ANDROID |