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} #