From 34e0b4c9228e9473e56ac0e9c3f4727b9c8afc28 Mon Sep 17 00:00:00 2001 From: Michael Gehring Date: Wed, 8 Mar 2017 17:49:09 +0000 Subject: [PATCH] gcc: remove stray patch --- ...af6dbf178664c7b31174e08f2366be40e13b.patch | 5414 ----------------- 1 file changed, 5414 deletions(-) delete mode 100644 srcpkgs/gcc/c18caf6dbf178664c7b31174e08f2366be40e13b.patch diff --git a/srcpkgs/gcc/c18caf6dbf178664c7b31174e08f2366be40e13b.patch b/srcpkgs/gcc/c18caf6dbf178664c7b31174e08f2366be40e13b.patch deleted file mode 100644 index d141f465fff..00000000000 --- a/srcpkgs/gcc/c18caf6dbf178664c7b31174e08f2366be40e13b.patch +++ /dev/null @@ -1,5414 +0,0 @@ -From c18caf6dbf178664c7b31174e08f2366be40e13b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= -Date: Fri, 23 Sep 2016 17:16:17 +0200 -Subject: [PATCH] gcc: update to 6.2.1 - ---- - common/shlibs | 14 +- - srcpkgs/base-chroot-musl/template | 2 +- - srcpkgs/base-chroot/template | 2 +- - srcpkgs/base-devel/template | 2 +- - srcpkgs/chromium/template | 3 +- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-aarch64-linux-gnu/template | 142 ++-- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-aarch64-linux-musl/template | 89 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-arm-linux-gnueabi/template | 147 +++-- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-arm-linux-gnueabihf/template | 149 +++-- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-arm-linux-musleabi/template | 95 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-arm-linux-musleabihf/template | 94 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-armv7l-linux-gnueabihf/template | 150 +++-- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-armv7l-linux-musleabihf/template | 95 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-i686-linux-musl/template | 88 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-i686-pc-linux-gnu/template | 132 ++-- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-mips-linux-musl/template | 91 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-mipsel-linux-musl/template | 91 ++- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-mipsel-linux-muslhf/template | 91 ++- - srcpkgs/cross-vpkg-dummy/template | 4 +- - .../files/fix-cxxflags-passing.patch | 1 + - .../files/gcc-4.9.2-musl.diff | 1 - - .../files/gcc-6.2.1-musl.diff | 1 + - .../files/gcc-spec-env-r1.patch | 1 - - srcpkgs/cross-x86_64-linux-musl/template | 91 ++- - srcpkgs/efivar/template | 3 +- - srcpkgs/gcc-c++ | 1 - - .../gcc-multilib/patches/fix-libiberty_pic.patch | 8 +- - srcpkgs/gcc-multilib/template | 17 +- - srcpkgs/gcc/files/gcc-4.9.2-musl.diff | 730 --------------------- - srcpkgs/gcc/files/gcc-6.2.1-musl.diff | 556 ++++++++++++++++ - srcpkgs/gcc/patches/fix-cxxflags-passing.patch | 10 + - srcpkgs/gcc/patches/fix-musl-execinfo.patch | 33 + - srcpkgs/gcc/patches/gcc-spec-env-r1.patch | 87 --- - srcpkgs/gcc/patches/libcpp-source_date_epoch.patch | 2 +- - srcpkgs/gcc/patches/musl-posix_memalign-c++.patch | 30 - - srcpkgs/gcc/template | 147 +++-- - srcpkgs/isl15-devel | 1 + - srcpkgs/isl15/template | 31 + - srcpkgs/kernel-libc-headers/template | 4 +- - srcpkgs/libmpx | 1 + - srcpkgs/libmpx-devel | 1 + - srcpkgs/rr/template | 2 +- - srcpkgs/virtualbox-ose/template | 3 +- - xbps-src | 6 +- - 86 files changed, 1850 insertions(+), 1441 deletions(-) - create mode 120000 srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch - create mode 120000 srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch - delete mode 120000 srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff - create mode 120000 srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff - delete mode 120000 srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch - delete mode 120000 srcpkgs/gcc-c++ - delete mode 100644 srcpkgs/gcc/files/gcc-4.9.2-musl.diff - create mode 100644 srcpkgs/gcc/files/gcc-6.2.1-musl.diff - create mode 100644 srcpkgs/gcc/patches/fix-cxxflags-passing.patch - create mode 100644 srcpkgs/gcc/patches/fix-musl-execinfo.patch - delete mode 100644 srcpkgs/gcc/patches/gcc-spec-env-r1.patch - delete mode 100644 srcpkgs/gcc/patches/musl-posix_memalign-c++.patch - create mode 120000 srcpkgs/isl15-devel - create mode 100644 srcpkgs/isl15/template - create mode 120000 srcpkgs/libmpx - create mode 120000 srcpkgs/libmpx-devel - -diff --git a/common/shlibs b/common/shlibs -index e43ee26..0b559c6 100644 ---- a/common/shlibs -+++ b/common/shlibs -@@ -50,13 +50,18 @@ libmvec.so.1 glibc-2.22_1 - libz.so.1 zlib-1.2.3_1 - libbz2.so.1 bzip2-1.0.5_1 - libarchive.so.13 libarchive-3.1.2_1 -+libcc1.so.0 gcc-6.2.1_1 -+libcc1plugin.so.0 gcc-6.2.1_1 - libitm.so.1 libitm-4.7.3_1 - libgcj_bc.so.1 libgcj-4.7.3_1 - liblto_plugin.so.0 gcc-4.7.3_1 - libgcc_s.so.1 libgcc-4.4.0_1 --libgcj.so.15 libgcj-4.9.0_1 --libgcj-tools.so.15 libgcj-4.9.0_1 --libgij.so.15 libgcj-4.9.0_1 -+libgcj.so.17 libgcj-6.2.0_1 -+libgcj-tools.so.17 libgcj-6.2.1_1 -+libgij.so.17 libgcj-6.2.1_1 -+libgo.so.9 libgo-6.2.1_1 -+libmpx.so.2 libmpx-6.2.1_1 -+libmpxwrappers.so.2 libmpx-6.2.1_1 - libperl.so.5.24 perl-5.24.0_1 - libmp.so.3 gmp-5.0.1_1 - libgmp.so.10 gmp-5.0.1_1 -@@ -1048,6 +1053,7 @@ libsratom-0.so.0 sratom-0.4.0_1 - libmongoose.so.0 libmongoose-3.1_1 - libpwquality.so.1 libpwquality-1.1.1_1 - libisl.so.10 isl-0.10_1 -+libisl.so.15 isl15-0.16.1_1 - libcloog-isl.so.4 cloog-0.18.1_1 - librtmp.so.0 librtmp-2.4_1 - libORBit-2.so.0 libORBit2-2.14.19_1 -@@ -1652,7 +1658,7 @@ libextractor_common.so.1 libextractor-1.1_1 - libpano13.so.3 libpano13-2.9.19_1 - libubsan.so.0 libsanitizer-4.9.0_1 - libtsan.so.0 libsanitizer-4.9.0_1 --libasan.so.1 libsanitizer-4.9.0_1 -+libasan.so.3 libsanitizer-6.2.0_1 - liblsan.so.0 libsanitizer-4.9.0_1 - libcilkrts.so.5 libcilkrts-4.9.0_1 - libvtv.so.0 libvtv-4.9.0_1 -diff --git a/srcpkgs/base-chroot-musl/template b/srcpkgs/base-chroot-musl/template -index 3271bb6..9aaa2ff 100644 ---- a/srcpkgs/base-chroot-musl/template -+++ b/srcpkgs/base-chroot-musl/template -@@ -16,7 +16,7 @@ only_for_archs="i686-musl x86_64-musl armv6l-musl armv7l-musl aarch64-musl mips- - - depends=" - base-files musl-devel musl-legacy-compat -- gcc gcc-c++ patch chroot-bash chroot-grep coreutils findutils -+ gcc patch chroot-bash chroot-grep coreutils findutils - gettext chroot-texinfo sed chroot-gawk diffutils - make gzip file tar chroot-util-linux chroot-distcc - chroot-git ccache xbps xz which" -diff --git a/srcpkgs/base-chroot/template b/srcpkgs/base-chroot/template -index 074fd21..9c9d09e 100644 ---- a/srcpkgs/base-chroot/template -+++ b/srcpkgs/base-chroot/template -@@ -12,6 +12,6 @@ license="Public domain" - - depends=" - base-files>=0.127 kernel-libc-headers glibc-devel glibc-locales binutils gcc -- gcc-c++ patch chroot-bash chroot-grep coreutils gettext -+ patch chroot-bash chroot-grep coreutils gettext - chroot-texinfo sed chroot-gawk findutils diffutils make gzip file tar - chroot-util-linux chroot-distcc chroot-git ccache xbps xz which" -diff --git a/srcpkgs/base-devel/template b/srcpkgs/base-devel/template -index 1fcdf72..d828744 100644 ---- a/srcpkgs/base-devel/template -+++ b/srcpkgs/base-devel/template -@@ -4,7 +4,7 @@ version=20150820 - revision=2 - build_style=meta - noarch=yes --depends="autoconf automake bc binutils bison ed flex gcc gcc-c++ gettext -+depends="autoconf automake bc binutils bison ed flex gcc gettext - groff libtool m4 make patch pkg-config texinfo unzip xz" - case "$XBPS_TARGET_MACHINE" in - *-musl) depends+=" musl";; -diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template -index 0b49bbc..0a90c97 100644 ---- a/srcpkgs/chromium/template -+++ b/srcpkgs/chromium/template -@@ -30,7 +30,8 @@ depends="libexif hwids desktop-file-utils hicolor-icon-theme" - nostrip_files="nacl_irt_x86_64.nexe nacl_irt_x86_32.nexe" - - if [ -z "$CROSS_BUILD" -a "$XBPS_MACHINE" = "x86_64" ]; then -- hostmakedepends+=" gcc-c++-multilib" -+ # Is this required? -+ hostmakedepends+=" gcc-multilib" - fi - - post_extract() { -diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch b/srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-aarch64-linux-gnu/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch b/srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-aarch64-linux-gnu/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template -index fecccec..5979ee9 100644 ---- a/srcpkgs/cross-aarch64-linux-gnu/template -+++ b/srcpkgs/cross-aarch64-linux-gnu/template -@@ -1,31 +1,31 @@ - # Template build file for 'cross-aarch64-linux-gnu' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _glibc_version=2.24 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=aarch64-linux-gnu - _archflags="-march=armv8-a" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=6 -+version=0.22 -+revision=1 - short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)" - maintainer="Christian Neukirchen " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, LGPL-2.1" - distfiles=" - ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz - ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz -- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz" -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92" -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af" - - lib32disabled=yes - nocross=yes -@@ -61,6 +61,8 @@ _linux_headers() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -68,10 +70,15 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} \ -- --with-sysroot=${_sysroot} --disable-nls --disable-shared \ -- --disable-multilib --disable-werror --enable-gold -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --enable-gold" -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -80,25 +87,40 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --without-headers \ -- --disable-nls --disable-shared --disable-libquadmath \ -- --disable-decimal-float --disable-libgomp --disable-libmudflap \ -- --disable-libssp --disable-libitm --disable-libatomic \ -- --disable-threads --enable-languages=c \ -- --disable-sjlj-exceptions --disable-multilib \ -- --with-gnu-ld --with-gnu-as -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --without-headers" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-threads" -+ _args+=" --enable-languages=c" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --disable-multilib" -+ _args+=" --with-gnu-ld" -+ _args+=" --with-gnu-as" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -107,6 +129,8 @@ _gcc_bootstrap() { - } - - _glibc_headers() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_headers_done ] && return 0 - - cd ${wrksrc} -@@ -122,12 +146,14 @@ _glibc_headers() { - AS="${_triplet}-as" CPP="${_triplet}-cpp" \ - NM="${_triplet}-nm" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache \ -- --enable-obsolete-rpc \ -- --enable-kernel=2.6.27 -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --enable-kernel=2.6.27" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make -k install-headers cross_compiling=yes \ - install_root=${_sysroot} -@@ -136,6 +162,8 @@ _glibc_headers() { - } - - _glibc_build() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_build_done ] && return 0 - - cd ${wrksrc} -@@ -152,12 +180,16 @@ _glibc_build() { - NM="${_triplet}-nm" - export CFLAGS="-Os -pipe -Wno-error ${_archflags}" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr --libdir=/usr/lib \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache \ -- --enable-obsolete-rpc --disable-profile \ -- --enable-kernel=2.6.27 -+ _args="--prefix=/usr" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --disable-profile" -+ _args+=" --enable-kernel=2.6.27" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make ${makejobs} - make install_root=${_sysroot} install -@@ -166,6 +198,8 @@ _glibc_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -186,19 +220,35 @@ _gcc_build() { - touch .sed_subst_done - fi - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \ -- --with-sysroot=${_sysroot} --enable-languages=c,c++,lto \ -- --with-gnu-as --with-gnu-ld --disable-multilib \ -- --disable-nls --disable-sjlj-exceptions \ -- --enable-threads=posix --enable-long-longx \ -- --enable-shared --enable-linker-build-id \ -- --enable-gnu-unique-object --enable-lto \ -- --disable-libquadmath --disable-libatomic \ -- --disable-libssp --disable-libmudflap \ -- --disable-libsanitizer --disable-libcilkrts \ -- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ -- --enable-libstdcxx-time --with-linker-hash-style=gnu -+ _args="--prefix=/usr" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --with-gnu-as" -+ _args+=" --with-gnu-ld" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --enable-threads=posix" -+ _args+=" --enable-long-longx" -+ _args+=" --enable-shared" -+ _args+=" --enable-linker-build-id" -+ _args+=" --enable-gnu-unique-object" -+ _args+=" --enable-lto" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-libcilkrts" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libvtv" -+ _args+=" --disable-libstdcxx-pch" -+ _args+=" --enable-libstdcxx-time" -+ _args+=" --with-linker-hash-style=gnu" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-aarch64-linux-musl/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-aarch64-linux-musl/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-aarch64-linux-musl/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template -index 96b7746..4463a29 100644 ---- a/srcpkgs/cross-aarch64-linux-musl/template -+++ b/srcpkgs/cross-aarch64-linux-musl/template -@@ -1,30 +1,30 @@ - # Template build file for 'cross-aarch64-linux-musl' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=aarch64-linux-musl - _archflags="-march=armv8-a" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=7 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for ARM64 LE target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -56,11 +58,15 @@ _binutils_build() { - - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,25 +75,39 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic --disable-symvers libat_cv_have_ifunc=no -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -118,7 +138,7 @@ _musl_build() { - CC="${_triplet}-gcc" LD="${_triplet}-ld" AR="${_triplet}-ar" \ - AS="${_triplet}-as" RANLIB="${_triplet}-ranlib" \ - CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -127,6 +147,8 @@ _musl_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -135,13 +157,22 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --libexecdir=/usr/lib --enable-languages=c,c++,lto \ -- --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared \ -- --disable-symvers libat_cv_have_ifunc=no -+ _args="--prefix=/usr" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-arm-linux-gnueabi/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-arm-linux-gnueabi/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template -index af76069..a51d7ea 100644 ---- a/srcpkgs/cross-arm-linux-gnueabi/template -+++ b/srcpkgs/cross-arm-linux-gnueabi/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-arm-linux-gnueabi' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _glibc_version=2.24 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=arm-linux-gnueabi - _fpuflags="--with-arch=armv5te --without-fp --with-float=soft" -@@ -11,22 +11,22 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=4 -+version=0.22 -+revision=1 - short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, LGPL-2.1" - distfiles=" - ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz - ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz -- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz" -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92" -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af" - - lib32disabled=yes - nocross=yes -@@ -64,17 +64,23 @@ _linux_headers() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} - msg_normal "Building cross binutils\n" - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} \ -- --with-sysroot=${_sysroot} --disable-nls --disable-shared \ -- --disable-multilib --disable-werror -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host - make ${makejobs} -@@ -84,26 +90,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --without-headers" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-threads" -+ _args+=" --enable-languages=c" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --disable-multilib" -+ _args+=" --with-gnu-ld" -+ _args+=" --with-gnu-as" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --without-headers \ -- --disable-nls --disable-shared --disable-libquadmath \ -- --disable-decimal-float --disable-libgomp --disable-libmudflap \ -- --disable-libssp --disable-libitm --disable-libatomic \ -- --disable-threads --enable-languages=c \ -- --disable-sjlj-exceptions --disable-multilib \ -- --with-gnu-ld --with-gnu-as ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -112,6 +134,8 @@ _gcc_bootstrap() { - } - - _glibc_headers() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_headers_done ] && return 0 - - cd ${wrksrc} -@@ -126,11 +150,15 @@ _glibc_headers() { - export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ - AS="${_triplet}-as" CPP="${_triplet}-cpp" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --enable-obsolete-rpc \ -- --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make -k install-headers cross_compiling=yes \ - install_root=${_sysroot} -@@ -139,6 +167,8 @@ _glibc_headers() { - } - - _glibc_build() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_build_done ] && return 0 - - cd ${wrksrc} -@@ -154,11 +184,17 @@ _glibc_build() { - AS="${_triplet}-as" CPP="${_triplet}-cpp" - export CFLAGS="-Os -pipe ${_archflags}" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --disable-profile --enable-obsolete-rpc \ -- --disable-werror --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --disable-profile" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --disable-werror" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make ${makejobs} - make install_root=${_sysroot} install -@@ -167,6 +203,8 @@ _glibc_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -185,20 +223,39 @@ _gcc_build() { - touch .sed_subst_done - fi - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \ -- --libexecdir=/usr/lib --with-sysroot=${_sysroot} \ -- --enable-languages=c,c++,lto \ -- --with-gnu-as --with-gnu-ld --disable-multilib \ -- --disable-werror --disable-nls --disable-sjlj-exceptions \ -- --enable-threads=posix --enable-long-longx \ -- --enable-shared --enable-linker-build-id \ -- --enable-gnu-unique-object --enable-lto \ -- --disable-libquadmath --disable-libatomic \ -- --disable-libssp --disable-libmudflap \ -- --disable-libsanitizer --disable-libcilkrts \ -- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ -- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --with-gnu-as" -+ _args+=" --with-gnu-ld" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-nls" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --enable-threads=posix" -+ _args+=" --enable-long-longx" -+ _args+=" --enable-shared" -+ _args+=" --enable-linker-build-id" -+ _args+=" --enable-gnu-unique-object" -+ _args+=" --enable-lto" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-libcilkrts" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libvtv" -+ _args+=" --disable-libstdcxx-pch" -+ _args+=" --enable-libstdcxx-time" -+ _args+=" --with-linker-hash-style=gnu" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-arm-linux-gnueabihf/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-arm-linux-gnueabihf/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template -index 0c4b879..8e57daa 100644 ---- a/srcpkgs/cross-arm-linux-gnueabihf/template -+++ b/srcpkgs/cross-arm-linux-gnueabihf/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-arm-linux-gnueabihf' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _glibc_version=2.24 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=arm-linux-gnueabihf - _fpuflags="--with-arch=armv6 --with-fpu=vfp --with-float=hard" -@@ -11,22 +11,22 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=5 -+version=0.22 -+revision=1 - short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="Public Domain" - distfiles=" - ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz - ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz -- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz" -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92" -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af" - - lib32disabled=yes - nocross=yes -@@ -64,6 +64,8 @@ _linux_headers() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -71,10 +73,15 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} \ -- --with-sysroot=${_sysroot} --disable-nls --disable-shared \ -- --disable-multilib --disable-werror -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host - make ${makejobs} -@@ -84,26 +91,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --without-headers" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-threads" -+ _args+=" --enable-languages=c" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --disable-multilib" -+ _args+=" --with-gnu-ld" -+ _args+=" --with-gnu-as" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --without-headers \ -- --disable-nls --disable-shared --disable-libquadmath \ -- --disable-decimal-float --disable-libgomp --disable-libmudflap \ -- --disable-libssp --disable-libitm --disable-libatomic \ -- --disable-threads --enable-languages=c \ -- --disable-sjlj-exceptions --disable-multilib \ -- --with-gnu-ld --with-gnu-as ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -112,6 +135,8 @@ _gcc_bootstrap() { - } - - _glibc_headers() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_headers_done ] && return 0 - - cd ${wrksrc} -@@ -126,11 +151,15 @@ _glibc_headers() { - export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ - AS="${_triplet}-as" CPP="${_triplet}-cpp" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --enable-obsolete-rpc \ -- --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make -k install-headers cross_compiling=yes \ - install_root=${_sysroot} -@@ -139,6 +168,8 @@ _glibc_headers() { - } - - _glibc_build() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_build_done ] && return 0 - - cd ${wrksrc} -@@ -154,11 +185,17 @@ _glibc_build() { - AS="${_triplet}-as" CPP="${_triplet}-cpp" - export CFLAGS="-Os -pipe ${_archflags}" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --disable-profile --enable-obsolete-rpc \ -- --disable-werror --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --disable-profile" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --disable-werror" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make ${makejobs} - make install_root=${_sysroot} install -@@ -167,6 +204,8 @@ _glibc_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -184,21 +223,39 @@ _gcc_build() { - -i ${_sysroot}/lib/libc.so ${_sysroot}/lib/libpthread.so - touch .sed_subst_done - fi -- -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \ -- --libexecdir=/usr/lib --with-sysroot=${_sysroot} \ -- --enable-languages=c,c++,lto \ -- --with-gnu-as --with-gnu-ld --disable-multilib \ -- --disable-werror --disable-nls --disable-sjlj-exceptions \ -- --enable-threads=posix --enable-long-longx \ -- --enable-shared --enable-linker-build-id \ -- --enable-gnu-unique-object --enable-lto \ -- --disable-libquadmath --disable-libatomic \ -- --disable-libssp --disable-libmudflap \ -- --disable-libsanitizer --disable-libcilkrts \ -- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ -- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --with-gnu-as" -+ _args+=" --with-gnu-ld" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-nls" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --enable-threads=posix" -+ _args+=" --enable-long-longx" -+ _args+=" --enable-shared" -+ _args+=" --enable-linker-build-id" -+ _args+=" --enable-gnu-unique-object" -+ _args+=" --enable-lto" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-libcilkrts" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libvtv" -+ _args+=" --disable-libstdcxx-pch" -+ _args+=" --enable-libstdcxx-time" -+ _args+=" --with-linker-hash-style=gnu" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-arm-linux-musleabi/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-arm-linux-musleabi/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template -index 529d084..da60012 100644 ---- a/srcpkgs/cross-arm-linux-musleabi/template -+++ b/srcpkgs/cross-arm-linux-musleabi/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-arm-linux-musleabi' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=arm-linux-musleabi - _fpuflags="--with-arch=armv5te --without-fp --with-float=soft" -@@ -11,21 +11,21 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=5 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for ARMv5 TE target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -57,10 +59,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,26 +77,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -120,7 +144,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -129,6 +153,8 @@ _musl_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -137,12 +163,23 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared \ -- --disable-symvers libat_cv_have_ifunc=no ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libquadmath" -+ _args+=" --enable-shared" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-arm-linux-musleabihf/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template -index 8da3773..60da6af 100644 ---- a/srcpkgs/cross-arm-linux-musleabihf/template -+++ b/srcpkgs/cross-arm-linux-musleabihf/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-arm-linux-musleabihf' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=arm-linux-musleabihf - _fpuflags="--with-arch=armv6 --with-fpu=vfp --with-float=hard" -@@ -11,21 +11,21 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=5 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for ARMv6 LE Hard Float target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -57,10 +59,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,26 +77,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -120,7 +144,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -129,6 +153,7 @@ _musl_build() { - } - - _gcc_build() { -+ local _args - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -137,12 +162,23 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-armv7l-linux-gnueabihf/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template -index f183be2..aee5812 100644 ---- a/srcpkgs/cross-armv7l-linux-gnueabihf/template -+++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-armv7l-linux-gnueabihf' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _glibc_version=2.24 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=armv7l-linux-gnueabihf - _fpuflags="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard" -@@ -11,22 +11,22 @@ _archflags="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=4 -+version=0.22 -+revision=1 - short_desc="GNU Cross toolchain for the ${_triplet} LE target (binutils/gcc/glibc)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3,GPL-2,LGPL-2.1" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz - http://ftp.gnu.org/gnu/glibc/glibc-${_glibc_version}.tar.xz -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz" -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92" -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af" - - lib32disabled=yes - nocross=yes -@@ -64,6 +64,8 @@ _linux_headers() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -71,10 +73,15 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} \ -- --with-sysroot=${_sysroot} --disable-nls --disable-shared \ -- --disable-multilib --disable-werror -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host - make ${makejobs} -@@ -84,26 +91,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --without-headers" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-threads" -+ _args+=" --enable-languages=c" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --disable-multilib" -+ _args+=" --with-gnu-ld" -+ _args+=" --with-gnu-as" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --without-headers \ -- --disable-nls --disable-shared --disable-libquadmath \ -- --disable-decimal-float --disable-libgomp --disable-libmudflap \ -- --disable-libssp --disable-libitm --disable-libatomic \ -- --disable-threads --enable-languages=c \ -- --disable-sjlj-exceptions --disable-multilib \ -- --with-gnu-ld --with-gnu-as ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -112,6 +135,8 @@ _gcc_bootstrap() { - } - - _glibc_headers() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_headers_done ] && return 0 - - cd ${wrksrc} -@@ -126,11 +151,15 @@ _glibc_headers() { - export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ - AS="${_triplet}-as" CPP="${_triplet}-cpp" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --enable-obsolete-rpc \ -- --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make -k install-headers cross_compiling=yes \ - install_root=${_sysroot} -@@ -139,6 +168,8 @@ _glibc_headers() { - } - - _glibc_build() { -+ local _args -+ - [ -f ${wrksrc}/.glibc_build_done ] && return 0 - - cd ${wrksrc} -@@ -154,11 +185,17 @@ _glibc_build() { - AS="${_triplet}-as" CPP="${_triplet}-cpp" - export CFLAGS="-Os -pipe ${_archflags}" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --disable-profile --enable-obsolete-rpc \ -- --disable-werror --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --host=${_triplet}" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --disable-profile" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --disable-werror" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make ${makejobs} - make install_root=${_sysroot} install -@@ -167,6 +204,8 @@ _glibc_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -185,20 +224,39 @@ _gcc_build() { - touch .sed_subst_done - fi - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \ -- --libexecdir=/usr/lib --with-sysroot=${_sysroot} \ -- --enable-languages=c,c++,lto \ -- --with-gnu-as --with-gnu-ld --disable-multilib \ -- --disable-werror --disable-nls --disable-sjlj-exceptions \ -- --enable-threads=posix --enable-long-longx \ -- --enable-shared --enable-linker-build-id \ -- --enable-gnu-unique-object --enable-lto \ -- --disable-libquadmath --disable-libatomic \ -- --disable-libssp --disable-libmudflap \ -- --disable-libsanitizer --disable-libcilkrts \ -- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ -- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --with-gnu-as" -+ _args+=" --with-gnu-ld" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-nls" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --enable-threads=posix" -+ _args+=" --enable-long-longx" -+ _args+=" --enable-shared" -+ _args+=" --enable-linker-build-id" -+ _args+=" --enable-gnu-unique-object" -+ _args+=" --enable-lto" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-libcilkrts" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libvtv" -+ _args+=" --disable-libstdcxx-pch" -+ _args+=" --enable-libstdcxx-time" -+ _args+=" --with-linker-hash-style=gnu" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-armv7l-linux-musleabihf/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template -index 14f2db4..c4c885f 100644 ---- a/srcpkgs/cross-armv7l-linux-musleabihf/template -+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-armv7l-linux-musleabihf' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=armv7l-linux-musleabihf - _fpuflags="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard" -@@ -11,21 +11,21 @@ _archflags="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=5 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for ARMv7 LE Hard Float target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -57,10 +59,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,26 +77,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -121,7 +145,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -130,6 +154,8 @@ _musl_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -138,12 +164,23 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-i686-linux-musl/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-i686-linux-musl/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-i686-linux-musl/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-i686-linux-musl/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template -index ae8b102..83311c5 100644 ---- a/srcpkgs/cross-i686-linux-musl/template -+++ b/srcpkgs/cross-i686-linux-musl/template -@@ -1,30 +1,30 @@ - # Template build file for 'cross-i686-linux-musl' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=i686-linux-musl - _sysroot="/usr/${_triplet}" - _archflags="-march=i686" - - pkgname=cross-${_triplet} --version=0.21 --revision=5 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for i686 target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -48,6 +48,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -55,11 +57,16 @@ _binutils_build() { - - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host - make ${makejobs} -@@ -69,26 +76,40 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args=--prefix=/usr \ -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -121,7 +142,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -130,6 +151,7 @@ _musl_build() { - } - - _gcc_build() { -+ local _args - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -138,11 +160,21 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-libmudflap --enable-shared \ -- --disable-symvers libat_cv_have_ifunc=no ${_fpuflags} -+ _args="--target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --prefix=/usr" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-i686-pc-linux-gnu/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-i686-pc-linux-gnu/template b/srcpkgs/cross-i686-pc-linux-gnu/template -index bb4e0f2..6047c2b 100644 ---- a/srcpkgs/cross-i686-pc-linux-gnu/template -+++ b/srcpkgs/cross-i686-pc-linux-gnu/template -@@ -1,31 +1,31 @@ - # Template build file for 'cross-i686-pc-linux-gnu' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _glibc_version=2.24 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=i686-pc-linux-gnu - _archflags="-march=i686 -mtune=generic" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=4 -+version=0.22 -+revision=1 - short_desc="GNU Cross toolchain for the ${_triplet} target (binutils/gcc/glibc)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, LGPL-2.1" - distfiles=" - ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -- ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz - ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz -- ${KERNEL_SITE}/kernel/v3.x/linux-${_linux_version}.tar.xz" -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92" -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af" - - only_for_archs="armv6l armv7l x86_64" - nocross=yes -@@ -34,7 +34,7 @@ nodebug=yes - lib32disabled=yes - create_wrksrc=yes - hostmakedepends="perl flex" --makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel" -+makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel" - depends="${pkgname}-libc-${version}_${revision}" - nostrip_files="libgcc.a libgcov.a libgcc_eh.a" - -@@ -69,11 +69,12 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - -@@ -82,16 +83,29 @@ _gcc_bootstrap() { - - # Fix https://build.voidlinux.eu/builders/x86_64_builder/builds/24895/steps/shell_3/logs/stdio - export gcc_cv_libc_provides_ssp=yes -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --without-headers" -+ _args+=" --disable-nls" -+ _args+=" --disable-shared" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-threads" -+ _args+=" --enable-languages=c" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --disable-multilib" -+ _args+=" --with-gnu-ld" -+ _args+=" --with-gnu-as" -+ _args+=" ${_fpuflags}" - - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --without-headers \ -- --disable-nls --disable-shared --disable-libquadmath \ -- --disable-decimal-float --disable-libgomp --disable-libmudflap \ -- --disable-libssp --disable-libitm --disable-libatomic \ -- --disable-threads --enable-languages=c \ -- --disable-sjlj-exceptions --disable-multilib \ -- --with-gnu-ld --with-gnu-as ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -114,6 +128,7 @@ _linux_headers() { - } - - _glibc_headers() { -+ local _args - [ -f ${wrksrc}/.glibc_headers_done ] && return 0 - - cd ${wrksrc} -@@ -129,11 +144,15 @@ _glibc_headers() { - export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ - AS="${_triplet}-as" CPP="${_triplet}-cpp" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --enable-obsolete-rpc \ -- --enable-kernel=2.6.27 ${_fpuflags} -+ _args="--target=${_triplet}" -+ _args+=" --prefix=/usr" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" -+ -+ ../glibc-${_glibc_version}/configure ${_args} - - make -k install-headers cross_compiling=yes \ - install_root=${_sysroot} -@@ -142,6 +161,7 @@ _glibc_headers() { - } - - _glibc_build() { -+ local _args - [ -f ${wrksrc}/.glibc_build_done ] && return 0 - - cd ${wrksrc} -@@ -156,13 +176,16 @@ _glibc_build() { - - export CC="${_triplet}-gcc" LD="${_triplet}-ld" \ - AS="${_triplet}-as" CPP="${_triplet}-cpp" -- export CFLAGS="-Os -pipe -Wno-error ${_archflags}" -+ export CFLAGS="-O2 -pipe -Wno-error ${_archflags}" -+ _args="--host=${_triplet}" -+ _args+=" --prefix=/usr" -+ _args+=" --with-headers=${_sysroot}/usr/include" -+ _args+=" --config-cache" -+ _args+=" --enable-obsolete-rpc" -+ _args+=" --enable-kernel=2.6.27" -+ _args+=" ${_fpuflags}" - -- ../glibc-${_glibc_version}/configure \ -- --host=${_triplet} --prefix=/usr \ -- --with-headers=${_sysroot}/usr/include \ -- --config-cache --enable-obsolete-rpc \ -- --enable-kernel=2.6.27 ${_fpuflags} -+ ../glibc-${_glibc_version}/configure ${_args} - - make ${makejobs} - make install_root=${_sysroot} install -@@ -171,6 +194,8 @@ _glibc_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -180,7 +205,6 @@ _gcc_build() { - cd gcc-build - - unset LD AS CPP -- export CC="gcc" CFLAGS="-Os -pipe" - - # Make this link to target libs. - if [ ! -f .sed_subst_done ]; then -@@ -188,20 +212,40 @@ _gcc_build() { - -i ${_sysroot}/lib/libc.so ${_sysroot}/lib/libpthread.so - touch .sed_subst_done - fi -- -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --prefix=/usr --libdir=/usr/lib \ -- --with-sysroot=${_sysroot} --enable-languages=c,c++,lto \ -- --with-gnu-as --with-gnu-ld --disable-multilib \ -- --disable-nls --disable-sjlj-exceptions \ -- --enable-threads=posix --enable-long-longx \ -- --enable-shared --enable-linker-build-id \ -- --enable-gnu-unique-object --enable-lto \ -- --disable-libquadmath --disable-libatomic \ -- --disable-libssp --disable-libmudflap \ -- --disable-libsanitizer --disable-libcilkrts \ -- --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ -- --enable-libstdcxx-time --with-linker-hash-style=gnu ${_fpuflags} -+ _args="--target=${_triplet}" -+ _args+=" --target=${_triplet}" -+ _args+=" --prefix=/usr" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --with-gnu-as" -+ _args+=" --with-gnu-ld" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-sjlj-exceptions" -+ _args+=" --enable-threads=posix" -+ _args+=" --enable-long-longx" -+ _args+=" --enable-shared" -+ _args+=" --enable-linker-build-id" -+ _args+=" --enable-gnu-unique-object" -+ _args+=" --enable-lto" -+ _args+=" --enable-gnu-indirect-function" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-libssp" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-libcilkrts" -+ _args+=" --disable-libitm" -+ _args+=" --disable-libvtv" -+ _args+=" --disable-libstdcxx-pch" -+ _args+=" --enable-libstdcxx-time" -+ _args+=" --with-linker-hash-style=gnu" -+ _args+=" ${_fpuflags}" -+ -+ CC="gcc" CFLAGS="-O2 -pipe" \ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-mips-linux-musl/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-mips-linux-musl/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-mips-linux-musl/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-mips-linux-musl/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template -index a3ffca6..a6a16ed 100644 ---- a/srcpkgs/cross-mips-linux-musl/template -+++ b/srcpkgs/cross-mips-linux-musl/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-mips-linux-musl' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=mips-linux-musl - _fpuflags="--with-float=soft --without-fp" -@@ -11,21 +11,21 @@ _archflags="-march=mips32r2 -msoft-float" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=6 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for MIPS32r2 BE softfloat target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -57,10 +59,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,25 +77,40 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -116,7 +139,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -125,6 +148,8 @@ _musl_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -133,12 +158,22 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --libexecdir=/usr/lib --enable-languages=c,c++,lto \ -- --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-mipsel-linux-musl/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-mipsel-linux-musl/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-mipsel-linux-musl/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template -index 970d595..d0c6fa5 100644 ---- a/srcpkgs/cross-mipsel-linux-musl/template -+++ b/srcpkgs/cross-mipsel-linux-musl/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-mipsel-linux-musl' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=mipsel-linux-musl - _fpuflags="--with-float=soft --without-fp" -@@ -11,21 +11,21 @@ _archflags="-march=mips32r2 -msoft-float" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=6 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for MIPS32r2 LE softfloat target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -57,10 +59,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,25 +77,40 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -116,7 +139,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -125,6 +148,8 @@ _musl_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -133,12 +158,22 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --libexecdir=/usr/lib --enable-languages=c,c++,lto \ -- --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch b/srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-mipsel-linux-muslhf/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template -index 347ea85..1200232 100644 ---- a/srcpkgs/cross-mipsel-linux-muslhf/template -+++ b/srcpkgs/cross-mipsel-linux-muslhf/template -@@ -1,9 +1,9 @@ - # Template build file for 'cross-mipsel-linux-muslhf' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=mipsel-linux-muslhf - _fpuflags="--with-float=hard --with-fp" -@@ -11,21 +11,21 @@ _archflags="-march=mips32r2 -mhard-float" - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=6 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for MIPS32r2 LE hardfloat target (musl)" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -49,6 +49,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -57,10 +59,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host && make ${makejobs} - make install -@@ -69,25 +77,40 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap - -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --with-newlib" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" ${_fpuflags}" -+ - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} --with-newlib \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -116,7 +139,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -125,6 +148,8 @@ _musl_build() { - } - - _gcc_build() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -133,12 +158,22 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --libexecdir=/usr/lib --enable-languages=c,c++,lto \ -- --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-nls --disable-libquadmath \ -- --disable-libmudflap --enable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template -index 0bfd58a..2b4c849 100644 ---- a/srcpkgs/cross-vpkg-dummy/template -+++ b/srcpkgs/cross-vpkg-dummy/template -@@ -1,6 +1,6 @@ - # Template file for 'cross-vpkg-dummy' - pkgname=cross-vpkg-dummy --version=0.21 -+version=0.22 - revision=1 - build_style=meta - short_desc="Dummy meta-pkg for cross building packages with xbps-src" -@@ -23,7 +23,6 @@ provides=" - libgomp-9999_1 - libgomp-devel-9999_1 - gcc-9999_1 -- gcc-c++-9999_1 - glibc-9999_1 - glibc-devel-9999_1 - musl-9999_1" -@@ -36,7 +35,6 @@ conflicts=" - libgomp>=0 - libgomp-devel>=0 - gcc>=0 -- gcc-c++>=0 - glibc>=0 - glibc-devel>=0 - musl>=0" -diff --git a/srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch b/srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch -new file mode 120000 -index 0000000..4a8c831 ---- /dev/null -+++ b/srcpkgs/cross-x86_64-linux-musl/files/fix-cxxflags-passing.patch -@@ -0,0 +1 @@ -+../../gcc/patches/fix-cxxflags-passing.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff b/srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff -deleted file mode 120000 -index 3d53eb4..0000000 ---- a/srcpkgs/cross-x86_64-linux-musl/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/files/gcc-4.9.2-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff b/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff -new file mode 120000 -index 0000000..9081d12 ---- /dev/null -+++ b/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.2.1-musl.diff -@@ -0,0 +1 @@ -+../../gcc/files/gcc-6.2.1-musl.diff -\ No newline at end of file -diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch b/srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch -deleted file mode 120000 -index 8dd1493..0000000 ---- a/srcpkgs/cross-x86_64-linux-musl/files/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1 +0,0 @@ --../../gcc/patches/gcc-spec-env-r1.patch -\ No newline at end of file -diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template -index f63adfc..74da0ea 100644 ---- a/srcpkgs/cross-x86_64-linux-musl/template -+++ b/srcpkgs/cross-x86_64-linux-musl/template -@@ -1,29 +1,29 @@ - # Template build file for 'cross-x86_64-linux-musl' - # - _binutils_version=2.27 --_gcc_version=4.9.4 -+_gcc_version=6.2.1 - _musl_version=1.1.15 --_linux_version=3.18.25 -+_linux_version=4.1.34 - - _triplet=x86_64-linux-musl - _sysroot="/usr/${_triplet}" - - pkgname=cross-${_triplet} --version=0.21 --revision=6 -+version=0.22 -+revision=1 - short_desc="Cross toolchain for x86_64 with musl" - maintainer="Juan RP " - homepage="http://www.voidlinux.eu" - license="GPL-3, GPL-2, MIT" - distfiles=" -- http://ftp.gnu.org/pub/gnu/binutils/binutils-${_binutils_version}.tar.bz2 -- http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 -- http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz -+ ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 -+ http://distfiles.voidlinux.de/gcc-$version/gcc-${_gcc_version}.tar.xz -+ ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz - http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" - checksum=" - 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 -- 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -- c649874e2856101df7cefe5fdad313ebb2282a939fc1e95cf02222327745ff92 -+ 6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 -+ 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa" - - lib32disabled=yes -@@ -47,6 +47,8 @@ _apply_patch() { - } - - _binutils_build() { -+ local _args -+ - [ -f ${wrksrc}/.binutils_build_done ] && return 0 - - cd ${wrksrc} -@@ -55,10 +57,16 @@ _binutils_build() { - [ ! -d binutils-build ] && mkdir binutils-build - cd binutils-build - -- ../binutils-${_binutils_version}/configure \ -- --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ -- --disable-nls --disable-multilib --disable-werror \ -- --disable-shared ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --disable-nls" -+ _args+=" --disable-multilib" -+ _args+=" --disable-werror" -+ _args+=" --disable-shared" -+ _args+=" ${_fpuflags}" -+ -+ ../binutils-${_binutils_version}/configure ${_args} - - make configure-host - make ${makejobs} -@@ -68,26 +76,42 @@ _binutils_build() { - } - - _gcc_bootstrap() { -+ local _args -+ - [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 - - cd ${wrksrc}/gcc-${_gcc_version} -- _apply_patch -p1 ${FILESDIR}/gcc-4.9.2-musl.diff -+ _apply_patch -p1 ${FILESDIR}/gcc-6.2.1-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch -- _apply_patch -p0 ${FILESDIR}/gcc-spec-env-r1.patch -+ _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch - - msg_normal "Building cross gcc bootstrap\n" - - [ ! -d ../gcc-bootstrap ] && mkdir ../gcc-bootstrap - cd ../gcc-bootstrap -+ export ac_cv_c_compiler_gnu=yes -+ -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c" -+ _args+=" --with-newlib" -+ _args+=" --disable-libssp" -+ _args+=" --disable-nls" -+ _args+=" --disable-libquadmath" -+ _args+=" --disable-threads" -+ _args+=" --disable-decimal-float" -+ _args+=" --disable-shared" -+ _args+=" --disable-libmudflap" -+ _args+=" --disable-libgomp" -+ _args+=" --disable-libatomic" -+ _args+=" --disable-symvers" -+ _args+=" --disable-libmpx" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" - - CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0" \ -- ../gcc-${_gcc_version}/configure --prefix=/usr \ -- --target=${_triplet} --with-sysroot=${_sysroot} \ -- --enable-languages=c --with-newlib --disable-libssp --disable-nls \ -- --disable-libquadmath --disable-threads --disable-decimal-float \ -- --disable-shared --disable-libmudflap --disable-libgomp \ -- --disable-libatomic --disable-symvers \ -- libat_cv_have_ifunc=no ${_fpuflags} -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - make install -@@ -120,7 +144,7 @@ _musl_build() { - msg_normal "Building cross musl libc\n" - - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ -- ./configure --prefix=/usr \ -+ ./configure --prefix=/usr - - make ${makejobs} - make DESTDIR=${_sysroot} install -@@ -129,6 +153,7 @@ _musl_build() { - } - - _gcc_build() { -+ local _args - [ -f ${wrksrc}/.gcc_build_done ] && return 0 - - cd ${wrksrc} -@@ -137,11 +162,21 @@ _gcc_build() { - [ ! -d gcc-build ] && mkdir gcc-build - cd gcc-build - -- ../gcc-${_gcc_version}/configure \ -- --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ -- --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \ -- --disable-multilib --disable-libmudflap --enable-shared \ -- --disable-symvers libat_cv_have_ifunc=no ${_fpuflags} -+ _args="--prefix=/usr" -+ _args+=" --target=${_triplet}" -+ _args+=" --with-sysroot=${_sysroot}" -+ _args+=" --enable-languages=c,c++,lto" -+ _args+=" --enable-lto" -+ _args+=" --disable-libsanitizer" -+ _args+=" --disable-multilib" -+ _args+=" --disable-libmpx" -+ _args+=" --disable-libmudflap" -+ _args+=" --enable-shared" -+ _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ _args+=" ${_fpuflags}" -+ -+ ../gcc-${_gcc_version}/configure ${_args} - - make ${makejobs} - -diff --git a/srcpkgs/efivar/template b/srcpkgs/efivar/template -index 390aa8a..63dbc9b 100644 ---- a/srcpkgs/efivar/template -+++ b/srcpkgs/efivar/template -@@ -11,7 +11,8 @@ only_for_archs="i686 i686-musl x86_64 x86_64-musl" - distfiles="https://github.com/rhinstaller/efivar/releases/download/${version}/efivar-${version}.tar.bz2" - checksum=04b9b9de9d9a1a013395400438a033daf4a4290f497ec5be04a120e2ac535094 - --CFLAGS="-Wno-error=deprecated-declarations" -+CFLAGS="-Wno-error -Wno-error=nonnull-compare -Wno-error=unused-const-variable=\ -+ -Wno-error=deprecated-declarations -Wno-error=strict-aliasing" - - do_build() { - sed 's|-rpath=$(TOPDIR)/src/|-rpath=$(libdir)|g' -i src/test/Makefile -diff --git a/srcpkgs/gcc-c++ b/srcpkgs/gcc-c++ -deleted file mode 120000 -index b08d5af..0000000 ---- a/srcpkgs/gcc-c++ -+++ /dev/null -@@ -1 +0,0 @@ --gcc -\ No newline at end of file -diff --git a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch -index 1707d41..134846c 100644 ---- a/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch -+++ b/srcpkgs/gcc-multilib/patches/fix-libiberty_pic.patch -@@ -1,11 +1,13 @@ - --- libiberty/Makefile.in 2016-08-05 17:07:27.540554328 +0200 - +++ libiberty/Makefile.in 2016-08-05 17:18:39.727540789 +0200 --@@ -112,7 +112,7 @@ -+@@ -112,8 +112,8 @@ - - INCDIR=$(srcdir)/$(MULTISRCTOP)../include - ---COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@ --+COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@ -+-COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) \ -+- $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE -++COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -fPIC -I. -I$(INCDIR) \ -++ $(HDEFINES) @ac_libiberty_warn_cflags@ -D_DEFAULT_SOURCE - - # Just to make sure we don't use a built-in rule with VPATH - .c.$(objext): -diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template -index 7b6a119..c1b9d60 100644 ---- a/srcpkgs/gcc-multilib/template -+++ b/srcpkgs/gcc-multilib/template -@@ -1,18 +1,18 @@ - # Template build file for 'gcc-multilib' - only_for_archs="x86_64" - _triplet="x86_64-unknown-linux-gnu" --_majorver=4.9 -+_majorver=6.2 - - pkgname=gcc-multilib --version=${_majorver}.4 -+version=${_majorver}.1 - revision=2 - wrksrc="gcc-${version}" - short_desc="The GNU C Compiler (multilib files)" - maintainer="Juan RP " - homepage="http://gcc.gnu.org" - license="GFDL-1.2, GPL-3, LGPL-2.1" --distfiles="${GNU_SITE}/gcc/gcc-$version/gcc-$version.tar.bz2" --checksum=6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 -+distfiles="http://distfiles.voidlinux.de/gcc-${version}/gcc-${version}.tar.xz" -+checksum=6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - - hostmakedepends="perl flex zip unzip" - makedepends="zlib-devel libmpc-devel ppl-devel cloog-devel -@@ -40,6 +40,8 @@ do_configure() { - sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in - # Do not run fixincludes - sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in -+ # hack! some configure tests for header files using "$CPP $CPPFLAGS" -+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure - - ./configure --prefix=/usr --mandir=/usr/share/man \ - --infodir=/usr/share/info --libexecdir=/usr/lib \ -@@ -81,13 +83,6 @@ do_install() { - rm -f ${DESTDIR}/usr/lib64 - } - --gcc-c++-multilib_package() { -- depends="gcc-c++>=${_majorver} gcc-multilib>=${_majorver} libstdc++-devel-32bit>=${_majorver}" -- short_desc="GCC C++ compiler (multilib files)" -- pkg_install() { -- vmove usr/include/c++ -- } --} - gcc-objc-multilib_package() { - depends="gcc-multilib>=${_majorver} gcc-objc>=${_majorver} libobjc-devel-32bit>=${_majorver}" - short_desc="The GNU Objective-C compiler (multilib files)" -diff --git a/srcpkgs/gcc/files/gcc-4.9.2-musl.diff b/srcpkgs/gcc/files/gcc-4.9.2-musl.diff -deleted file mode 100644 -index 8baafd0..0000000 ---- a/srcpkgs/gcc/files/gcc-4.9.2-musl.diff -+++ /dev/null -@@ -1,730 +0,0 @@ --820c77b17a4a --# HG changeset patch --# Parent 1f830bec5a3f04b2718ce1395743d8e35c26341c --Use the generic implementation of libstdc++ primitives when we're on musl, not the glibc one. -- --diff -r 1f830bec5a3f libstdc++-v3/configure.host ----- a/libstdc++-v3/configure.host Thu Jan 29 14:04:56 2015 -0500 --+++ b/libstdc++-v3/configure.host Thu Jan 29 14:06:11 2015 -0500 --@@ -264,6 +264,13 @@ -- os_include_dir="os/bsd/freebsd" -- ;; -- gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) --+ # check for musl by target --+ case "${host_os}" in --+ *-musl*) --+ os_include_dir="os/generic" --+ ;; --+ *) --+ -- if [ "$uclibc" = "yes" ]; then -- os_include_dir="os/uclibc" -- elif [ "$bionic" = "yes" ]; then --@@ -272,6 +279,9 @@ -- os_include_dir="os/gnu-linux" -- fi -- ;; --+ --+ esac --+ ;; -- hpux*) -- os_include_dir="os/hpux" -- ;; --# HG changeset patch --# Parent fc7bb9343dcd071463a63dfc1b356d579eb0872f --Adding -mmusl as a musl libc specifier, and the necessary hacks for it to know how to find musl's dynamic linker. -- --diff -r fc7bb9343dcd gcc/config.gcc ----- a/gcc/config.gcc Thu Jan 29 14:06:11 2015 -0500 --+++ b/gcc/config.gcc Thu Jan 29 14:06:13 2015 -0500 --@@ -594,7 +594,7 @@ -- esac -- -- # Common C libraries. ---tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" --+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" -- -- # 32-bit x86 processors supported by --with-arch=. Each processor -- # MUST be separated by exactly one space. --@@ -719,6 +719,9 @@ -- *-*-*uclibc*) -- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" -- ;; --+ *-*-*musl*) --+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" --+ ;; -- *) -- tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" -- ;; --diff -r fc7bb9343dcd gcc/config/linux.h ----- a/gcc/config/linux.h Thu Jan 29 14:06:11 2015 -0500 --+++ b/gcc/config/linux.h Thu Jan 29 14:06:13 2015 -0500 --@@ -32,10 +32,12 @@ -- #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) -- #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) -- #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) --+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) -- #else -- #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) -- #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) -- #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) --+#define OPTION_MUSL (linux_libc == LIBC_MUSL) -- #endif -- -- #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ --@@ -53,18 +55,21 @@ -- uClibc or Bionic is the default C library and whether -- -muclibc or -mglibc or -mbionic has been passed to change the default. */ -- ---#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ --- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" --+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ --+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" -- -- #if DEFAULT_LIBC == LIBC_GLIBC ---#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ --- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) --+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ --+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) -- #elif DEFAULT_LIBC == LIBC_UCLIBC ---#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ --- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) --+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ --+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) -- #elif DEFAULT_LIBC == LIBC_BIONIC ---#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ --- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) --+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ --+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) --+#elif DEFAULT_LIBC == LIBC_MUSL --+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ --+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) -- #else -- #error "Unsupported DEFAULT_LIBC" -- #endif /* DEFAULT_LIBC */ --@@ -84,21 +89,92 @@ -- -- #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ --- BIONIC_DYNAMIC_LINKER) --+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) -- #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ --- BIONIC_DYNAMIC_LINKER32) --+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) -- #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ --- BIONIC_DYNAMIC_LINKER64) --+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) -- #define GNU_USER_DYNAMIC_LINKERX32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ --- BIONIC_DYNAMIC_LINKERX32) --+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) -- -- /* Whether we have Bionic libc runtime */ -- #undef TARGET_HAS_BIONIC -- #define TARGET_HAS_BIONIC (OPTION_BIONIC) -- --+/* musl avoids problematic includes by rearranging the include directories. --+ * Unfortunately, this is mostly duplicated from cppdefault.c */ --+#if DEFAULT_LIBC == LIBC_MUSL --+#define INCLUDE_DEFAULTS_MUSL_GPP \ --+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ --+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ --+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ --+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ --+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ --+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, --+ --+#ifdef LOCAL_INCLUDE_DIR --+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ --+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ --+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, --+#else --+#define INCLUDE_DEFAULTS_MUSL_LOCAL --+#endif --+ --+#ifdef PREFIX_INCLUDE_DIR --+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ --+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, --+#else --+#define INCLUDE_DEFAULTS_MUSL_PREFIX --+#endif --+ --+#ifdef CROSS_INCLUDE_DIR --+#define INCLUDE_DEFAULTS_MUSL_CROSS \ --+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, --+#else --+#define INCLUDE_DEFAULTS_MUSL_CROSS --+#endif --+ --+#ifdef TOOL_INCLUDE_DIR --+#define INCLUDE_DEFAULTS_MUSL_TOOL \ --+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, --+#else --+#define INCLUDE_DEFAULTS_MUSL_TOOL --+#endif --+ --+#ifdef NATIVE_SYSTEM_HEADER_DIR --+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ --+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ --+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, --+#else --+#define INCLUDE_DEFAULTS_MUSL_NATIVE --+#endif --+ --+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) --+# undef INCLUDE_DEFAULTS_MUSL_LOCAL --+# define INCLUDE_DEFAULTS_MUSL_LOCAL --+# undef INCLUDE_DEFAULTS_MUSL_NATIVE --+# define INCLUDE_DEFAULTS_MUSL_NATIVE --+#else --+# undef INCLUDE_DEFAULTS_MUSL_CROSS --+# define INCLUDE_DEFAULTS_MUSL_CROSS --+#endif --+ --+#undef INCLUDE_DEFAULTS --+#define INCLUDE_DEFAULTS \ --+ { \ --+ INCLUDE_DEFAULTS_MUSL_GPP \ --+ INCLUDE_DEFAULTS_MUSL_PREFIX \ --+ INCLUDE_DEFAULTS_MUSL_CROSS \ --+ INCLUDE_DEFAULTS_MUSL_TOOL \ --+ INCLUDE_DEFAULTS_MUSL_NATIVE \ --+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ --+ { 0, 0, 0, 0, 0, 0 } \ --+ } --+#endif --+ -- #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ -- /* This is a *uclinux* target. We don't define below macros to normal linux -- versions, because doing so would require *uclinux* targets to include --diff -r fc7bb9343dcd gcc/config/linux.opt ----- a/gcc/config/linux.opt Thu Jan 29 14:06:11 2015 -0500 --+++ b/gcc/config/linux.opt Thu Jan 29 14:06:13 2015 -0500 --@@ -30,3 +30,7 @@ -- muclibc -- Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) -- Use uClibc C library --+ --+mmusl --+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) --+Use musl C library --diff -r fc7bb9343dcd gcc/ginclude/stddef.h ----- a/gcc/ginclude/stddef.h Thu Jan 29 14:06:11 2015 -0500 --+++ b/gcc/ginclude/stddef.h Thu Jan 29 14:06:13 2015 -0500 --@@ -181,6 +181,7 @@ -- #ifndef _GCC_SIZE_T -- #ifndef _SIZET_ -- #ifndef __size_t --+#ifndef __DEFINED_size_t /* musl */ -- #define __size_t__ /* BeOS */ -- #define __SIZE_T__ /* Cray Unicos/Mk */ -- #define _SIZE_T --@@ -197,6 +198,7 @@ -- #define ___int_size_t_h -- #define _GCC_SIZE_T -- #define _SIZET_ --+#define __DEFINED_size_t /* musl */ -- #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ -- || defined(__FreeBSD_kernel__) -- /* __size_t is a typedef on FreeBSD 5, must not trash it. */ --@@ -214,6 +216,7 @@ -- typedef long ssize_t; -- #endif /* __BEOS__ */ -- #endif /* !(defined (__GNUG__) && defined (size_t)) */ --+#endif /* __DEFINED_size_t */ -- #endif /* __size_t */ -- #endif /* _SIZET_ */ -- #endif /* _GCC_SIZE_T */ --# HG changeset patch --# Parent ad6952ac547606025a6fb8496584cbfe1b73a8b7 --A fix for libgomp to correctly request a POSIX version for time support. -- --diff -r ad6952ac5476 libgomp/config/posix/time.c ----- a/libgomp/config/posix/time.c Thu Jan 29 14:06:13 2015 -0500 --+++ b/libgomp/config/posix/time.c Thu Jan 29 14:06:16 2015 -0500 --@@ -28,6 +28,8 @@ -- The following implementation uses the most simple POSIX routines. -- If present, POSIX 4 clocks should be used instead. */ -- --+#define _POSIX_C_SOURCE 199309L /* for clocks */ --+ -- #include "libgomp.h" -- #include -- #if TIME_WITH_SYS_TIME --diff -r ffa879f29d52 libgcc/unwind-dw2-fde-dip.c ----- a/libgcc/unwind-dw2-fde-dip.c Thu Jan 29 14:06:15 2015 -0500 --+++ b/libgcc/unwind-dw2-fde-dip.c Thu Jan 29 14:06:18 2015 -0500 --@@ -46,33 +46,13 @@ -- #include "unwind-compat.h" -- #include "gthr.h" -- ---#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ --- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ --- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) --+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) -- # define USE_PT_GNU_EH_FRAME ---#endif --- ---#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ --- && defined(__BIONIC__) ---# define USE_PT_GNU_EH_FRAME ---#endif --- ---#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ --- && defined(__FreeBSD__) && __FreeBSD__ >= 7 ---# define ElfW __ElfN ---# define USE_PT_GNU_EH_FRAME ---#endif --- ---#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ --- && defined(__OpenBSD__) ---# define ElfW(type) Elf_##type ---# define USE_PT_GNU_EH_FRAME ---#endif --- ---#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ --- && defined(TARGET_DL_ITERATE_PHDR) \ --- && defined(__sun__) && defined(__svr4__) ---# define USE_PT_GNU_EH_FRAME --+# ifdef __OpenBSD__ --+# define ElfW(type) Elf_##type --+# elif defined(__FreeBSD__) && __FreeBSD__ >= 7 --+# define ElfW __ElfN --+# endif -- #endif -- -- #if defined(USE_PT_GNU_EH_FRAME) --diff -r b35df09b819f gcc/configure ----- a/gcc/configure Thu Jan 29 14:06:18 2015 -0500 --+++ b/gcc/configure Thu Jan 29 14:06:20 2015 -0500 --@@ -27356,6 +27356,9 @@ -- else -- gcc_cv_libc_provides_ssp=no -- case "$target" in --+ *-*-musl*) --+ # All versions of musl provide stack protector --+ gcc_cv_libc_provides_ssp=yes;; -- *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) -- # glibc 2.4 and later provides __stack_chk_fail and -- # either __stack_chk_guard, or TLS access to stack guard canary. --@@ -27388,6 +27391,7 @@ -- # ) and for now -- # simply assert that glibc does provide this, which is true for all -- # realistically usable GNU/Hurd configurations. --+ # All supported versions of musl provide it as well -- gcc_cv_libc_provides_ssp=yes;; -- *-*-darwin* | *-*-freebsd*) -- ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail" --@@ -27477,6 +27481,9 @@ -- gcc_cv_target_dl_iterate_phdr=no -- fi -- ;; --+ *-linux-musl*) --+ gcc_cv_target_dl_iterate_phdr=yes --+ ;; -- esac -- -- if test x$gcc_cv_target_dl_iterate_phdr = xyes; then --diff -r b35df09b819f gcc/configure.ac ----- a/gcc/configure.ac Thu Jan 29 14:06:18 2015 -0500 --+++ b/gcc/configure.ac Thu Jan 29 14:06:20 2015 -0500 --@@ -5039,6 +5039,9 @@ -- gcc_cv_libc_provides_ssp, -- [gcc_cv_libc_provides_ssp=no -- case "$target" in --+ *-*-musl*) --+ # All versions of musl provide stack protector --+ gcc_cv_libc_provides_ssp=yes;; -- *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) -- # glibc 2.4 and later provides __stack_chk_fail and -- # either __stack_chk_guard, or TLS access to stack guard canary. --@@ -5065,6 +5068,7 @@ -- # ) and for now -- # simply assert that glibc does provide this, which is true for all -- # realistically usable GNU/Hurd configurations. --+ # All supported versions of musl provide it as well -- gcc_cv_libc_provides_ssp=yes;; -- *-*-darwin* | *-*-freebsd*) -- AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes], --@@ -5131,6 +5135,9 @@ -- gcc_cv_target_dl_iterate_phdr=no -- fi -- ;; --+ *-linux-musl*) --+ gcc_cv_target_dl_iterate_phdr=yes --+ ;; -- esac -- GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) -- if test x$gcc_cv_target_dl_iterate_phdr = xyes; then --# HG changeset patch --# Parent b6a339cae9f0607a291a2fe8de80caecd48f1ebd --Get rid of ever-broken fixincludes on musl. -- --diff -r b6a339cae9f0 fixincludes/mkfixinc.sh ----- a/fixincludes/mkfixinc.sh Thu Jan 29 14:06:20 2015 -0500 --+++ b/fixincludes/mkfixinc.sh Thu Jan 29 14:06:22 2015 -0500 --@@ -19,7 +19,8 @@ -- powerpc-*-eabi* | \ -- powerpc-*-rtems* | \ -- powerpcle-*-eabisim* | \ --- powerpcle-*-eabi* ) --+ powerpcle-*-eabi* | \ --+ *-musl* ) -- # IF there is no include fixing, -- # THEN create a no-op fixer and exit -- (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} --# HG changeset patch --# Parent 6c0bb7083dd2eba825f2693dc30d0e39359c1a66 --Support for i386-linux-musl and x86_64-linux-musl. -- --diff -r 6c0bb7083dd2 gcc/config/i386/linux.h ----- a/gcc/config/i386/linux.h Thu Jan 29 14:06:22 2015 -0500 --+++ b/gcc/config/i386/linux.h Thu Jan 29 14:06:25 2015 -0500 --@@ -21,3 +21,4 @@ -- -- #define GNU_USER_LINK_EMULATION "elf_i386" -- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" --+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" --diff -r 6c0bb7083dd2 gcc/config/i386/linux64.h ----- a/gcc/config/i386/linux64.h Thu Jan 29 14:06:22 2015 -0500 --+++ b/gcc/config/i386/linux64.h Thu Jan 29 14:06:25 2015 -0500 --@@ -30,3 +30,7 @@ -- #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" -- #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" -- #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" --+ --+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" --+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" --+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" --diff -r 6c0bb7083dd2 libitm/config/linux/x86/tls.h ----- a/libitm/config/linux/x86/tls.h Thu Jan 29 14:06:22 2015 -0500 --+++ b/libitm/config/linux/x86/tls.h Thu Jan 29 14:06:25 2015 -0500 --@@ -25,16 +25,19 @@ -- #ifndef LIBITM_X86_TLS_H -- #define LIBITM_X86_TLS_H 1 -- ---#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) --+#if defined(__GLIBC_PREREQ) --+#if __GLIBC_PREREQ(2, 10) -- /* Use slots in the TCB head rather than __thread lookups. -- GLIBC has reserved words 10 through 13 for TM. */ -- #define HAVE_ARCH_GTM_THREAD 1 -- #define HAVE_ARCH_GTM_THREAD_DISP 1 -- #endif --+#endif -- -- #include "config/generic/tls.h" -- ---#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) --+#if defined(__GLIBC_PREREQ) --+#if __GLIBC_PREREQ(2, 10) -- namespace GTM HIDDEN { -- -- #ifdef __x86_64__ --@@ -101,5 +104,6 @@ -- -- } // namespace GTM -- #endif /* >= GLIBC 2.10 */ --+#endif -- -- #endif // LIBITM_X86_TLS_H --# HG changeset patch --# Parent 4802c181abe099c2f903184ace267c6a527ca91c --Support for arm-linux-musl. -- --diff -r 4802c181abe0 gcc/config/arm/linux-eabi.h ----- a/gcc/config/arm/linux-eabi.h Thu Jan 29 14:06:25 2015 -0500 --+++ b/gcc/config/arm/linux-eabi.h Thu Jan 29 14:06:27 2015 -0500 --@@ -77,6 +77,23 @@ -- %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ -- %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" -- --+/* For ARM musl currently supports four dynamic linkers: --+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI --+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI --+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB --+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB --+ musl does not support the legacy OABI mode. --+ All the dynamic linkers live in /lib. --+ We default to soft-float, EL. */ --+#undef MUSL_DYNAMIC_LINKER --+#if TARGET_BIG_ENDIAN_DEFAULT --+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" --+#else --+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" --+#endif --+#define MUSL_DYNAMIC_LINKER \ --+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" --+ -- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to -- use the GNU/Linux version, not the generic BPABI version. */ -- #undef LINK_SPEC --diff -r 4802c181abe0 libitm/config/arm/hwcap.cc ----- a/libitm/config/arm/hwcap.cc Thu Jan 29 14:06:25 2015 -0500 --+++ b/libitm/config/arm/hwcap.cc Thu Jan 29 14:06:27 2015 -0500 --@@ -40,7 +40,11 @@ -- -- #ifdef __linux__ -- #include --+#ifdef __GLIBC__ -- #include --+#else --+#include --+#endif -- #include -- -- static void __attribute__((constructor)) --# HG changeset patch --# Parent f34ce414667f8513979b8a0507f3d6b934f1ebeb --Support for mips-linux-musl. -- --diff -r f34ce414667f gcc/config/mips/linux.h ----- a/gcc/config/mips/linux.h Thu Jan 29 14:06:27 2015 -0500 --+++ b/gcc/config/mips/linux.h Thu Jan 29 14:06:29 2015 -0500 --@@ -23,3 +23,10 @@ -- #undef UCLIBC_DYNAMIC_LINKER -- #define UCLIBC_DYNAMIC_LINKER \ -- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" --+ --+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */ --+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" --+#else --+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" --+#endif --+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1" --# HG changeset patch --# Parent d4bad9a6572b0e8eacc08d2b1c40d03a6608bee5 --Support for powerpc-linux-musl. -- --diff -r d4bad9a6572b gcc/config.gcc ----- a/gcc/config.gcc Thu Jan 29 14:06:29 2015 -0500 --+++ b/gcc/config.gcc Thu Jan 29 14:06:32 2015 -0500 --@@ -2334,6 +2334,10 @@ -- powerpc*-*-linux*paired*) -- tm_file="${tm_file} rs6000/750cl.h" ;; -- esac --+ case ${target} in --+ *-linux*-musl*) --+ enable_secureplt=yes ;; --+ esac -- if test x${enable_secureplt} = xyes; then -- tm_file="rs6000/secureplt.h ${tm_file}" -- fi --diff -r d4bad9a6572b gcc/config/rs6000/linux64.h ----- a/gcc/config/rs6000/linux64.h Thu Jan 29 14:06:29 2015 -0500 --+++ b/gcc/config/rs6000/linux64.h Thu Jan 29 14:06:32 2015 -0500 --@@ -375,17 +375,21 @@ -- #endif -- #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" -- #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" --+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1" --+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1" -- #if DEFAULT_LIBC == LIBC_UCLIBC ---#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" --+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -- #elif DEFAULT_LIBC == LIBC_GLIBC ---#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" --+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" --+#elif DEFAULT_LIBC == LIBC_MUSL --+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" -- #else -- #error "Unsupported DEFAULT_LIBC" -- #endif -- #define GNU_USER_DYNAMIC_LINKER32 \ --- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) --+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) -- #define GNU_USER_DYNAMIC_LINKER64 \ --- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) --+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) -- -- #undef DEFAULT_ASM_ENDIAN -- #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) --diff -r d4bad9a6572b gcc/config/rs6000/secureplt.h ----- a/gcc/config/rs6000/secureplt.h Thu Jan 29 14:06:29 2015 -0500 --+++ b/gcc/config/rs6000/secureplt.h Thu Jan 29 14:06:32 2015 -0500 --@@ -18,3 +18,4 @@ -- . */ -- -- #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" --+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" --diff -r d4bad9a6572b gcc/config/rs6000/sysv4.h ----- a/gcc/config/rs6000/sysv4.h Thu Jan 29 14:06:29 2015 -0500 --+++ b/gcc/config/rs6000/sysv4.h Thu Jan 29 14:06:32 2015 -0500 --@@ -537,6 +537,9 @@ -- #ifndef CC1_SECURE_PLT_DEFAULT_SPEC -- #define CC1_SECURE_PLT_DEFAULT_SPEC "" -- #endif --+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC --+#define LINK_SECURE_PLT_DEFAULT_SPEC "" --+#endif -- -- /* Pass -G xxx to the compiler. */ -- #define CC1_SPEC "%{G*} %(cc1_cpu)" \ --@@ -585,7 +588,8 @@ -- -- /* Override the default target of the linker. */ -- #define LINK_TARGET_SPEC \ --- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") --+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ --+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" -- -- /* Any specific OS flags. */ -- #define LINK_OS_SPEC "\ --@@ -763,15 +767,18 @@ -- -- #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -- #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" --+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" -- #if DEFAULT_LIBC == LIBC_UCLIBC ---#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" --+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" --+#elif DEFAULT_LIBC == LIBC_MUSL --+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" -- #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC ---#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" --+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -- #else -- #error "Unsupported DEFAULT_LIBC" -- #endif -- #define GNU_USER_DYNAMIC_LINKER \ --- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) --+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) -- -- #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ -- %{rdynamic:-export-dynamic} \ --@@ -894,6 +901,7 @@ -- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ -- { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ -- { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ --+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ -- { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ -- { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ -- { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ --diff -r 47a8492e5aa7 gcc/config/aarch64/aarch64-linux.h ----- a/gcc/config/aarch64/aarch64-linux.h Thu Jan 29 14:06:31 2015 -0500 --+++ b/gcc/config/aarch64/aarch64-linux.h Thu Jan 29 14:06:34 2015 -0500 --@@ -23,6 +23,8 @@ -- -- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1" -- --+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" --+ -- #define CPP_SPEC "%{pthread:-D_REENTRANT}" -- -- #define LINUX_TARGET_LINK_SPEC "%{h*} \ --# HG changeset patch --# Parent 9f4208089e8987637569ce7b294256c536396299 --Microblaze support (again). -- --diff -r 9f4208089e89 gcc/config/microblaze/linux.h ----- a/gcc/config/microblaze/linux.h Thu Jan 29 14:06:34 2015 -0500 --+++ b/gcc/config/microblaze/linux.h Thu Jan 29 14:06:36 2015 -0500 --@@ -25,7 +25,22 @@ -- #undef TLS_NEEDS_GOT -- #define TLS_NEEDS_GOT 1 -- ---#define DYNAMIC_LINKER "/lib/ld.so.1" --+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ --+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" --+#else --+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" --+#endif --+ --+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" --+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" --+ --+#if DEFAULT_LIBC == LIBC_MUSL --+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER --+#else --+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER --+#endif --+ --+ -- #undef SUBTARGET_EXTRA_SPECS -- #define SUBTARGET_EXTRA_SPECS \ -- { "dynamic_linker", DYNAMIC_LINKER } --From 478ee0c03a08e2ef9371fd88d516738936943e78 Mon Sep 17 00:00:00 2001 --From: David Holsgrove --Date: Fri, 28 Sep 2012 16:32:03 +1000 --Subject: [PATCH 06/11] [Patch, microblaze]: Add SIZE_TYPE and PTRDIFF_TYPE to -- microblaze.h -- --Fixes warnings like; -- --warning: format '%zX' expects argument of type 'size_t', --but argument 3 has type 'unsigned int' [-Wformat] -- --Changelog -- --2013-03-18 David Holsgrove -- -- * gcc/config/microblaze/microblaze.h: Define SIZE_TYPE -- and PTRDIFF_TYPE. -- --Signed-off-by: David Holsgrove ----- -- gcc/config/microblaze/microblaze.h | 6 ++++++ -- 1 file changed, 6 insertions(+) -- --diff -r 0dbe9a3f7670 gcc/config/microblaze/microblaze.h ----- a/gcc/config/microblaze/microblaze.h Thu Jan 29 14:06:36 2015 -0500 --+++ b/gcc/config/microblaze/microblaze.h Thu Jan 29 14:06:38 2015 -0500 --@@ -218,6 +218,12 @@ -- #undef PTRDIFF_TYPE -- #define PTRDIFF_TYPE "int" -- --+#undef SIZE_TYPE --+#define SIZE_TYPE "unsigned int" --+ --+#undef PTRDIFF_TYPE --+#define PTRDIFF_TYPE "int" --+ -- #define CONSTANT_ALIGNMENT(EXP, ALIGN) \ -- ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \ -- && (ALIGN) < BITS_PER_WORD \ --diff -r 94ebb0799454 gcc/config/sh/linux.h ----- a/gcc/config/sh/linux.h Fri Sep 28 16:32:03 2012 +1000 --+++ b/gcc/config/sh/linux.h Thu Jan 29 14:06:41 2015 -0500 --@@ -43,7 +43,14 @@ -- -- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack -- --+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ --+#define MUSL_DYNAMIC_LINKER_E "eb" --+#else --+#define MUSL_DYNAMIC_LINKER_E --+#endif --+ -- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" --+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" -- -- #undef SUBTARGET_LINK_EMUL_SUFFIX -- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" -- --Use libc write(2) instead of undefined __write() to get rid --of an error when later linking against libgcc.a --This should fix the webkitgtk build, see: --http://build.voidlinux.eu/builders/armv6l-musl_builder/builds/2991/steps/shell_3/logs/stdio -- ----- a/libgcc/config/arm/linux-atomic-64bit.c 2014-01-02 23:25:22.000000000 +0100 --+++ b/libgcc/config/arm/linux-atomic-64bit.c 2015-08-14 10:56:03.383219614 +0200 --@@ -33,7 +33,7 @@ -- kernels; we check for that in an init section and bail out rather -- unceremoneously. */ -- ---extern unsigned int __write (int fd, const void *buf, unsigned int count); --+extern unsigned int write (int fd, const void *buf, unsigned int count); -- extern void abort (void); -- -- /* Kernel helper for compare-and-exchange. */ --@@ -56,7 +56,7 @@ -- for the user - I'm not sure I can rely on much else being -- available at this point, so do the same as generic-morestack.c -- write () and abort (). */ --- __write (2 /* stderr. */, err, sizeof (err)); --+ write (2 /* stderr. */, err, sizeof (err)); -- abort (); -- } -- }; -diff --git a/srcpkgs/gcc/files/gcc-6.2.1-musl.diff b/srcpkgs/gcc/files/gcc-6.2.1-musl.diff -new file mode 100644 -index 0000000..053d1ea ---- /dev/null -+++ b/srcpkgs/gcc/files/gcc-6.2.1-musl.diff -@@ -0,0 +1,556 @@ -+# HG changeset patch -+# Parent 90a7a3809a7ccb60e357b5e88382260877f82257 -+Use the generic implementation of libstdc++ primitives when we're on musl, not the glibc one. -+ -+diff -r 90a7a3809a7c libstdc++-v3/configure.host -+--- a/libstdc++-v3/configure.host Thu Dec 24 11:22:15 2015 -0500 -++++ b/libstdc++-v3/configure.host Thu Dec 24 11:24:45 2015 -0500 -+@@ -266,6 +266,13 @@ -+ os_include_dir="os/bsd/freebsd" -+ ;; -+ gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -++ # check for musl by target -++ case "${host_os}" in -++ *-musl*) -++ os_include_dir="os/generic" -++ ;; -++ *) -++ -+ if [ "$uclibc" = "yes" ]; then -+ os_include_dir="os/uclibc" -+ elif [ "$bionic" = "yes" ]; then -+@@ -281,6 +281,9 @@ -+ os_include_dir="os/gnu-linux" -+ fi -+ ;; -++ -++ esac -++ ;; -+ hpux*) -+ os_include_dir="os/hpux" -+ ;; -+diff -r 30a957f60ddb gcc/ginclude/stddef.h -+--- a/gcc/ginclude/stddef.h Thu Dec 24 11:24:45 2015 -0500 -++++ b/gcc/ginclude/stddef.h Thu Dec 24 11:24:47 2015 -0500 -+@@ -184,6 +184,7 @@ -+ #ifndef _GCC_SIZE_T -+ #ifndef _SIZET_ -+ #ifndef __size_t -++#ifndef __DEFINED_size_t /* musl */ -+ #define __size_t__ /* BeOS */ -+ #define __SIZE_T__ /* Cray Unicos/Mk */ -+ #define _SIZE_T -+@@ -200,6 +201,7 @@ -+ #define ___int_size_t_h -+ #define _GCC_SIZE_T -+ #define _SIZET_ -++#define __DEFINED_size_t /* musl */ -+ #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ -+ || defined(__DragonFly__) \ -+ || defined(__FreeBSD_kernel__) -+@@ -218,6 +220,7 @@ -+ typedef long ssize_t; -+ #endif /* __BEOS__ */ -+ #endif /* !(defined (__GNUG__) && defined (size_t)) */ -++#endif /* __DEFINED_size_t */ -+ #endif /* __size_t */ -+ #endif /* _SIZET_ */ -+ #endif /* _GCC_SIZE_T */ -+# HG changeset patch -+# Parent 90228af47e55eb338c7f672e4aca5ac81cf5f14c -+A fix for libgomp to correctly request a POSIX version for time support. -+ -+diff -r 90228af47e55 libgomp/config/posix/time.c -+--- a/libgomp/config/posix/time.c Thu Dec 24 11:24:47 2015 -0500 -++++ b/libgomp/config/posix/time.c Thu Dec 24 11:24:49 2015 -0500 -+@@ -29,6 +29,8 @@ -+ The following implementation uses the most simple POSIX routines. -+ If present, POSIX 4 clocks should be used instead. */ -+ -++#define _POSIX_C_SOURCE 199309L /* for clocks */ -++ -+ #include "libgomp.h" -+ #include -+ #if TIME_WITH_SYS_TIME -+diff -r b08d4bc3d2ba libgcc/unwind-dw2-fde-dip.c -+--- a/libgcc/unwind-dw2-fde-dip.c Thu Dec 24 11:24:49 2015 -0500 -++++ b/libgcc/unwind-dw2-fde-dip.c Thu Dec 24 11:24:51 2015 -0500 -+@@ -46,6 +46,10 @@ -+ #include "unwind-compat.h" -+ #include "gthr.h" -+ -++#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) -++# define USE_PT_GNU_EH_FRAME -++#endif -++ -+ #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ -+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) -+diff -r 1f375ed3689f gcc/gcc.c -+--- a/gcc/gcc.c Thu Dec 24 11:24:53 2015 -0500 -++++ b/gcc/gcc.c Thu Dec 24 11:24:56 2015 -0500 -+@@ -860,7 +860,7 @@ -+ #ifndef LINK_SSP_SPEC -+ #ifdef TARGET_LIBC_PROVIDES_SSP -+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+- "|fstack-protector-strong|fstack-protector-explicit:}" -++ "|fstack-protector-strong|fstack-protector-explicit:-lssp_nonshared}" -+ #else -+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -+ "|fstack-protector-strong|fstack-protector-explicit" \ -+# HG changeset patch -+# Parent 76b553fabcf19eec5df2df7f05ce15a4bf8c3996 -+Support for mips-linux-musl. -+ -+diff -r 76b553fabcf1 gcc/config/mips/linux.h -+--- a/gcc/config/mips/linux.h Thu Dec 24 11:25:02 2015 -0500 -++++ b/gcc/config/mips/linux.h Thu Dec 24 11:25:04 2015 -0500 -+@@ -31,6 +31,13 @@ -+ #undef UCLIBC_DYNAMIC_LINKER32 -+ #define UCLIBC_DYNAMIC_LINKER32 \ -+ "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" -++ -++#undef MUSL_DYNAMIC_LINKER32 -++#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1" -++#undef MUSL_DYNAMIC_LINKER64 -++#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1" -++#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1" -++ -+ #undef UCLIBC_DYNAMIC_LINKER64 -+ #define UCLIBC_DYNAMIC_LINKER64 \ -+ "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}" -+# HG changeset patch -+# Parent 971d410411735f0b04eb07236659097986926213 -+Support for powerpc-linux-musl. -+ -+diff -r 971d41041173 gcc/config.gcc -+--- a/gcc/config.gcc Fri Dec 25 08:44:09 2015 -0500 -++++ b/gcc/config.gcc Fri Dec 25 09:42:16 2015 -0500 -+@@ -2464,6 +2464,10 @@ -+ powerpc*-*-linux*paired*) -+ tm_file="${tm_file} rs6000/750cl.h" ;; -+ esac -++ case ${target} in -++ *-linux*-musl*) -++ enable_secureplt=yes ;; -++ esac -+ if test x${enable_secureplt} = xyes; then -+ tm_file="rs6000/secureplt.h ${tm_file}" -+ fi -+diff -r 9555ffb5873b gcc/config/aarch64/aarch64-linux.h -+--- a/gcc/config/aarch64/aarch64-linux.h Thu Dec 24 11:25:06 2015 -0500 -++++ b/gcc/config/aarch64/aarch64-linux.h Thu Dec 24 11:25:09 2015 -0500 -+@@ -32,6 +32,8 @@ -+ #undef CC1_SPEC -+ #define CC1_SPEC GNU_USER_TARGET_CC1_SPEC ASAN_CC1_SPEC -+ -++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" -++ -+ #define CPP_SPEC "%{pthread:-D_REENTRANT}" -+ -+ #define LINUX_TARGET_LINK_SPEC "%{h*} \ -+diff -r a522e4b04c77 gcc/config/microblaze/microblaze.h -+--- a/gcc/config/microblaze/microblaze.h Thu Dec 24 11:25:11 2015 -0500 -++++ b/gcc/config/microblaze/microblaze.h Thu Dec 24 11:25:13 2015 -0500 -+@@ -218,6 +218,12 @@ -+ #undef PTRDIFF_TYPE -+ #define PTRDIFF_TYPE "int" -+ -++#undef SIZE_TYPE -++#define SIZE_TYPE "unsigned int" -++ -++#undef PTRDIFF_TYPE -++#define PTRDIFF_TYPE "int" -++ -+ #define CONSTANT_ALIGNMENT(EXP, ALIGN) \ -+ ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \ -+ && (ALIGN) < BITS_PER_WORD \ -+diff -r f2936ad874dd gcc/config/sh/linux.h -+--- a/gcc/config/sh/linux.h Fri Sep 28 16:32:03 2012 +1000 -++++ b/gcc/config/sh/linux.h Thu Dec 24 11:25:15 2015 -0500 -+@@ -64,7 +64,14 @@ -+ -+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack -+ -++#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ -++#define MUSL_DYNAMIC_LINKER_E "eb" -++#else -++#define MUSL_DYNAMIC_LINKER_E -++#endif -++ -+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" -+ -+ #undef SUBTARGET_LINK_EMUL_SUFFIX -+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" -+Do not use weak references on any targets for gthread. Necessary on musl, safe elsewhere. -+ -+diff -r e180e4cfc879 libgcc/gthr.h -+--- a/libgcc/gthr.h Thu Dec 24 11:25:15 2015 -0500 -++++ b/libgcc/gthr.h Thu Dec 24 11:25:17 2015 -0500 -+@@ -136,10 +136,8 @@ -+ /* The pe-coff weak support isn't fully compatible to ELF's weak. -+ For static libraries it might would work, but as we need to deal -+ with shared versions too, we disable it for mingw-targets. */ -+-#ifdef __MINGW32__ -+ #undef GTHREAD_USE_WEAK -+ #define GTHREAD_USE_WEAK 0 -+-#endif -+ -+ #ifndef GTHREAD_USE_WEAK -+ #define GTHREAD_USE_WEAK 1 -+From 0a9ed0479203cb7e69c3745b0c259007410f39ba Mon Sep 17 00:00:00 2001 -+From: Szabolcs Nagy -+Date: Sat, 24 Oct 2015 20:09:53 +0000 -+Subject: [PATCH 47/47] libgcc_s: Use alias for __cpu_indicator_init instead of -+ symver -+ -+Adapter from -+ -+https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html -+ -+This fix was debated but hasnt been applied gcc upstream since -+they expect musl to support '@' in symbol versioning which is -+a sun/gnu versioning extention. This patch however avoids the -+need for the '@' symbols at all -+ -+libgcc/Changelog: -+ -+2015-05-11 Szabolcs Nagy -+ -+ * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add. -+ (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove. -+ -+ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER. -+ -+gcc/Changelog: -+ -+2015-05-11 Szabolcs Nagy -+ -+ * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init -+ call __cpu_indicator_init_local instead of __cpu_indicator_init. -+ -+Signed-off-by: Khem Raj -+--- -+Upstream-Status: Rejected -+ -+ gcc/config/i386/i386.c | 4 ++-- -+ libgcc/config/i386/cpuinfo.c | 6 +++--- -+ libgcc/config/i386/t-linux | 2 +- -+ 3 files changed, 6 insertions(+), 6 deletions(-) -+ -+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c -+index 861a029..1c97d72 100644 -+--- a/gcc/config/i386/i386.c -++++ b/gcc/config/i386/i386.c -+@@ -40323,10 +40323,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, -+ { -+ case IX86_BUILTIN_CPU_INIT: -+ { -+- /* Make it call __cpu_indicator_init in libgcc. */ -++ /* Make it call __cpu_indicator_init_local in libgcc.a. */ -+ tree call_expr, fndecl, type; -+ type = build_function_type_list (integer_type_node, NULL_TREE); -+- fndecl = build_fn_decl ("__cpu_indicator_init", type); -++ fndecl = build_fn_decl ("__cpu_indicator_init_local", type); -+ call_expr = build_call_expr (fndecl, 0); -+ return expand_expr (call_expr, target, mode, EXPAND_NORMAL); -+ } -+diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c -+index 8c2248d..6c82f15 100644 -+--- a/libgcc/config/i386/cpuinfo.c -++++ b/libgcc/config/i386/cpuinfo.c -+@@ -485,7 +485,7 @@ __cpu_indicator_init (void) -+ return 0; -+ } -+ -+-#if defined SHARED && defined USE_ELF_SYMVER -+-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0"); -+-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0"); -++#ifndef SHARED -++int __cpu_indicator_init_local (void) -++ __attribute__ ((weak, alias ("__cpu_indicator_init"))); -+ #endif -+diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux -+index 11bb46e..4f47f7b 100644 -+--- a/libgcc/config/i386/t-linux -++++ b/libgcc/config/i386/t-linux -+@@ -3,4 +3,4 @@ -+ # t-slibgcc-elf-ver and t-linux -+ SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver -+ -+-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER -++HOST_LIBGCC2_CFLAGS += -mlong-double-80 -+-- -+2.9.0 -+ -+--- a/boehm-gc/os_dep.c 2013-09-17 07:46:00.969884340 +0000 -++++ b/boehm-gc/os_dep.c 2013-09-17 06:53:53.629884946 +0000 -+@@ -26,7 +26,7 @@ -+ # define __KERNEL__ -+ # include -+ # undef __KERNEL__ -+-# else -++# elif defined(__GLIBC__) -+ /* Kernels prior to 2.1.1 defined struct sigcontext_struct instead of */ -+ /* struct sigcontext. libc6 (glibc2) uses "struct sigcontext" in */ -+ /* prototypes, so we have to include the top-level sigcontext.h to */ -+--- a/boehm-gc/dyn_load.c -++++ b/boehm-gc/dyn_load.c -+@@ -459,9 +459,7 @@ -+ /* For glibc 2.2.4+. Unfortunately, it doesn't work for older */ -+ /* versions. Thanks to Jakub Jelinek for most of the code. */ -+ -+-# if (defined(LINUX) || defined (__GLIBC__)) /* Are others OK here, too? */ \ -+- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ -+- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) -++# if (defined(LINUX) || defined (__GLIBC__)) -+ -+ /* We have the header files for a glibc that includes dl_iterate_phdr. */ -+ /* It may still not be available in the library on the target system. */ -+--- a/boehm-gc/include/private/gcconfig.h -++++ b/boehm-gc/include/private/gcconfig.h -+@@ -684,7 +684,7 @@ -+ # ifdef __ELF__ -+ # define DYNAMIC_LOADING -+ # include -+-# if defined(__GLIBC__)&& __GLIBC__>=2 -++# if 1 -+ # define SEARCH_FOR_DATA_START -+ # else /* !GLIBC2 */ -+ extern char **__environ; -+@@ -1147,7 +1147,7 @@ -+ # define DATASTART ((ptr_t)((((word) (_etext)) + 0xfff) & ~0xfff)) -+ # endif -+ # include -+-# if defined(__GLIBC__) && __GLIBC__ >= 2 -++# if 1 -+ # define SEARCH_FOR_DATA_START -+ # else -+ extern char **__environ; -+@@ -1367,7 +1367,7 @@ -+ # define HBLKSIZE 4096 -+ # endif -+ # define USE_GENERIC_PUSH_REGS -+-# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2 || __GLIBC__ > 2 -++# if 1 -+ # define LINUX_STACKBOTTOM -+ # else -+ # define STACKBOTTOM 0x80000000 -+@@ -1858,7 +1858,7 @@ -+ # ifdef __ELF__ -+ # define DYNAMIC_LOADING -+ # include -+-# if defined(__GLIBC__) && __GLIBC__ >= 2 -++# if 1 -+ # define SEARCH_FOR_DATA_START -+ # else -+ extern char **__environ; -+--- a/libjava/gnu/gcj/convert/natIconv.cc -++++ b/libjava/gnu/gcj/convert/natIconv.cc -+@@ -24,6 +24,13 @@ -+ -+ #ifdef HAVE_ICONV -+ #include -++#include -++ -++#if __BYTE_ORDER == __BIG_ENDIAN -++#define UCS2_CHARSET "UCS-2BE" -++#else -++#define UCS2_CHARSET "UCS-2LE" -++#endif -+ -+ template -+ static inline size_t -+@@ -45,7 +52,7 @@ -+ _Jv_GetStringUTFRegion (encoding, 0, encoding->length(), buffer); -+ buffer[len] = '\0'; -+ -+- iconv_t h = iconv_open ("UCS-2", buffer); -++ iconv_t h = iconv_open (UCS2_CHARSET, buffer); -+ if (h == (iconv_t) -1) -+ throw new ::java::io::UnsupportedEncodingException (encoding); -+ -+@@ -99,18 +106,6 @@ -+ throw new ::java::io::CharConversionException (); -+ } -+ -+- if (iconv_byte_swap) -+- { -+- size_t max = (old_out - outavail) / sizeof (jchar); -+- for (size_t i = 0; i < max; ++i) -+- { -+- // Byte swap. -+- jchar c = (((out[outpos + i] & 0xff) << 8) -+- | ((out[outpos + i] >> 8) & 0xff)); -+- outbuf[i] = c; -+- } -+- } -+- -+ inpos += old_in - inavail; -+ return (old_out - outavail) / sizeof (jchar); -+ #else /* HAVE_ICONV */ -+@@ -145,7 +140,7 @@ -+ _Jv_GetStringUTFRegion (encoding, 0, encoding->length(), buffer); -+ buffer[len] = '\0'; -+ -+- iconv_t h = iconv_open (buffer, "UCS-2"); -++ iconv_t h = iconv_open (buffer, UCS2_CHARSET); -+ if (h == (iconv_t) -1) -+ throw new ::java::io::UnsupportedEncodingException (encoding); -+ -+@@ -187,20 +182,6 @@ -+ char *inbuf = (char *) &chars[inpos]; -+ char *outbuf = (char *) &out[count]; -+ -+- if (iconv_byte_swap) -+- { -+- // Ugly performance penalty -- don't use losing systems! -+- temp_buffer = (jchar *) _Jv_Malloc (inlength * sizeof (jchar)); -+- for (int i = 0; i < inlength; ++i) -+- { -+- // Byte swap. -+- jchar c = (((chars[inpos + i] & 0xff) << 8) -+- | ((chars[inpos + i] >> 8) & 0xff)); -+- temp_buffer[i] = c; -+- } -+- inbuf = (char *) temp_buffer; -+- } -+- -+ size_t loop_old_in = old_in; -+ while (1) -+ { -+@@ -252,44 +233,7 @@ -+ jboolean -+ gnu::gcj::convert::IOConverter::iconv_init (void) -+ { -+- // Some versions of iconv() always return their UCS-2 results in -+- // big-endian order, and they also require UCS-2 inputs to be in -+- // big-endian order. For instance, glibc 2.1.3 does this. If the -+- // UTF-8=>UCS-2 iconv converter has this feature, then we assume -+- // that all UCS-2 converters do. (This might not be the best -+- // heuristic, but is is all we've got.) -+- jboolean result = false; -+-#ifdef HAVE_ICONV -+- iconv_t handle = iconv_open ("UCS-2", "UTF-8"); -+- if (handle != (iconv_t) -1) -+- { -+- jchar c; -+- unsigned char in[4]; -+- char *inp, *outp; -+- size_t inc, outc, r; -+- -+- // This is the UTF-8 encoding of \ufeff. At least Tru64 UNIX libiconv -+- // needs the trailing NUL byte, otherwise iconv fails with EINVAL. -+- in[0] = 0xef; -+- in[1] = 0xbb; -+- in[2] = 0xbf; -+- in[3] = 0x00; -+- -+- inp = (char *) in; -+- inc = 4; -+- outp = (char *) &c; -+- outc = 2; -+- -+- r = iconv_adapter (iconv, handle, &inp, &inc, &outp, &outc); -+- // Conversion must be complete for us to use the result. -+- if (r != (size_t) -1 && inc == 0 && outc == 0) -+- result = (c != 0xfeff); -+- -+- // Release iconv handle. -+- iconv_close (handle); -+- } -+-#endif /* HAVE_ICONV */ -+- return result; -++ return false; -+ } -+ -+ void -+--- a/libjava/gnu/classpath/natSystemProperties.cc -++++ b/libjava/gnu/classpath/natSystemProperties.cc -+@@ -289,7 +289,7 @@ -+ // just default to `en_US'. -+ setlocale (LC_ALL, ""); -+ char *locale = setlocale (LC_MESSAGES, ""); -+- if (locale && strlen (locale) >= 2) -++ if (locale && strlen (locale) >= 2 && (locale[2] == '\0' || locale[2] == '_')) -+ { -+ char buf[3]; -+ buf[2] = '\0'; -+--- a/libjava/posix-threads.cc -++++ b/libjava/posix-threads.cc -+@@ -657,6 +657,7 @@ -+ struct sched_param param; -+ pthread_attr_t attr; -+ struct starter *info; -++ size_t ss; -+ -+ if (data->flags & FLAG_START) -+ return; -+@@ -675,8 +676,25 @@ -+ // Set stack size if -Xss option was given. -+ if (gcj::stack_size > 0) -+ { -+- int e = pthread_attr_setstacksize (&attr, gcj::stack_size); -++ ss = gcj::stack_size; -++ } -++ else -++ { -++ int e = pthread_attr_getstacksize (&attr, &ss); -++ if (e != 0) -++ JvFail (strerror (e)); -++ -++ // Request at least 1meg of stack -++ if (ss >= 1024 * 1024) -++ ss = 0; -++ else -++ ss = 1024 * 1024; -++ } -++ -++ if (ss) -++ { -++ int e = pthread_attr_setstacksize (&attr, ss); -+ if (e != 0) -+ JvFail (strerror (e)); -+ } -+ -+ info = (struct starter *) _Jv_AllocBytes (sizeof (struct starter)); -+--- a/libgo/mksysinfo.sh -++++ b/libgo/mksysinfo.sh -+@@ -166,6 +166,13 @@ cat > sysinfo.c < -+ #endif -++#if !defined(__GLIBC__) -++#include -++#undef off64_t -++#undef loff_t -++typedef off_t loff_t; -++typedef off_t off64_t; -++#endif -+ -+ /* Constants that may only be defined as expressions on some systems, -+ expressions too complex for -fdump-go-spec to handle. These are -+--- a/libgo/runtime/proc.c 2016-09-23 16:17:22.000000000 +0200 -++++ b/libgo/runtime/proc.c 2016-10-03 07:33:42.186000000 +0200 -+@@ -150,6 +150,20 @@ -+ asm ("st %%g7, %0" : "=m"(c->uc_mcontext.gregs[REG_G7])); -+ } -+ -++# elif !defined(__GLIBC__) -++ -++static inline void -++initcontext(void) -++{ -++ // FIXME: Do we need to save (part of) the current context? -++} -++ -++static inline void -++fixcontext(ucontext_t *c __attribute__ ((unused))) -++{ -++ // FIXME: Do we need to restore (part of) the current context? -++} -++ -+ # else -+ -+ # error unknown case for SETCONTEXT_CLOBBERS_TLS -diff --git a/srcpkgs/gcc/patches/fix-cxxflags-passing.patch b/srcpkgs/gcc/patches/fix-cxxflags-passing.patch -new file mode 100644 -index 0000000..dda2a50 ---- /dev/null -+++ b/srcpkgs/gcc/patches/fix-cxxflags-passing.patch -@@ -0,0 +1,10 @@ -+--- Makefile.in.orig -++++ Makefile.in -+@@ -169,6 +169,7 @@ -+ # built for the build system to override those in BASE_FLAGS_TO_PASSS. -+ EXTRA_BUILD_FLAGS = \ -+ CFLAGS="$(CFLAGS_FOR_BUILD)" \ -++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \ -+ LDFLAGS="$(LDFLAGS_FOR_BUILD)" -+ -+ # This is the list of directories to built for the host system. -diff --git a/srcpkgs/gcc/patches/fix-musl-execinfo.patch b/srcpkgs/gcc/patches/fix-musl-execinfo.patch -new file mode 100644 -index 0000000..583eac7 ---- /dev/null -+++ b/srcpkgs/gcc/patches/fix-musl-execinfo.patch -@@ -0,0 +1,33 @@ -+There is no in musl libc -+ -+--- libvtv/vtv_rts.cc 2016-09-23 16:17:11.000000000 +0200 -++++ libvtc/vtv_rts.cc 2016-09-25 15:08:57.896000000 +0200 -+@@ -124,7 +124,7 @@ -+ #include -+ #include -+ #include -+-#else -++#elif defined (__GLIBC__) -+ #include -+ #endif -+ -+--- libvtv/vtv_utils.cc 2016-09-23 16:17:11.000000000 +0200 -++++ libvtv/vtv_utils.cc 2016-09-25 15:15:35.529000000 +0200 -+@@ -34,7 +34,7 @@ -+ #include -+ #if defined (__CYGWIN__) || defined (__MINGW32__) -+ #include -+-#else -++#elif defined (__GLIBC__) -+ #include -+ #endif -+ -+@@ -178,7 +178,7 @@ -+ -+ __vtv_add_to_log (vtv_failures_log_fd, "%s", log_msg); -+ -+-#if !defined (__CYGWIN__) && !defined (__MINGW32__) -++#if !defined (__CYGWIN__) && !defined (__MINGW32__) && defined(__GLIBC__) -+ if (generate_backtrace) -+ { -+ #define STACK_DEPTH 20 -diff --git a/srcpkgs/gcc/patches/gcc-spec-env-r1.patch b/srcpkgs/gcc/patches/gcc-spec-env-r1.patch -deleted file mode 100644 -index 3eb0141..0000000 ---- a/srcpkgs/gcc/patches/gcc-spec-env-r1.patch -+++ /dev/null -@@ -1,87 +0,0 @@ --2013-08-22 Magnus Granberg -- -- * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var -- and move the process of the user specifed specs. -- -- This allows us to easily control pie/ssp defaults with gcc-config profiles. -- Original patch by Rob Holland -- Extended to support multiple entries separated by ':' by Kevin F. Quinn -- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill -- Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg -- ----- gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100 --+++ gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200 --@@ -6427,6 +6428,48 @@ main (int argc, char **argv) -- do_option_spec (option_default_specs[i].name, -- option_default_specs[i].spec); -- --+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32)) --+ /* Add specs listed in GCC_SPECS. Note; in the process of separating --+ * each spec listed, the string is overwritten at token boundaries --+ * (':') with '\0', an effect of strtok_r(). --+ */ --+ specs_file = getenv ("GCC_SPECS"); --+ if (specs_file && (strlen(specs_file) > 0)) --+ { --+ char *spec, *saveptr; --+ for (spec=strtok_r(specs_file,":",&saveptr); --+ spec!=NULL; --+ spec=strtok_r(NULL,":",&saveptr)) --+ { --+ struct user_specs *user = (struct user_specs *) --+ xmalloc (sizeof (struct user_specs)); --+ user->next = (struct user_specs *) 0; --+ user->filename = spec; --+ if (user_specs_tail) --+ user_specs_tail->next = user; --+ else --+ user_specs_head = user; --+ user_specs_tail = user; --+ } --+ } --+#endif --+ /* Process any user specified specs in the order given on the command --+ * line. */ --+ for (uptr = user_specs_head; uptr; uptr = uptr->next) --+ { --+ char *filename = find_a_file (&startfile_prefixes, uptr->filename, --+ R_OK, true); --+ read_specs (filename ? filename : uptr->filename, false, true); --+ } --+ /* Process any user self specs. */ --+ { --+ struct spec_list *sl; --+ for (sl = specs; sl; sl = sl->next) --+ if (sl->name_len == sizeof "self_spec" - 1 --+ && !strcmp (sl->name, "self_spec")) --+ do_self_spec (*sl->ptr_spec); --+ } --+ -- /* Process DRIVER_SELF_SPECS, adding any new options to the end -- of the command line. */ -- --@@ -6535,24 +6578,6 @@ main (int argc, char **argv) -- PREFIX_PRIORITY_LAST, 0, 1); -- } -- --- /* Process any user specified specs in the order given on the command --- line. */ --- for (uptr = user_specs_head; uptr; uptr = uptr->next) --- { --- char *filename = find_a_file (&startfile_prefixes, uptr->filename, --- R_OK, true); --- read_specs (filename ? filename : uptr->filename, false, true); --- } --- --- /* Process any user self specs. */ --- { --- struct spec_list *sl; --- for (sl = specs; sl; sl = sl->next) --- if (sl->name_len == sizeof "self_spec" - 1 --- && !strcmp (sl->name, "self_spec")) --- do_self_spec (*sl->ptr_spec); --- } --- -- if (compare_debug) -- { -- enum save_temps save; -diff --git a/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch b/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch -index 7265900..e42f4d6 100644 ---- a/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch -+++ b/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch -@@ -12,7 +12,7 @@ time_t is some day promoted to a 64 bit value. - - --- libcpp/macro.c - +++ libcpp/macro.c --@@ -349,14 +349,38 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node) -+@@ -356,14 +356,38 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node) - slow on some systems. */ - time_t tt; - struct tm *tb = NULL; -diff --git a/srcpkgs/gcc/patches/musl-posix_memalign-c++.patch b/srcpkgs/gcc/patches/musl-posix_memalign-c++.patch -deleted file mode 100644 -index f285f73..0000000 ---- a/srcpkgs/gcc/patches/musl-posix_memalign-c++.patch -+++ /dev/null -@@ -1,30 +0,0 @@ --diff --git gcc/config/i386/pmm_malloc.h gcc/config/i386/pmm_malloc.h --index 901001b..321fcd3 100644 ----- gcc/config/i386/pmm_malloc.h --+++ gcc/config/i386/pmm_malloc.h --@@ -27,12 +27,13 @@ -- #include -- -- /* We can't depend on since the prototype of posix_memalign --- may not be visible. */ --+ may not be visible and we can't pollute the namespace either. */ -- #ifndef __cplusplus ---extern int posix_memalign (void **, size_t, size_t); --+extern int __gcc_posix_memalign (void **, size_t, size_t) -- #else ---extern "C" int posix_memalign (void **, size_t, size_t) throw (); --+extern "C" int __gcc_posix_memalign (void **, size_t, size_t) throw () -- #endif --+__asm__("posix_memalign"); -- -- static __inline void * -- _mm_malloc (size_t size, size_t alignment) --@@ -42,7 +43,7 @@ _mm_malloc (size_t size, size_t alignment) -- return malloc (size); -- if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4)) -- alignment = sizeof (void *); --- if (posix_memalign (&ptr, alignment, size) == 0) --+ if (__gcc_posix_memalign (&ptr, alignment, size) == 0) -- return ptr; -- else -- return NULL; -diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template -index 6215817..e89394e 100644 ---- a/srcpkgs/gcc/template -+++ b/srcpkgs/gcc/template -@@ -1,15 +1,16 @@ - # Template build file for 'gcc' -+_majorver=6.2 -+_gcjrel=17 -+ - pkgname=gcc --_majorver=4.9 --version=${_majorver}.4 -+version=${_majorver}.1 - revision=1 - short_desc="The GNU C Compiler" - maintainer="Juan RP " - homepage="http://gcc.gnu.org" - license="GFDL-1.2, GPL-3, LGPL-2.1" --distfiles="${GNU_SITE}/gcc/gcc-$version/gcc-$version.tar.bz2" --checksum=6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 --_gcjrel=15 -+distfiles="http://distfiles.voidlinux.de/gcc-$version/gcc-$version.tar.xz" -+checksum=6bc5af0d2138bb8492c62ced00776b76bbc98b7297287aaa55adbe7d07786ac8 - - nopie=yes - lib32disabled=yes -@@ -18,25 +19,24 @@ bootstrap=yes - if [ "$CHROOT_READY" ]; then - hostmakedepends="perl flex" - fi --makedepends="zlib-devel libmpc-devel cloog-devel" --depends="binutils libgcc-devel-${version}_${revision}" -+makedepends="zlib-devel libmpc-devel isl15-devel" -+depends="binutils libgcc-devel-${version}_${revision} -+ libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}" - - subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel" --subpackages+=" libssp libssp-devel gcc-c++" -+subpackages+=" libssp libssp-devel" - - if [ -n "$CHROOT_READY" -a -z "$CROSS_BUILD" ]; then -+ # Required by gcj -+ hostmakedepends+=" zip unzip" - subpackages+=" gcc-fortran gcc-objc gcc-objc++" - subpackages+=" libgfortran-devel libgfortran" - subpackages+=" libobjc-devel libobjc" -- -+ subpackages+=" gcc-gcj libgcj-devel libgcj gcc-gcj-jdk-compat" - case "$XBPS_TARGET_MACHINE" in -- *-musl) -- # XXX disable go and java with musl -+ *-musl) # Go won't link for musl libc - ;; -- *) -- # Required by gcj -- hostmakedepends+=" zip unzip" -- subpackages+=" gcc-go libgo-devel libgo gcc-gcj libgcj-devel libgcj gcc-gcj-jdk-compat" -+ *) subpackages+=" gcc-go libgo-devel libgo" - ;; - esac - fi -@@ -74,19 +74,20 @@ case "$XBPS_TARGET_MACHINE" in - esac - case "$XBPS_TARGET_MACHINE" in - mips*) ;; -+ x86_64*|i686*) subpackages+=" libitm libitm-devel libmpx libmpx-devel";; - *) subpackages+=" libitm libitm-devel";; - esac - -+# gcc-c++ merged in main pkg -+replaces="gcc-c++>=0" -+ - pre_configure() { - case "$XBPS_TARGET_MACHINE" in -- *-musl) patch -Np1 -i ${FILESDIR}/gcc-4.9.2-musl.diff;; -+ *-musl) patch -Np1 -i ${FILESDIR}/gcc-${version}-musl.diff;; - esac - # _FORTIFY_SOURCE needs an optimization level. - sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure -- # As specified in the LFS book, disable installing libiberty. -- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in -- # Do not run fixincludes -- sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in -+ mkdir gcc_build - } - do_configure() { - local _langs _args _hash -@@ -118,7 +119,9 @@ do_configure() { - export GCC_FOR_TARGET="$CC" - export CXX_FOR_TARGET="$CXX" - -- _args+=" --disable-multilib --host=$XBPS_CROSS_TRIPLET --with-build-sysroot=${XBPS_CROSS_BASE}" -+ _args+=" --disable-multilib" -+ _args+=" --host=$XBPS_CROSS_TRIPLET" -+ _args+=" --with-build-sysroot=${XBPS_CROSS_BASE}" - _args+=" --enable-sjlj-exceptions=no" - else - if [ -z "$CHROOT_READY" ]; then -@@ -127,15 +130,18 @@ do_configure() { - _args+=" --with-mpfr=${XBPS_MASTERDIR}/usr" - _args+=" --with-isl=${XBPS_MASTERDIR}/usr" - _args+=" --with-mpc=${XBPS_MASTERDIR}/usr" -- _args+=" --with-cloog=${XBPS_MASTERDIR}/usr" - _args+=" --build=${_triplet}" - else -+ _langs="c,c++,objc,obj-c++,fortran,lto,java" - case "$XBPS_TARGET_MACHINE" in -- # XXX disable go and java with musl -- *-musl) _langs="c,c++,objc,obj-c++,fortran,lto";; -- *) _langs="c,c++,objc,obj-c++,fortran,lto,go,java";; -+ *-musl) # Linking libgo.so is broken for musl libc -+ ;; -+ *) _langs+=",go" -+ ;; - esac -- _args+=" --build=${_triplet} --enable-java-gc=boehm --enable-fast-character" -+ _args+=" --build=${_triplet}" -+ _args+=" --enable-java-gc=boehm" -+ _args+=" --enable-fast-character" - fi - fi - -@@ -143,34 +149,60 @@ do_configure() { - aarch64*|*-musl) _args+=" --disable-libsanitizer";; - esac - case "$XBPS_TARGET_MACHINE" in -- *-musl) _args+=" --disable-symvers libat_cv_have_ifunc=no";; -+ *-musl) _args+=" --disable-symvers" -+ _args+=" libat_cv_have_ifunc=no" -+ ;; - esac - - export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" - export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" - -- CONFIG_SHELL=/bin/bash \ -- ./configure --prefix=/usr --mandir=/usr/share/man \ -- --infodir=/usr/share/info --libexecdir=/usr/lib --libdir=/usr/lib \ -- --enable-threads=posix --enable-__cxa_atexit --disable-multilib \ -- --with-system-zlib --enable-shared --enable-lto \ -- --enable-linker-build-id --disable-werror --disable-nls \ -- --enable-checking=release --disable-libstdcxx-pch \ -- --enable-cloog-backend=isl --with-linker-hash-style=$_hash \ -- --enable-languages=${_langs} ${_args} -+ _args+=" --prefix=/usr" -+ _args+=" --mandir=/usr/share/man" -+ _args+=" --infodir=/usr/share/info" -+ _args+=" --libexecdir=/usr/lib" -+ _args+=" --libdir=/usr/lib" -+ _args+=" --enable-threads=posix" -+ _args+=" --enable-__cxa_atexit" -+ _args+=" --disable-multilib" -+ _args+=" --with-system-zlib" -+ _args+=" --enable-shared" -+ _args+=" --enable-lto" -+ _args+=" --enable-vtable-verify" -+ _args+=" --enable-linker-build-id" -+ _args+=" --enable-serial-configure" -+ _args+=" --disable-werror" -+ _args+=" --disable-nls" -+ _args+=" --enable-checking=release" -+ _args+=" --disable-libstdcxx-pch" -+ _args+=" --with-isl" -+ _args+=" --with-linker-hash-style=$_hash" -+ _args+=" --disable-libunwind-exceptions" -+ _args+=" --disable-target-libiberty" -+ _args+=" --with-default-libstdcxx-abi=gcc4-compatible" -+ _args+=" --enable-languages=${_langs}" -+ -+ mkdir -p build -+ cd build -+ CONFIG_SHELL=/bin/bash ${wrksrc}/configure ${_args} - } - do_build() { -+ if [ -z "$CHROOT_READY" ]; then -+ export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib" -+ fi -+ cd build - make ${makejobs} - } - pre_install() { - if [ "$CROSS_BUILD" ]; then - # XXX otherwise links to host libpthread -- for f in $(find ${wrksrc}/${XBPS_CROSS_TRIPLET} -type f -name libtool); do -+ for f in $(find ${wrksrc}/build/${XBPS_CROSS_TRIPLET} -type f -name libtool); do - sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" -i $f - done - fi - } - do_install() { -+ cd build - case "$XBPS_TARGET_MACHINE" in - x86_64*|aarch64*) - vmkdir usr/lib -@@ -325,7 +357,7 @@ gcc-fortran_package() { - } - gcc-objc++_package() { - lib32disabled=yes -- depends="gcc-c++>=${_majorver} gcc-objc>=${_majorver}" -+ depends="gcc-objc>=${_majorver}" - short_desc+=" - Objective-C++ support" - pkg_install() { - vmove usr/lib/gcc/${_triplet}/${_majorver}/cc1objplus -@@ -354,7 +386,7 @@ libgcj-devel_package() { - vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/gcj*" - vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/jvm*" - vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/jawt*" -- vmove usr/lib/pkgconfig/libgcj-${_majorver}.pc -+ vmove usr/lib/pkgconfig/libgcj-${_majorver%.*}.pc - } - } - libgcj_package() { -@@ -374,7 +406,10 @@ libgfortran-devel_package() { - short_desc+=" - Fortran library - development files" - pkg_install() { - vmove usr/lib/libgfortran.a -- vmove usr/lib/gcc/${_triplet}/${_majorver}/libgfortranbegin.a -+ # This does not seem to exist anymore? -+ if [ -f usr/lib/gcc/${_triplet}/${_majorver}/libgfortranbegin.a ]; then -+ vmove usr/lib/gcc/${_triplet}/${_majorver}/libgfortranbegin.a -+ fi - } - } - libgfortran_package() { -@@ -391,6 +426,7 @@ libgo-devel_package() { - pkg_install() { - vmove usr/lib/libgo.a - vmove usr/lib/libgobegin.a -+ vmove usr/lib/libgo.so - } - } - libgo_package() { -@@ -529,6 +565,23 @@ libitm_package() { - vmove "usr/lib/libitm.so.*" - } - } -+libmpx-devel_package() { -+ depends="libmpx>=${_majorver}" -+ short_desc+=" - Intel MPX support - development files" -+ pkg_install() { -+ vmove usr/lib/libmpx.a -+ vmove usr/lib/libmpx.so -+ vmove usr/lib/libmpxwrappers.so -+ vmove usr/lib/libmpxwrappers.a -+ } -+} -+libmpx_package() { -+ short_desc+=" - Intel MPX support" -+ pkg_install() { -+ vmove usr/lib/libmpx.so.* -+ vmove usr/lib/libmpxwrappers.so.* -+ } -+} - libsanitizer-devel_package() { - depends="libsanitizer>=${_majorver}" - short_desc+=" - Sanitizer libraries - development files" -@@ -546,7 +599,7 @@ libsanitizer_package() { - } - } - libssp-devel_package() { -- depends="glibc-devel libssp>=${_majorver}" -+ depends="libssp>=${_majorver}" - short_desc+=" - SSP (StackSmashingProtection) library - development files" - pkg_install() { - vmove "usr/lib/libssp*.a" -@@ -576,15 +629,3 @@ libstdc++_package() { - vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION - } - } --gcc-c++_package() { -- lib32disabled=yes -- depends="gcc>=${_majorver} libstdc++-devel>=${_majorver}" -- short_desc+=" - C++ support" -- pkg_install() { -- for f in g++ c++ ${_triplet}-g++ ${_triplet}-c++; do -- vmove usr/bin/${f} -- done -- vmove usr/lib/gcc/${_triplet}/${_majorver}/cc1plus -- vmove usr/share/man/man1/g++.1 -- } --} -diff --git a/srcpkgs/isl15-devel b/srcpkgs/isl15-devel -new file mode 120000 -index 0000000..ff1d954 ---- /dev/null -+++ b/srcpkgs/isl15-devel -@@ -0,0 +1 @@ -+isl15 -\ No newline at end of file -diff --git a/srcpkgs/isl15/template b/srcpkgs/isl15/template -new file mode 100644 -index 0000000..bc2c349 ---- /dev/null -+++ b/srcpkgs/isl15/template -@@ -0,0 +1,31 @@ -+# Template file for 'isl15' -+pkgname=isl15 -+version=0.16.1 -+revision=1 -+wrksrc="isl-${version}" -+bootstrap=yes -+build_style=gnu-configure -+makedepends="gmp-devel" -+short_desc="Integer Set Library" -+maintainer="Juan RP " -+homepage="http://freecode.com/projects/isl" -+license="LGPL-2.1" -+distfiles="http://isl.gforge.inria.fr/isl-${version}.tar.bz2" -+checksum=412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2 -+ -+post_install() { -+ # Remove gdb python files. -+ rm -f ${DESTDIR}/usr/lib/*.py -+} -+ -+isl15-devel_package() { -+ depends="${makedepends} ${sourcepkg}>=${version}_${revision}" -+ short_desc+=" - development files" -+ conflicts="isl-devel>=0" -+ pkg_install() { -+ vmove usr/include -+ vmove usr/lib/pkgconfig -+ vmove "usr/lib/*.a" -+ vmove "usr/lib/*.so" -+ } -+} -diff --git a/srcpkgs/kernel-libc-headers/template b/srcpkgs/kernel-libc-headers/template -index 8e8a7f3..1c39f88 100644 ---- a/srcpkgs/kernel-libc-headers/template -+++ b/srcpkgs/kernel-libc-headers/template -@@ -1,6 +1,6 @@ - # Template file for 'kernel-libc-headers' - pkgname=kernel-libc-headers --version=4.1.15 -+version=4.1.34 - revision=1 - bootstrap=yes - nostrip=yes -@@ -11,7 +11,7 @@ short_desc="The Linux API headers for userland development" - license="GPL-2" - homepage="http://www.kernel.org" - distfiles="http://www.kernel.org/pub/linux/kernel/v4.x/linux-${version}.tar.xz" --checksum=472288cc966188c5d7c511c6be0f78682843c9ca2d5d6c4d67d77455680359a3 -+checksum=412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af - - if [ "$CHROOT_READY" ]; then - hostmakedepends="perl" -diff --git a/srcpkgs/libmpx b/srcpkgs/libmpx -new file mode 120000 -index 0000000..b08d5af ---- /dev/null -+++ b/srcpkgs/libmpx -@@ -0,0 +1 @@ -+gcc -\ No newline at end of file -diff --git a/srcpkgs/libmpx-devel b/srcpkgs/libmpx-devel -new file mode 120000 -index 0000000..b08d5af ---- /dev/null -+++ b/srcpkgs/libmpx-devel -@@ -0,0 +1 @@ -+gcc -\ No newline at end of file -diff --git a/srcpkgs/rr/template b/srcpkgs/rr/template -index 1fa6abf..4b8c989 100644 ---- a/srcpkgs/rr/template -+++ b/srcpkgs/rr/template -@@ -16,7 +16,7 @@ checksum=b2b24a3f67df47576126421746cd2942a458d2825faa76e8bb3ca43edffa03d3 - nopie=yes - - case "$XBPS_MACHINE" in -- x86_64*) hostmakedepends+=" gcc-multilib gcc-c++-multilib" ;; -+ x86_64*) hostmakedepends+=" gcc-multilib" ;; - esac - - pre_configure() { -diff --git a/srcpkgs/virtualbox-ose/template b/srcpkgs/virtualbox-ose/template -index 1908c5d..b8e52cf 100644 ---- a/srcpkgs/virtualbox-ose/template -+++ b/srcpkgs/virtualbox-ose/template -@@ -22,7 +22,8 @@ makedepends="libressl-devel libcurl-devel libpng-devel libvpx-devel - xorg-server-devel device-mapper-devel docbook-xsl gsoap-devel" - - if [ "$XBPS_MACHINE" = "x86_64" ]; then -- makedepends+=" gcc-c++-multilib" -+ # Is this required? -+ makedepends+=" gcc-multilib" - fi - - depends="virtualbox-ose-dkms-${version}_${revision} hicolor-icon-theme desktop-file-utils dbus" -diff --git a/xbps-src b/xbps-src -index 03ac79d..87f3132 100755 ---- a/xbps-src -+++ b/xbps-src -@@ -403,9 +403,9 @@ readonly XBPS_VERSION_REQ="0.46" - readonly XBPS_VERSION=$(xbps-uhelper -V|awk '{print $2}') - readonly XBPS_SRC_VERSION="113" - export XBPS_MACHINE=$(xbps-uhelper arch) --readonly XBPS_GCC_VERSION_MAJOR=4 --readonly XBPS_GCC_VERSION_MINOR=9 --readonly XBPS_GCC_VERSION_BUILD=4 -+readonly XBPS_GCC_VERSION_MAJOR=6 -+readonly XBPS_GCC_VERSION_MINOR=2 -+readonly XBPS_GCC_VERSION_BUILD=1 - readonly XBPS_GCC_VERSION=${XBPS_GCC_VERSION_MAJOR}.${XBPS_GCC_VERSION_MINOR}.${XBPS_GCC_VERSION_BUILD} - - #