diff --git a/common/environment/configure/hardening.sh b/common/environment/configure/hardening.sh index 890471de2bb..0b4024e2532 100644 --- a/common/environment/configure/hardening.sh +++ b/common/environment/configure/hardening.sh @@ -1,26 +1,28 @@ -# Enable SSP and FORITFY_SOURCE=2 by default. -_CFLAGS=" -fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CFLAGS}" -_CXXFLAGS="-fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CXXFLAGS}" -# Enable as-needed and relro by default. -_LDFLAGS="-Wl,--as-needed ${LDFLAGS}" - -case "$XBPS_TARGET_MACHINE" in - i686-musl) # SSP currently broken (see https://github.com/voidlinux/void-packages/issues/2902) - _CFLAGS+=" -fno-stack-protector" - _CXXFLAGS+=" -fno-stack-protector" - ;; -esac +# Enable as-needed by default. +LDFLAGS="-Wl,--as-needed ${LDFLAGS}" if [ -z "$nopie" ]; then - _GCCSPECSDIR=${XBPS_COMMONDIR}/environment/configure/gccspecs - case "$XBPS_TARGET_MACHINE" in - mips*) _GCCSPECSFILE=${_GCCSPECSDIR}/hardened-mips-cc1;; - *) _GCCSPECSFILE=${_GCCSPECSDIR}/hardened-cc1;; - esac - CFLAGS="-specs=${_GCCSPECSFILE} ${_CFLAGS}" - CXXFLAGS="-specs=${_GCCSPECSFILE} ${_CXXFLAGS}" - # We pass -z relro -z now here too, because libtool drops -specs... - LDFLAGS="-specs=${_GCCSPECSDIR}/hardened-ld -Wl,-z,relro -Wl,-z,now ${_LDFLAGS}" + # Our compilers use --enable-default-pie and --enable-default-ssp, + # but the bootstrap host compiler may not, force them. + if [ -z "$CHROOT_READY" ]; then + CFLAGS="-fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CFLAGS}" + CXXFLAGS="-fstack-protector-strong -D_FORTIFY_SOURCE=2 ${CXXFLAGS}" + _GCCSPECSDIR=${XBPS_COMMONDIR}/environment/configure/gccspecs + case "$XBPS_TARGET_MACHINE" in + mips*) _GCCSPECSFILE="${_GCCSPECSDIR}/hardened-mips-cc1" ;; + *) _GCCSPECSFILE="${_GCCSPECSDIR}/hardened-cc1" ;; + esac + CFLAGS="-specs=${_GCCSPECSFILE} ${CFLAGS}" + CXXFLAGS="-specs=${_GCCSPECSFILE} ${CXXFLAGS}" + LDFLAGS="-specs=${_GCCSPECSDIR}/hardened-ld -Wl,-z,relro -Wl,-z,now ${LDFLAGS}" + else + # Enable FORITFY_SOURCE=2 + CFLAGS="-D_FORTIFY_SOURCE=2 ${CFLAGS}" + CXXFLAGS="-D_FORTIFY_SOURCE=2 ${CXXFLAGS}" + LDFLAGS="-Wl,-z,relro -Wl,-z,now ${LDFLAGS}" + fi +else + CFLAGS="-fno-PIE ${CFLAGS}" + CXXFLAGS="-fno-PIE ${CFLAGS}" + LDFLAGS="-no-pie ${LDFLAGS}" fi - -unset _CFLAGS _CXXFLAGS _LDFLAGS diff --git a/common/shlibs b/common/shlibs index 9e2d6f2796e..7431ab05f04 100644 --- a/common/shlibs +++ b/common/shlibs @@ -59,7 +59,7 @@ libgcc_s.so.1 libgcc-4.4.0_1 libgcj.so.17 libgcj-6.3.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 +libgo.so.11 libgo-7.2.0_1 libmpx.so.2 libmpx-6.2.1_1 libmpxwrappers.so.2 libmpx-6.2.1_1 libperl.so.5.26 perl-5.26.0_1 @@ -786,7 +786,7 @@ libgdkmm-2.4.so.1 gtkmm2-2.24.0_1 libgtkmm-2.4.so.1 gtkmm2-2.24.0_1 libseed-gtk3.so.0 libseed-3.0.0_1 libquadmath.so.0 libquadmath-4.4.0_1 -libgfortran.so.3 libgfortran-4.4.0_1 +libgfortran.so.4 libgfortran-7.2.0_1 libmozjs185.so.1.0 js-1.8.5_1 libwebp.so.7 libwebp-0.6.0_1 libwebpmux.so.3 libwebp-0.6.0_1 @@ -1605,7 +1605,7 @@ libextractor_common.so.1 libextractor-1.1_1 libpano13.so.3 libpano13-2.9.19_1 libubsan.so.0 libsanitizer-6.3.0_1 libtsan.so.0 libsanitizer-6.3.0_1 -libasan.so.3 libsanitizer-6.3.0_1 +libasan.so.4 libsanitizer-7.2.0_1 liblsan.so.0 libsanitizer-6.3.0_1 libcilkrts.so.5 libcilkrts-6.3.0_1 libvtv.so.0 libvtv-6.3.0_1 diff --git a/srcpkgs/avr-gcc/template b/srcpkgs/avr-gcc/template index 3f6ecd6553d..092ee5b3ea2 100644 --- a/srcpkgs/avr-gcc/template +++ b/srcpkgs/avr-gcc/template @@ -1,13 +1,13 @@ # Template build file for 'avr-gcc' pkgname=avr-gcc -version=6.3.0 +version=7.2.0 revision=1 short_desc="The GNU C Compiler for AVR" maintainer="allan " 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=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f +distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz" +checksum=1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a wrksrc="gcc-$version" hostmakedepends="flex avr-binutils" diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/fix-glibc-2.26.patch b/srcpkgs/cross-aarch64-linux-gnu/files/fix-glibc-2.26.patch deleted file mode 120000 index 3f1aa57333c..00000000000 --- a/srcpkgs/cross-aarch64-linux-gnu/files/fix-glibc-2.26.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/fix-glibc-2.26.patch \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-gnu/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-aarch64-linux-gnu/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-aarch64-linux-gnu/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-gnu/template b/srcpkgs/cross-aarch64-linux-gnu/template index e8e30782193..e9d1eab8279 100644 --- a/srcpkgs/cross-aarch64-linux-gnu/template +++ b/srcpkgs/cross-aarch64-linux-gnu/template @@ -1,7 +1,7 @@ # Template build file for 'cross-aarch64-linux-gnu' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _glibc_version=2.26 _linux_version=4.9.8 @@ -10,20 +10,20 @@ _archflags="-march=armv8-a" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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 + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" checksum=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45" @@ -77,7 +77,7 @@ _binutils_build() { _args+=" --disable-shared" _args+=" --disable-multilib" _args+=" --disable-werror" - _args+=" --enable-gold" + _args+=" --disable-gold" _args+=" --with-system-zlib" ../binutils-${_binutils_version}/configure ${_args} @@ -93,9 +93,7 @@ _gcc_bootstrap() { [ -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}/fix-cxxflags-passing.patch - _apply_patch -p0 ${FILESDIR}/fix-glibc-2.26.patch msg_normal "Building cross gcc bootstrap\n" @@ -131,10 +129,15 @@ _gcc_bootstrap() { } _glibc_headers() { - local _args + local _args f [ -f ${wrksrc}/.glibc_headers_done ] && return 0 + cd ${wrksrc}/glibc-${_glibc_version} + for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do + _apply_patch -p1 "$f" + done + cd ${wrksrc} msg_normal "Building cross glibc headers\n" @@ -238,6 +241,8 @@ _gcc_build() { _args+=" --enable-linker-build-id" _args+=" --enable-gnu-unique-object" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libquadmath" _args+=" --disable-libatomic" _args+=" --disable-libssp" diff --git a/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-aarch64-linux-musl/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-musl/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-aarch64-linux-musl/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-aarch64-linux-musl/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template index ab509568623..c43643f0de7 100644 --- a/srcpkgs/cross-aarch64-linux-musl/template +++ b/srcpkgs/cross-aarch64-linux-musl/template @@ -1,7 +1,7 @@ # Template build file for 'cross-aarch64-linux-musl' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -10,20 +10,20 @@ _archflags="-march=armv8-a" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=4 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -80,8 +80,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -168,6 +166,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-arm-linux-gnueabi/files/fix-glibc-2.26.patch b/srcpkgs/cross-arm-linux-gnueabi/files/fix-glibc-2.26.patch deleted file mode 120000 index 3f1aa57333c..00000000000 --- a/srcpkgs/cross-arm-linux-gnueabi/files/fix-glibc-2.26.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/fix-glibc-2.26.patch \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-gnueabi/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-arm-linux-gnueabi/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-arm-linux-gnueabi/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-gnueabi/template b/srcpkgs/cross-arm-linux-gnueabi/template index 916991a6c54..d95c87a132c 100644 --- a/srcpkgs/cross-arm-linux-gnueabi/template +++ b/srcpkgs/cross-arm-linux-gnueabi/template @@ -1,7 +1,7 @@ # Template build file for 'cross-arm-linux-gnueabi' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _glibc_version=2.26 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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 + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" checksum=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45" @@ -96,9 +96,7 @@ _gcc_bootstrap() { [ -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}/fix-cxxflags-passing.patch - _apply_patch -p0 ${FILESDIR}/fix-glibc-2.26.patch msg_normal "Building cross gcc bootstrap\n" @@ -136,10 +134,15 @@ _gcc_bootstrap() { } _glibc_headers() { - local _args + local _args f [ -f ${wrksrc}/.glibc_headers_done ] && return 0 + cd ${wrksrc}/glibc-${_glibc_version} + for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do + _apply_patch -p1 "$f" + done + cd ${wrksrc} msg_normal "Building cross glibc headers\n" @@ -243,6 +246,8 @@ _gcc_build() { _args+=" --enable-linker-build-id" _args+=" --enable-gnu-unique-object" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libquadmath" _args+=" --disable-libatomic" _args+=" --disable-libssp" diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/fix-glibc-2.26.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/fix-glibc-2.26.patch deleted file mode 120000 index 3f1aa57333c..00000000000 --- a/srcpkgs/cross-arm-linux-gnueabihf/files/fix-glibc-2.26.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/fix-glibc-2.26.patch \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-gnueabihf/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-arm-linux-gnueabihf/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-arm-linux-gnueabihf/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-gnueabihf/template b/srcpkgs/cross-arm-linux-gnueabihf/template index a33bd1ef3bf..3337480da41 100644 --- a/srcpkgs/cross-arm-linux-gnueabihf/template +++ b/srcpkgs/cross-arm-linux-gnueabihf/template @@ -1,7 +1,7 @@ # Template build file for 'cross-arm-linux-gnueabihf' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _glibc_version=2.26 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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 + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" checksum=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45" @@ -97,9 +97,7 @@ _gcc_bootstrap() { [ -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}/fix-cxxflags-passing.patch - _apply_patch -p0 ${FILESDIR}/fix-glibc-2.26.patch msg_normal "Building cross gcc bootstrap\n" @@ -137,10 +135,15 @@ _gcc_bootstrap() { } _glibc_headers() { - local _args + local _args f [ -f ${wrksrc}/.glibc_headers_done ] && return 0 + cd ${wrksrc}/glibc-${_glibc_version} + for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do + _apply_patch -p1 "$f" + done + cd ${wrksrc} msg_normal "Building cross glibc headers\n" @@ -243,6 +246,8 @@ _gcc_build() { _args+=" --enable-linker-build-id" _args+=" --enable-gnu-unique-object" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libquadmath" _args+=" --disable-libatomic" _args+=" --disable-libssp" diff --git a/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-arm-linux-musleabi/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-musleabi/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-arm-linux-musleabi/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-arm-linux-musleabi/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template index 6f7649d9a41..be4693d6f56 100644 --- a/srcpkgs/cross-arm-linux-musleabi/template +++ b/srcpkgs/cross-arm-linux-musleabi/template @@ -1,7 +1,7 @@ # Template build file for 'cross-arm-linux-musleabi' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=2 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -83,8 +83,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -169,6 +167,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-arm-linux-musleabihf/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-musleabihf/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-arm-linux-musleabihf/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-arm-linux-musleabihf/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template index b8336130264..68560a62637 100644 --- a/srcpkgs/cross-arm-linux-musleabihf/template +++ b/srcpkgs/cross-arm-linux-musleabihf/template @@ -1,7 +1,7 @@ # Template build file for 'cross-arm-linux-musleabihf' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=armv6 -mfpu=vfp -mfloat-abi=hard" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -83,8 +83,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -168,6 +166,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-glibc-2.26.patch b/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-glibc-2.26.patch deleted file mode 120000 index 3f1aa57333c..00000000000 --- a/srcpkgs/cross-armv7l-linux-gnueabihf/files/fix-glibc-2.26.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/fix-glibc-2.26.patch \ No newline at end of file diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-armv7l-linux-gnueabihf/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-armv7l-linux-gnueabihf/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-armv7l-linux-gnueabihf/template b/srcpkgs/cross-armv7l-linux-gnueabihf/template index 9fc8c86e453..585f2d79d5a 100644 --- a/srcpkgs/cross-armv7l-linux-gnueabihf/template +++ b/srcpkgs/cross-armv7l-linux-gnueabihf/template @@ -1,7 +1,7 @@ # Template build file for 'cross-armv7l-linux-gnueabihf' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _glibc_version=2.26 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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 + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz http://ftp.gnu.org/gnu/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" checksum=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45" @@ -97,9 +97,7 @@ _gcc_bootstrap() { [ -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}/fix-cxxflags-passing.patch - _apply_patch -p0 ${FILESDIR}/fix-glibc-2.26.patch msg_normal "Building cross gcc bootstrap\n" @@ -137,10 +135,15 @@ _gcc_bootstrap() { } _glibc_headers() { - local _args + local _args f [ -f ${wrksrc}/.glibc_headers_done ] && return 0 + cd ${wrksrc}/glibc-${_glibc_version} + for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do + _apply_patch -p1 "$f" + done + cd ${wrksrc} msg_normal "Building cross glibc headers\n" @@ -244,6 +247,8 @@ _gcc_build() { _args+=" --enable-linker-build-id" _args+=" --enable-gnu-unique-object" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libquadmath" _args+=" --disable-libatomic" _args+=" --disable-libssp" diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-armv7l-linux-musleabihf/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-armv7l-linux-musleabihf/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-armv7l-linux-musleabihf/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template index bff2412f6b3..cbdd29d554b 100644 --- a/srcpkgs/cross-armv7l-linux-musleabihf/template +++ b/srcpkgs/cross-armv7l-linux-musleabihf/template @@ -1,7 +1,7 @@ # Template build file for 'cross-armv7l-linux-musleabihf' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -83,8 +83,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -170,6 +168,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-i686-linux-musl/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-i686-linux-musl/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-i686-linux-musl/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-i686-linux-musl/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-i686-linux-musl/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-i686-linux-musl/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-i686-linux-musl/files/no-stack_chk_fail_local.patch b/srcpkgs/cross-i686-linux-musl/files/no-stack_chk_fail_local.patch new file mode 120000 index 00000000000..730486bacb5 --- /dev/null +++ b/srcpkgs/cross-i686-linux-musl/files/no-stack_chk_fail_local.patch @@ -0,0 +1 @@ +../../gcc/patches/no-stack_chk_fail_local.patch \ No newline at end of file diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template index 23a36262b42..b94b7bfe560 100644 --- a/srcpkgs/cross-i686-linux-musl/template +++ b/srcpkgs/cross-i686-linux-musl/template @@ -1,7 +1,7 @@ # Template build file for 'cross-i686-linux-musl' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -10,20 +10,20 @@ _sysroot="/usr/${_triplet}" _archflags="-march=i686" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -82,9 +82,8 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch + _apply_patch -p0 ${FILESDIR}/no-stack_chk_fail_local.patch msg_normal "Building cross gcc bootstrap\n" @@ -96,8 +95,8 @@ _gcc_bootstrap() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c" _args+=" --with-newlib" - _args+=" --disable-libssp" _args+=" --disable-nls" + _args+=" --disable-libssp" _args+=" --disable-libquadmath" _args+=" --disable-threads" _args+=" --disable-decimal-float" @@ -166,6 +165,8 @@ _gcc_build() { _args+=" --prefix=/usr" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-libmpx" diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/fix-glibc-2.26.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/fix-glibc-2.26.patch deleted file mode 120000 index 3f1aa57333c..00000000000 --- a/srcpkgs/cross-i686-pc-linux-gnu/files/fix-glibc-2.26.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/fix-glibc-2.26.patch \ No newline at end of file diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-i686-pc-linux-gnu/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-i686-pc-linux-gnu/files/no-stack_chk_fail_local.patch b/srcpkgs/cross-i686-pc-linux-gnu/files/no-stack_chk_fail_local.patch new file mode 120000 index 00000000000..730486bacb5 --- /dev/null +++ b/srcpkgs/cross-i686-pc-linux-gnu/files/no-stack_chk_fail_local.patch @@ -0,0 +1 @@ +../../gcc/patches/no-stack_chk_fail_local.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 0efa59ed8e7..08a22d596c7 100644 --- a/srcpkgs/cross-i686-pc-linux-gnu/template +++ b/srcpkgs/cross-i686-pc-linux-gnu/template @@ -1,7 +1,7 @@ # Template build file for 'cross-i686-pc-linux-gnu' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _glibc_version=2.26 _linux_version=4.9.8 @@ -10,20 +10,20 @@ _archflags="-march=i686 -mtune=generic" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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 + ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/glibc/glibc-${_glibc_version}.tar.xz ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" checksum=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45" @@ -80,9 +80,8 @@ _gcc_bootstrap() { [ -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}/fix-cxxflags-passing.patch - _apply_patch -p0 ${FILESDIR}/fix-glibc-2.26.patch + _apply_patch -p0 ${FILESDIR}/no-stack_chk_fail_local.patch msg_normal "Building cross gcc bootstrap\n" @@ -136,9 +135,14 @@ _linux_headers() { } _glibc_headers() { - local _args + local _args f [ -f ${wrksrc}/.glibc_headers_done ] && return 0 + cd ${wrksrc}/glibc-${_glibc_version} + for f in ${XBPS_SRCPKGDIR}/glibc/patches/*.patch; do + _apply_patch -p1 "$f" + done + cd ${wrksrc} msg_normal "Building cross glibc headers\n" @@ -237,6 +241,8 @@ _gcc_build() { _args+=" --enable-linker-build-id" _args+=" --enable-gnu-unique-object" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --enable-gnu-indirect-function" _args+=" --enable-libquadmath" _args+=" --disable-libatomic" diff --git a/srcpkgs/cross-mips-linux-musl/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-mips-linux-musl/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-mips-linux-musl/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-mips-linux-musl/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-mips-linux-musl/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-mips-linux-musl/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template index 13c93d85684..d77c12e04ca 100644 --- a/srcpkgs/cross-mips-linux-musl/template +++ b/srcpkgs/cross-mips-linux-musl/template @@ -1,7 +1,7 @@ # Template build file for 'cross-mips-linux-musl' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=mips32r2 -msoft-float" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=4 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -83,8 +83,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -169,6 +167,8 @@ _gcc_build() { _args+=" --libexecdir=/usr/lib" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-mipsel-linux-musl/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-mipsel-linux-musl/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-mipsel-linux-musl/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-mipsel-linux-musl/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template index 1b02af00228..21f25d76442 100644 --- a/srcpkgs/cross-mipsel-linux-musl/template +++ b/srcpkgs/cross-mipsel-linux-musl/template @@ -1,7 +1,7 @@ # Template build file for 'cross-mipsel-linux-musl' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=mips32r2 -msoft-float" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=4 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -83,8 +83,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -169,6 +167,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-mipsel-linux-muslhf/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-mipsel-linux-muslhf/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-mipsel-linux-muslhf/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-mipsel-linux-muslhf/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.patch \ No newline at end of file diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template index a04ca5b7050..98f833ee5d2 100644 --- a/srcpkgs/cross-mipsel-linux-muslhf/template +++ b/srcpkgs/cross-mipsel-linux-muslhf/template @@ -1,7 +1,7 @@ # Template build file for 'cross-mipsel-linux-muslhf' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -11,20 +11,20 @@ _archflags="-march=mips32r2 -mhard-float" _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=4 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -83,8 +83,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -169,6 +167,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" _args+=" --disable-nls" diff --git a/srcpkgs/cross-vpkg-dummy/template b/srcpkgs/cross-vpkg-dummy/template index 87cd19742e2..577ca6efcf6 100644 --- a/srcpkgs/cross-vpkg-dummy/template +++ b/srcpkgs/cross-vpkg-dummy/template @@ -1,7 +1,7 @@ # Template file for 'cross-vpkg-dummy' pkgname=cross-vpkg-dummy -version=0.23 -revision=2 +version=0.24 +revision=1 build_style=meta short_desc="Dummy meta-pkg for cross building packages with xbps-src" maintainer="Juan RP " diff --git a/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.3.0-musl.diff b/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.3.0-musl.diff deleted file mode 120000 index 5c5bfaadc46..00000000000 --- a/srcpkgs/cross-x86_64-linux-musl/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1 +0,0 @@ -../../gcc/files/gcc-6.3.0-musl.diff \ No newline at end of file diff --git a/srcpkgs/cross-x86_64-linux-musl/files/libcpp-source_date_epoch.patch b/srcpkgs/cross-x86_64-linux-musl/files/libcpp-source_date_epoch.patch deleted file mode 120000 index e1d4856827d..00000000000 --- a/srcpkgs/cross-x86_64-linux-musl/files/libcpp-source_date_epoch.patch +++ /dev/null @@ -1 +0,0 @@ -../../gcc/patches/libcpp-source_date_epoch.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 6233ea62bed..a4d6919cb96 100644 --- a/srcpkgs/cross-x86_64-linux-musl/template +++ b/srcpkgs/cross-x86_64-linux-musl/template @@ -1,7 +1,7 @@ # Template build file for 'cross-x86_64-linux-musl' # _binutils_version=2.29 -_gcc_version=6.3.0 +_gcc_version=7.2.0 _musl_version=1.1.16 _linux_version=4.9.8 @@ -9,20 +9,20 @@ _triplet=x86_64-linux-musl _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} -version=0.23 -revision=3 +version=0.24 +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=" ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.bz2 - ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 + ${GNU_SITE}/gcc/gcc-${_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=" 29a29549869039aad75fdf507ac30366da5ad0b974fbff4a8e7148dbf4f40ebf - f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f + 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a 150bb7f2dd4849b5d21b8ccd8d05294a48229e1fcb93a22e7b806a79ec0b0e45 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011" @@ -82,8 +82,6 @@ _gcc_bootstrap() { [ -f ${wrksrc}/.gcc_bootstrap_done ] && return 0 cd ${wrksrc}/gcc-${_gcc_version} - _apply_patch -p1 ${FILESDIR}/gcc-6.3.0-musl.diff - _apply_patch -p0 ${FILESDIR}/libcpp-source_date_epoch.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch msg_normal "Building cross gcc bootstrap\n" @@ -168,6 +166,8 @@ _gcc_build() { _args+=" --with-sysroot=${_sysroot}" _args+=" --enable-languages=c,c++,fortran,lto" _args+=" --enable-lto" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --enable-libquadmath" _args+=" --disable-libsanitizer" _args+=" --disable-multilib" diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template index 3c4d8cb1110..9d5eaeca1b1 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=6.3 +_majorver=7.2 pkgname=gcc-multilib version=${_majorver}.0 -revision=4 +revision=1 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=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f +distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz" +checksum=1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a hostmakedepends="perl flex zip unzip" makedepends="zlib-devel libmpc-devel isl15-devel libfl-devel diff --git a/srcpkgs/gcc/files/gcc-6.3.0-musl.diff b/srcpkgs/gcc/files/gcc-6.3.0-musl.diff deleted file mode 100644 index f0837da30e3..00000000000 --- a/srcpkgs/gcc/files/gcc-6.3.0-musl.diff +++ /dev/null @@ -1,544 +0,0 @@ -# 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 -@@ -274,6 +274,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 -@@ -2475,6 +2475,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 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 -@@ -40497,10 +40497,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 -@@ -696,7 +696,7 @@ - # ifdef __ELF__ - # define DYNAMIC_LOADING - # include --# if defined(__GLIBC__)&& __GLIBC__>=2 -+# if 1 - # define SEARCH_FOR_DATA_START - # else /* !GLIBC2 */ - extern char **__environ; -@@ -1167,7 +1167,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; -@@ -1387,7 +1387,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 -@@ -1909,7 +1909,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-glibc-2.26.patch b/srcpkgs/gcc/patches/fix-glibc-2.26.patch deleted file mode 100644 index fe19cc188c0..00000000000 --- a/srcpkgs/gcc/patches/fix-glibc-2.26.patch +++ /dev/null @@ -1,211 +0,0 @@ -Cherry picked the gcc commits 14c2f22a1877f6b60a2f7c2f83ffb032759456a6 -and 72edc2c02f8b4768ad660f46a1c7e2400c0a8e06 changes and edited -to apply with patch_args -p0 - ---- libgcc/config/aarch64/linux-unwind.h -+++ libgcc/config/aarch64/linux-unwind.h -@@ -55,7 +55,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe - { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - }; - - struct rt_sigframe *rt_; ---- libgcc/config/alpha/linux-unwind.h -+++ libgcc/config/alpha/linux-unwind.h -@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - sc = &rt_->uc.uc_mcontext; - } ---- libgcc/config/bfin/linux-unwind.h -+++ libgcc/config/bfin/linux-unwind.h -@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, - void *puc; - char retcode[8]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - - /* The void * cast is necessary to avoid an aliasing warning. ---- libgcc/config/i386/linux-unwind.h -+++ libgcc/config/i386/linux-unwind.h -@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, - if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) - { -- struct ucontext *uc_ = context->cfa; -+ ucontext_t *uc_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ -@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, - siginfo_t *pinfo; - void *puc; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem ---- libgcc/config/m68k/linux-unwind.h -+++ libgcc/config/m68k/linux-unwind.h -@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* is unfortunately broken right now. */ - struct uw_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - unsigned long uc_filler[80]; ---- libgcc/config/nios2/linux-unwind.h -+++ libgcc/config/nios2/linux-unwind.h -@@ -38,7 +38,7 @@ struct nios2_mcontext { - - struct nios2_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - struct nios2_mcontext uc_mcontext; - sigset_t uc_sigmask; /* mask last for extensibility */ ---- libgcc/config/pa/linux-unwind.h -+++ libgcc/config/pa/linux-unwind.h -@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, - struct sigcontext *sc; - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *frame; - - /* rt_sigreturn trampoline: ---- libgcc/config/sh/linux-unwind.h -+++ libgcc/config/sh/linux-unwind.h -@@ -82,7 +82,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem ---- libgcc/config/tilepro/linux-unwind.h -+++ libgcc/config/tilepro/linux-unwind.h -@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe { - unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* Return if this is not a signal handler. */ ---- libgcc/config/xtensa/linux-unwind.h -+++ libgcc/config/xtensa/linux-unwind.h -@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, - - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* movi a2, __NR_rt_sigreturn; syscall */ - ---- libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2015-10-21 09:32:45.000000000 +0200 -+++ libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-08-05 18:16:36.004549680 +0200 -@@ -267,7 +267,7 @@ - - // Alternate stack for signal handling. - InternalScopedBuffer handler_stack_memory(kHandlerStackSize); -- struct sigaltstack handler_stack; -+ stack_t handler_stack; - internal_memset(&handler_stack, 0, sizeof(handler_stack)); - handler_stack.ss_sp = handler_stack_memory.data(); - handler_stack.ss_size = kHandlerStackSize; ---- libsanitizer/sanitizer_common/sanitizer_linux.cc 2015-11-23 10:07:18.000000000 +0100 -+++ libsanitizer/sanitizer_common/sanitizer_linux.cc 2017-08-05 19:03:06.916498311 +0200 -@@ -546,8 +546,7 @@ - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - ---- libsanitizer/sanitizer_common/sanitizer_linux.h 2015-10-21 09:32:45.000000000 +0200 -+++ libsanitizer/sanitizer_common/sanitizer_linux.h 2017-08-05 19:03:47.631527380 +0200 -@@ -20,6 +20,5 @@ - - struct link_map; // Opaque type returned by dlopen(). --struct sigaltstack; - - namespace __sanitizer { - // Dirent structure for getdents(). Note that this structure is different from -@@ -28,8 +29,7 @@ - - // Syscall wrappers. - uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, - __sanitizer_sigset_t *oldset); - void internal_sigfillset(__sanitizer_sigset_t *set); ---- libsanitizer/tsan/tsan_platform_linux.cc -+++ libsanitizer/tsan/tsan_platform_linux.cc -@@ -287,7 +287,7 @@ void InitializePlatform() { - int ExtractResolvFDs(void *state, int *fds, int nfd) { - #if SANITIZER_LINUX && !SANITIZER_ANDROID - int cnt = 0; -- __res_state *statp = (__res_state*)state; -+ struct __res_state *statp = (struct __res_state*)state; - for (int i = 0; i < MAXNS && cnt < nfd; i++) { - if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) - fds[cnt++] = statp->_u._ext.nssocks[i]; - ---- libjava/include/i386-signal.h 2011-12-20 13:18:26.000000000 +0100 -+++ libjava/include/i386-signal.h 2017-08-07 16:28:12.038745548 +0200 -@@ -29,7 +29,7 @@ - #define HANDLE_DIVIDE_OVERFLOW \ - do \ - { \ -- struct ucontext *_uc = (struct ucontext *)_p; \ -+ ucontext_t *_uc = (ucontext_t *)_p; \ - gregset_t &_gregs = _uc->uc_mcontext.gregs; \ - unsigned char *_eip = (unsigned char *)_gregs[REG_EIP]; \ - \ ---- libjava/include/s390-signal.h 2011-01-03 21:52:22.000000000 +0100 -+++ libjava/include/s390-signal.h 2017-08-07 16:28:25.206763588 +0200 -@@ -51,7 +51,7 @@ - struct \ - { \ - unsigned long int uc_flags; \ -- struct ucontext *uc_link; \ -+ ucontext_t *uc_link; \ - stack_t uc_stack; \ - mcontext_t uc_mcontext; \ - unsigned long sigmask[2]; \ ---- libjava/include/x86_64-signal.h 2013-01-04 13:49:55.000000000 +0100 -+++ libjava/include/x86_64-signal.h 2017-08-07 16:28:36.446778971 +0200 -@@ -28,7 +28,7 @@ - #define HANDLE_DIVIDE_OVERFLOW \ - do \ - { \ -- struct ucontext *_uc = (struct ucontext *)_p; \ -+ ucontext_t *_uc = (ucontext_t *)_p; \ - gregset_t &_gregs = _uc->uc_mcontext.gregs; \ - unsigned char *_rip = (unsigned char *)_gregs[REG_RIP]; \ - \ diff --git a/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch b/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch deleted file mode 100644 index e42f4d6875a..00000000000 --- a/srcpkgs/gcc/patches/libcpp-source_date_epoch.patch +++ /dev/null @@ -1,60 +0,0 @@ -Based on https://gcc.gnu.org/ml/gcc-patches/2015-06/txtLtaPOCTgpq.txt - -Support for deterministic builds with externally defined -values for the macros __DATE__, __TIME__ and __DATETIME__. - -If the environment variable SOURCE_DATE_EPOCH is defined, -use its value instead of the time(2) return value as -seconds since the Epoch. - -Use strtoll() to convert SOURCE_DATE_EPOCH just in case -time_t is some day promoted to a 64 bit value. - ---- libcpp/macro.c -+++ libcpp/macro.c -@@ -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; -+ char *source_date_epoch; - -- /* (time_t) -1 is a legitimate value for "number of seconds -- since the Epoch", so we have to do a little dance to -- distinguish that from a genuine error. */ -- errno = 0; -- tt = time(NULL); -- if (tt != (time_t)-1 || errno == 0) -- tb = localtime (&tt); -+ /* Allow the date and time to be set externally by an exported -+ environment variable to enable reproducible builds. */ -+ source_date_epoch = getenv ("SOURCE_DATE_EPOCH"); -+ if (source_date_epoch) -+ { -+ errno = 0; -+ tt = (time_t) strtoll (source_date_epoch, NULL, 10); -+ if (errno == 0) -+ { -+ tb = gmtime (&tt); -+ if (tb == NULL) -+ cpp_error (pfile, CPP_DL_ERROR, -+ "SOURCE_DATE_EPOCH=\"%s\" is not a valid date", -+ source_date_epoch); -+ } -+ else -+ cpp_error (pfile, CPP_DL_ERROR, -+ "SOURCE_DATE_EPOCH=\"%s\" is not a valid number", -+ source_date_epoch); -+ } -+ else -+ { -+ /* (time_t) -1 is a legitimate value for "number of seconds -+ since the Epoch", so we have to do a little dance to -+ distinguish that from a genuine error. */ -+ errno = 0; -+ tt = time(NULL); -+ if (tt != (time_t)-1 || errno == 0) -+ tb = localtime (&tt); -+ } - - if (tb) - { diff --git a/srcpkgs/gcc/patches/no-stack_chk_fail_local.patch b/srcpkgs/gcc/patches/no-stack_chk_fail_local.patch new file mode 100644 index 00000000000..a588880defd --- /dev/null +++ b/srcpkgs/gcc/patches/no-stack_chk_fail_local.patch @@ -0,0 +1,23 @@ +--- gcc/targhooks.c 2017-02-07 12:29:06.644837000 +0100 ++++ gcc/targhooks.c 2017-10-29 17:08:58.318032821 +0100 +@@ -856,8 +856,8 @@ + if (t == NULL_TREE) + { + t = build_function_type_list (void_type_node, NULL_TREE); +- t = build_decl (UNKNOWN_LOCATION, FUNCTION_DECL, +- get_identifier ("__stack_chk_fail_local"), t); ++ t = build_decl (UNKNOWN_LOCATION, ++ FUNCTION_DECL, get_identifier ("__stack_chk_fail"), t); + TREE_STATIC (t) = 1; + TREE_PUBLIC (t) = 1; + DECL_EXTERNAL (t) = 1; +@@ -866,8 +866,8 @@ + TREE_NOTHROW (t) = 1; + DECL_ARTIFICIAL (t) = 1; + DECL_IGNORED_P (t) = 1; ++ DECL_VISIBILITY (t) = VISIBILITY_DEFAULT; + DECL_VISIBILITY_SPECIFIED (t) = 1; +- DECL_VISIBILITY (t) = VISIBILITY_HIDDEN; + + stack_chk_fail_decl = t; + } diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index 1e926d51c65..e7b4c251d08 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -1,16 +1,15 @@ # Template build file for 'gcc' -_majorver=6.3 -_gcjrel=17 +_majorver=7.2 pkgname=gcc version=${_majorver}.0 -revision=5 +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=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f +distfiles="${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz" +checksum=1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a nopie=yes lib32disabled=yes @@ -27,12 +26,9 @@ subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel" 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) # Go won't link for musl libc ;; @@ -82,11 +78,22 @@ esac replaces="gcc-c++>=0" pre_configure() { - case "$XBPS_TARGET_MACHINE" in - *-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 + + if [ -n "$nopie" ]; then + # Fix configure failures by adding -no-pie when linking conftest.c files + find -name configure -exec sed -i {} \ + -e 's;$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS;& -no-pie;' \ + \; + # Fix linking error for fixincl by adding -no-pie + sed -i fixincludes/Makefile.in \ + -e 's;-o $(FI);-no-pie &;' \ + -e 's;-o $@;-no-pie &;' + # Fix linking error for gotools by adding -no-pie + sed -i gotools/Makefile.in \ + -e 's;LINK = .*;& -no-pie;' + fi } do_configure() { local _langs _args _hash @@ -131,7 +138,7 @@ do_configure() { _args+=" --with-mpc=${XBPS_MASTERDIR}/usr" _args+=" --build=${_triplet}" else - _langs="c,c++,objc,obj-c++,fortran,lto,java" + _langs="c,c++,objc,obj-c++,fortran,lto" case "$XBPS_TARGET_MACHINE" in *-musl) # Linking libgo.so is broken for musl libc ;; @@ -139,7 +146,6 @@ do_configure() { ;; esac _args+=" --build=${_triplet}" - _args+=" --enable-java-gc=boehm" _args+=" --enable-fast-character" fi fi @@ -159,7 +165,6 @@ do_configure() { export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" - export glibcxx_cv_c99_math_cxx98=yes glibcxx_cv_c99_math_cxx11=yes _args+=" --prefix=/usr" _args+=" --mandir=/usr/share/man" @@ -177,6 +182,8 @@ do_configure() { _args+=" --enable-serial-configure" _args+=" --disable-werror" _args+=" --disable-nls" + _args+=" --enable-default-pie" + _args+=" --enable-default-ssp" _args+=" --enable-checking=release" _args+=" --disable-libstdcxx-pch" _args+=" --with-isl" @@ -189,9 +196,9 @@ do_configure() { mkdir -p build cd build CONFIG_SHELL=/bin/bash ${wrksrc}/configure ${_args} + } do_build() { - export glibcxx_cv_c99_math_cxx98=yes glibcxx_cv_c99_math_cxx11=yes if [ -z "$CHROOT_READY" ]; then export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib" fi @@ -262,73 +269,6 @@ do_install() { esac } -gcc-gcj_package() { - lib32disabled=yes - depends="gcc>=${_majorver} libgcj-devel>=${_majorver}" - short_desc+=" - Java compiler frontend" - pkg_install() { - for f in gcj jv-convert gjarsigner gjar grmic jcf-dump \ - gtnameserv gcjh gnative2ascii gserialver gkeytool \ - gij grmiregistry grmid gorbd gcj-dbtool gjavah \ - gc-analyze gappletviewer rebuild-gcj-db aot-compile; do - vmove usr/bin/${f} - done - for f in gcj jv-convert gjarsigner gjar grmic jcf-dump gjdoc \ - gtnameserv gcjh gnative2ascii gserialver gkeytool \ - gij grmiregistry grmid gorbd gcj-dbtool gjavah \ - gc-analyze gappletviewer rebuild-gcj-db aot-compile; do - if [ -f ${DESTDIR}/usr/share/man/man1/${f}.1 ]; then - vmove usr/share/man/man1/${f}.1 - fi - done - vmove usr/bin/${_triplet}-gcj - vmove usr/lib/gcc/${_triplet}/${_majorver}/jc1 - vmove usr/lib/gcc/${_triplet}/${_majorver}/jvgenmain - vmove usr/share/info/gcj.info - touch ${PKGDESTDIR}/usr/share/info/dir - } -} -gcc-gcj-jdk-compat_package() { - lib32disabled=yes - depends="gcc-gcj fastjar" - short_desc+=" - JDK compatiblity layer" - pkg_install() { - local jvm_dir=$PKGDESTDIR/usr/lib/jvm - local jdk_dir=$jvm_dir/java-1.5-gcj - local jdk_bin_dir=$jdk_dir/bin - local jre_dir=$jdk_dir/jre - local jre_bin_dir=$jre_dir/bin - local jre_lib_dir=$jre_dir/lib - - local arch= - case "$XBPS_TARGET_MACHINE" in - i686*) arch=i386 ;; - x86_64*) arch=amd64 ;; - arm*) arch=arm ;; - esac - - mkdir -p $jdk_bin_dir - ln -sfr $PKGDESTDIR/usr/bin/gij $jdk_bin_dir/java - ln -sfr $PKGDESTDIR/usr/bin/fastjar $jdk_bin_dir/fastjar - ln -sfr $PKGDESTDIR/usr/bin/grmic $jdk_bin_dir/rmic - ln -sfr $PKGDESTDIR/usr/bin/gjavah $jdk_bin_dir/javah - ln -sfr $PKGDESTDIR/usr/bin/ecj1 $jdk_bin_dir/javac - ln -sfr $PKGDESTDIR/usr/bin/gappletviewer $jdk_bin_dir/appletviewer - ln -sfr $PKGDESTDIR/usr/bin/gjarsigner $jdk_bin_dir/jarsigner - ln -sfr $PKGDESTDIR/usr/bin/grmiregistry $jdk_bin_dir/rmiregistry - ln -sfr $PKGDESTDIR/usr/bin/gkeytool $jdk_bin_dir/keytool - - mkdir -p $jre_bin_dir $jre_lib_dir/$arch - ln -sfr $PKGDESTDIR/usr/bin/gij $jre_bin_dir/java - ln -sfr $PKGDESTDIR/usr/bin/grmiregistry $jre_bin_dir/rmiregistry - ln -sfr $PKGDESTDIR/usr/bin/gkeytool $jre_bin_dir/keytool - ln -sfr $PKGDESTDIR/usr/share/java/libgcj-$gccver.jar $jre_lib_dir/rt.jar - ln -sfr $PKGDESTDIR/usr/share/java/libgcj-tools-$gccver.jar $jre_lib_dir/tools.jar - ln -sfr $PKGDESTDIR/usr/lib/gcj-$version-$_gcjrel/libjvm.so $jre_lib_dir/$arch - ln -sfr $PKGDESTDIR/usr/lib/gcj-$version-$_gcjrel/libjavamath.so $jre_lib_dir/$arch - ln -sfr $PKGDESTDIR/usr/lib/gcj-$version-$_gcjrel/classmap.db $jre_lib_dir/$arch - } -} gcc-go_package() { lib32disabled=yes depends="gcc>=${_majorver} libgo-devel>=${_majorver}" @@ -391,35 +331,6 @@ gcc-objc_package() { vmove usr/lib/gcc/${_triplet}/${_majorver}/cc1obj } } -libgcj-devel_package() { - short_desc+=" - Java library - development files" - pkg_install() { - vmove usr/include/c++/${_majorver}/gnu - vmove usr/include/c++/${_majorver}/java - vmove usr/include/c++/${_majorver}/javax - vmove usr/include/c++/${_majorver}/sun - vmove usr/include/c++/${_majorver}/gcj - vmove usr/include/c++/${_majorver}/org - vmove usr/lib/gcc/${_triplet}/${_majorver}/plugin/include/java - vmove "usr/lib/gcc/${_triplet}/${_majorver}/include/jni*" - 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 - } -} -libgcj_package() { - short_desc+=" - Java libraries" - pkg_install() { - vmove "usr/lib/libgcj*.so*" - vmove "usr/lib/libgij.so*" - vmove usr/lib/gcj-${version}-$_gcjrel - vmove usr/lib/logging.properties - vmove usr/lib/libgcj.spec - vmove usr/lib/security/classpath.security - vmove usr/share/java - } -} libgfortran-devel_package() { depends="libgfortran>=${_majorver}" short_desc+=" - Fortran library - development files" @@ -444,7 +355,6 @@ libgo-devel_package() { short_desc+=" - Go library - development files" pkg_install() { vmove usr/lib/libgo.a - vmove usr/lib/libnetgo.a vmove usr/lib/libgobegin.a vmove usr/lib/libgolibbegin.a vmove usr/lib/libgo.so diff --git a/srcpkgs/python/patches/fix-i686-rlock.patch b/srcpkgs/python/patches/fix-i686-rlock.patch new file mode 100644 index 00000000000..6867590e18a --- /dev/null +++ b/srcpkgs/python/patches/fix-i686-rlock.patch @@ -0,0 +1,55 @@ +It seems that avoiding to create local aliases for the self._rlock and +self._wlock methods prevents the strange errors on i686 related to +semaphore locking and unlocking. + +One example of failing builds is firefox-esr running gyp in an i686 environment. + +--- Lib/multiprocessing/queues.py 2017-09-16 19:38:35.000000000 +0200 ++++ Lib/multiprocessing/queues.py 2017-10-24 19:49:06.291351206 +0200 +@@ -369,13 +369,11 @@ + + def _make_methods(self): +- recv = self._reader.recv +- racquire, rrelease = self._rlock.acquire, self._rlock.release + def get(): +- racquire() +- try: +- return recv() +- finally: +- rrelease() ++ self._rlock.acquire() ++ try: ++ return self._reader.recv() ++ finally: ++ self._rlock.release() + self.get = get + + if self._wlock is None: +@@ -383,11 +382,9 @@ + self.put = self._writer.send + else: +- send = self._writer.send +- wacquire, wrelease = self._wlock.acquire, self._wlock.release + def put(obj): +- wacquire() +- try: +- return send(obj) +- finally: +- wrelease() ++ self._wlock.acquire() ++ try: ++ return self._writer.send(obj) ++ finally: ++ self._wlock.release() + self.put = put +--- Modules/_multiprocessing/semaphore.c 2017-09-16 19:38:35.000000000 +0200 ++++ Modules/_multiprocessing/semaphore.c 2017-10-28 10:49:56.944993401 +0200 +@@ -378,7 +378,7 @@ + } + } + #else +- int sval; ++ int sval = -1; + + /* This check is not an absolute guarantee that the semaphore + does not rise above maxvalue. */ diff --git a/xbps-src b/xbps-src index 99073c605df..1ee2743aa24 100755 --- a/xbps-src +++ b/xbps-src @@ -405,8 +405,8 @@ 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=6 -readonly XBPS_GCC_VERSION_MINOR=3 +readonly XBPS_GCC_VERSION_MAJOR=7 +readonly XBPS_GCC_VERSION_MINOR=2 readonly XBPS_GCC_VERSION_BUILD=0 readonly XBPS_GCC_VERSION=${XBPS_GCC_VERSION_MAJOR}.${XBPS_GCC_VERSION_MINOR}.${XBPS_GCC_VERSION_BUILD}