diff --git a/build b/build index df9271b25..b2de95416 100755 --- a/build +++ b/build @@ -135,6 +135,7 @@ readonly RUN_ARGS="$@" echo " gcc-6.1.0 (6.1.0 release)" echo " gcc-6.2.0 (6.2.0 release)" echo " gcc-6.3.0 (6.3.0 release)" + echo " gcc-6.4.0 (6.4.0 release)" echo " gcc-6-branch (currently 6.4.0-prerelease)" echo " gcc-7.1.0 (currently 7.1.0 release)" echo " gcc-7-branch (currently 7.2.0-prerelease)" diff --git a/library/config.sh b/library/config.sh index 4ddcd182f..04999afff 100644 --- a/library/config.sh +++ b/library/config.sh @@ -35,7 +35,7 @@ # ************************************************************************** -MINGW_W64_BUILDS_VERSION="MinGW-W64-builds-4.3.0" +MINGW_W64_BUILDS_VERSION="MinGW-W64-builds-4.3.3" MINGW_W64_PKG_STRING="Built by MinGW-W64 project" # ************************************************************************** diff --git a/patches/gcc/gcc-libgomp-ftime64.patch b/patches/gcc/gcc-libgomp-ftime64.patch new file mode 100644 index 000000000..4f414f41c --- /dev/null +++ b/patches/gcc/gcc-libgomp-ftime64.patch @@ -0,0 +1,13 @@ +--- gcc/libgomp/config/mingw32/time.c ++++ gcc/libgomp/config/mingw32/time.c +@@ -31,8 +31,8 @@ + double + omp_get_wtime (void) + { +- struct _timeb timebuf; +- _ftime (&timebuf); ++ struct __timeb64 timebuf; ++ _ftime64 (&timebuf); + return (timebuf.time + (long)(timebuf.millitm) / 1e3); + } + diff --git a/patches/gdb/gdb-7.12-dynamic-libs.patch b/patches/gdb/gdb-7.12-dynamic-libs.patch new file mode 100644 index 000000000..867770e94 --- /dev/null +++ b/patches/gdb/gdb-7.12-dynamic-libs.patch @@ -0,0 +1,36 @@ +From 04a27a15b268e07c76578c074c3822477ceabc50 Mon Sep 17 00:00:00 2001 +From: Orgad Shaneh +Date: Tue, 7 Mar 2017 19:13:41 +0200 +Subject: [PATCH] configure: Disable static linking with standard libs + +Linking statically causes spurious crashes on exception handling +with mingw32. +--- + configure | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index a5f4fc5aa7..f5a9766c39 100755 +--- a/configure ++++ b/configure +@@ -5902,7 +5902,7 @@ else + # if supported. But if the user explicitly specified the libraries to use, + # trust that they are doing what they want. + if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then +- stage1_ldflags="-static-libstdc++ -static-libgcc" ++ stage1_ldflags="" + fi + fi + +@@ -5938,7 +5938,7 @@ else + # statically. But if the user explicitly specified the libraries to + # use, trust that they are doing what they want. + if test "$poststage1_libs" = ""; then +- poststage1_ldflags="-static-libstdc++ -static-libgcc" ++ poststage1_ldflags="" + fi + fi + +-- +2.12.0.windows.1 + diff --git a/scripts/binutils.sh b/scripts/binutils.sh index c7a82acd9..c7bd30f23 100644 --- a/scripts/binutils.sh +++ b/scripts/binutils.sh @@ -35,7 +35,7 @@ # ************************************************************************** -PKG_VERSION=2.27 +PKG_VERSION=2.28 PKG_NAME=binutils-${PKG_VERSION} [[ $USE_MULTILIB == yes ]] && { PKG_NAME=$BUILD_ARCHITECTURE-$PKG_NAME-multi @@ -58,7 +58,6 @@ PKG_PATCHES=( binutils/0008-fix-libiberty-makefile.mingw.patch binutils/0009-fix-libiberty-configure.mingw.patch binutils/0110-binutils-mingw-gnu-print.patch - binutils/0018-binutils-PC64-PCRQUAD-relocation-fix.mingw32.patch ) # diff --git a/scripts/gcc-6-branch.sh b/scripts/gcc-6-branch.sh index 3ba8e7d8b..27d983db3 100644 --- a/scripts/gcc-6-branch.sh +++ b/scripts/gcc-6-branch.sh @@ -60,8 +60,8 @@ PKG_PATCHES=( gcc/gcc-5-dwarf-regression.patch gcc/gcc-5.1.0-fix-libatomic-building-for-threads=win32.patch gcc/gcc-6-ktietz-libgomp.patch -# gcc/gcc-7-filesystem.patch gcc/gcc-6.1-disable-weak-refs.patch + gcc/gcc-libgomp-ftime64.patch ) # diff --git a/scripts/gcc-6.3.0.sh b/scripts/gcc-6.3.0.sh index 79afe57a5..92f03f657 100644 --- a/scripts/gcc-6.3.0.sh +++ b/scripts/gcc-6.3.0.sh @@ -60,7 +60,6 @@ PKG_PATCHES=( gcc/gcc-5-dwarf-regression.patch gcc/gcc-5.1.0-fix-libatomic-building-for-threads=win32.patch gcc/gcc-6-ktietz-libgomp.patch -# gcc/gcc-7-filesystem.patch gcc/gcc-6.1-disable-weak-refs.patch ) diff --git a/scripts/gcc-6.4.0.sh b/scripts/gcc-6.4.0.sh new file mode 100644 index 000000000..f94f9f6d8 --- /dev/null +++ b/scripts/gcc-6.4.0.sh @@ -0,0 +1,154 @@ + +# +# The BSD 3-Clause License. http://www.opensource.org/licenses/BSD-3-Clause +# +# This file is part of MinGW-W64(mingw-builds: https://github.com/niXman/mingw-builds) project. +# Copyright (c) 2011-2017 by niXman (i dotty nixman doggy gmail dotty com) +# Copyright (c) 2012-2015 by Alexpux (alexpux doggy gmail dotty com) +# All rights reserved. +# +# Project: MinGW-W64 ( http://sourceforge.net/projects/mingw-w64/ ) +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the distribution. +# - Neither the name of the 'MinGW-W64' nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# ************************************************************************** + +PKG_VERSION=6.4.0 +PKG_NAME=gcc-${PKG_VERSION} +PKG_DIR_NAME=gcc-${PKG_VERSION} +PKG_TYPE=.tar.xz +PKG_URLS=( + "https://ftp.gnu.org/gnu/gcc/gcc-${PKG_VERSION}/gcc-${PKG_VERSION}${PKG_TYPE}" +) + +PKG_PRIORITY=main + +# + +PKG_EXECUTE_AFTER_UNCOMPRESS=( + "[[ ! -f libgcc/config/i386/enable-execute-stack.c ]] && cp libgcc/config/i386/enable-execute-stack-mingw32.c libgcc/config/i386/enable-execute-stack.c" +) + +# + +PKG_PATCHES=( + gcc/gcc-4.7-stdthreads.patch + gcc/gcc-5.1-iconv.patch + gcc/gcc-4.8-libstdc++export.patch + gcc/gcc-4.8.2-build-more-gnattools.mingw.patch + gcc/gcc-4.8.2-fix-for-windows-not-minding-non-existant-parent-dirs.patch + gcc/gcc-4.8.2-windows-lrealpath-no-force-lowercase-nor-backslash.patch + gcc/gcc-4.9.1-enable-shared-gnat-implib.mingw.patch + gcc/gcc-5.1.0-make-xmmintrin-header-cplusplus-compatible.patch + gcc/gcc-5.2-fix-mingw-pch.patch + gcc/gcc-5-dwarf-regression.patch + gcc/gcc-5.1.0-fix-libatomic-building-for-threads=win32.patch + gcc/gcc-6-ktietz-libgomp.patch + gcc/gcc-6.1-disable-weak-refs.patch + gcc/gcc-7-filesystem.patch + gcc/gcc-libgomp-ftime64.patch +) + +# + +PKG_CONFIGURE_FLAGS=( + --host=$HOST + --build=$BUILD + --target=$TARGET + # + --prefix=$MINGWPREFIX + --with-sysroot=$PREFIX + #--with-gxx-include-dir=$MINGWPREFIX/$TARGET/include/c++ + # + $LINK_TYPE_GCC + # + $( [[ $USE_MULTILIB == yes ]] \ + && echo "--enable-targets=all --enable-multilib" \ + || echo "--disable-multilib" \ + ) + --enable-languages=$ENABLE_LANGUAGES,lto + --enable-libstdcxx-time=yes + --enable-threads=$THREADS_MODEL + --enable-libgomp + --enable-libatomic + --enable-lto + --enable-graphite + --enable-checking=release + --enable-fully-dynamic-string + --enable-version-specific-runtime-libs + --enable-libstdcxx-filesystem-ts=yes + $( [[ $EXCEPTIONS_MODEL == dwarf ]] \ + && echo "--disable-sjlj-exceptions --with-dwarf2" \ + ) + $( [[ $EXCEPTIONS_MODEL == sjlj ]] \ + && echo "--enable-sjlj-exceptions" \ + ) + # + --disable-libstdcxx-pch + --disable-libstdcxx-debug + $( [[ $BOOTSTRAPING == yes ]] \ + && echo "--enable-bootstrap" \ + || echo "--disable-bootstrap" \ + ) + --disable-rpath + --disable-win32-registry + --disable-nls + --disable-werror + --disable-symvers + # + --with-gnu-as + --with-gnu-ld + # + $PROCESSOR_OPTIMIZATION + $PROCESSOR_TUNE + # + --with-libiconv + --with-system-zlib + --with-{gmp,mpfr,mpc,isl}=$PREREQ_DIR/$HOST-$LINK_TYPE_SUFFIX + --with-pkgversion="\"$BUILD_ARCHITECTURE-$THREADS_MODEL-$EXCEPTIONS_MODEL${REV_STRING}, $MINGW_W64_PKG_STRING\"" + --with-bugurl=$BUG_URL + # + CFLAGS="\"$COMMON_CFLAGS\"" + CXXFLAGS="\"$COMMON_CXXFLAGS\"" + CPPFLAGS="\"$COMMON_CPPFLAGS\"" + LDFLAGS="\"$COMMON_LDFLAGS $( [[ $BUILD_ARCHITECTURE == i686 ]] && echo -Wl,--large-address-aware )\"" +) + +# + +PKG_MAKE_FLAGS=( + -j$JOBS + all +) + +# + +PKG_INSTALL_FLAGS=( + -j1 + DESTDIR=$BASE_BUILD_DIR + $( [[ $STRIP_ON_INSTALL == yes ]] && echo install-strip || echo install ) +) + +# ************************************************************************** diff --git a/scripts/gcc-7-branch.sh b/scripts/gcc-7-branch.sh index 9f7243796..2560c7bde 100644 --- a/scripts/gcc-7-branch.sh +++ b/scripts/gcc-7-branch.sh @@ -61,6 +61,7 @@ PKG_PATCHES=( gcc/gcc-6-ktietz-libgomp.patch gcc/gcc-6.1-disable-weak-refs.patch gcc/gcc-7-filesystem.patch + gcc/gcc-libgomp-ftime64.patch ) # diff --git a/scripts/gcc-7.1.0.sh b/scripts/gcc-7.1.0.sh index fd01f9698..3833b5998 100644 --- a/scripts/gcc-7.1.0.sh +++ b/scripts/gcc-7.1.0.sh @@ -61,6 +61,7 @@ PKG_PATCHES=( gcc/gcc-6-ktietz-libgomp.patch gcc/gcc-6.1-disable-weak-refs.patch gcc/gcc-7-filesystem.patch + gcc/gcc-libgomp-ftime64.patch ) # diff --git a/scripts/gcc-trunk.sh b/scripts/gcc-trunk.sh index 5a1267aab..5db264614 100644 --- a/scripts/gcc-trunk.sh +++ b/scripts/gcc-trunk.sh @@ -60,6 +60,7 @@ PKG_PATCHES=( gcc/gcc-6-ktietz-libgomp.patch gcc/gcc-6.1-disable-weak-refs.patch gcc/gcc-7-filesystem.patch + gcc/gcc-libgomp-ftime64.patch ) # diff --git a/scripts/gdb.sh b/scripts/gdb.sh index 4ef73263a..ef039437b 100644 --- a/scripts/gdb.sh +++ b/scripts/gdb.sh @@ -35,7 +35,7 @@ # ************************************************************************** -PKG_VERSION=7.11.1 +PKG_VERSION=8.0 PKG_NAME=gdb-${PKG_VERSION} PKG_DIR_NAME=gdb-${PKG_VERSION} PKG_TYPE=.tar.xz @@ -53,6 +53,7 @@ PKG_PATCHES=( # http://sourceware.org/bugzilla/show_bug.cgi?id=15412 gdb/gdb-perfomance.patch gdb/gdb-fix-using-gnu-print.patch + gdb/gdb-7.12-dynamic-libs.patch ) #