From ec6df5a3b0b4e73ef848ed99f7a1eaf96935e772 Mon Sep 17 00:00:00 2001 From: carlkl Date: Tue, 19 Jan 2016 22:25:43 +0100 Subject: [PATCH 01/16] mingwpy customization - part 1 --- library/config-win.sh | 4 ++-- library/config.sh | 2 +- library/subtargets.sh | 10 +++++----- patches/gcc/libgomp_ftime64.patch | 14 ++++++++++++++ scripts/gcc-5.3.0.sh | 1 + scripts/licenses.sh | 2 +- 6 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 patches/gcc/libgomp_ftime64.patch diff --git a/library/config-win.sh b/library/config-win.sh index 49576901e..0f128d3cc 100644 --- a/library/config-win.sh +++ b/library/config-win.sh @@ -36,8 +36,8 @@ # ************************************************************************** readonly HOST_MINGW_VERSION=4.9.3 -readonly i686_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-posix/{exceptions}/i686-$HOST_MINGW_VERSION-release-posix-{exceptions}-rt_v4-rev0.7z" -readonly x86_64_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-posix/{exceptions}/x86_64-$HOST_MINGW_VERSION-release-posix-{exceptions}-rt_v4-rev0.7z" +readonly i686_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-win32/{exceptions}/i686-$HOST_MINGW_VERSION-release-win32-{exceptions}-rt_v4-rev0.7z" +readonly x86_64_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-win32/{exceptions}/x86_64-$HOST_MINGW_VERSION-release-win32-{exceptions}-rt_v4-rev0.7z" # ************************************************************************** diff --git a/library/config.sh b/library/config.sh index 2ff740644..d5ed59cbf 100644 --- a/library/config.sh +++ b/library/config.sh @@ -36,7 +36,7 @@ # ************************************************************************** MINGW_W64_BUILDS_VERSION="MinGW-W64-builds-4.2.0" -MINGW_W64_PKG_STRING="Built by MinGW-W64 project" +MINGW_W64_PKG_STRING="Built by MinGW-W64 - mingwpy build" # ************************************************************************** diff --git a/library/subtargets.sh b/library/subtargets.sh index 22c469fcd..742385534 100644 --- a/library/subtargets.sh +++ b/library/subtargets.sh @@ -105,10 +105,10 @@ function func_get_subtargets { mingw-w64-tools-genidl mingw-w64-tools-genpeimg mingw-w64-tools-widl - ${PYTHON_SUBTARGETS[@]} - gdbinit - gdb - gdb-wrapper + #${PYTHON_SUBTARGETS[@]} + #gdbinit + #gdb + #gdb-wrapper make 3rdparty-post cleanup @@ -134,7 +134,7 @@ function func_get_subtargets { python) local readonly SUBTARGETS=( zlib - ${PYTHON_SUBTARGETS[@]} + #${PYTHON_SUBTARGETS[@]} 3rdparty-post cleanup licenses diff --git a/patches/gcc/libgomp_ftime64.patch b/patches/gcc/libgomp_ftime64.patch new file mode 100644 index 000000000..cd49102c9 --- /dev/null +++ b/patches/gcc/libgomp_ftime64.patch @@ -0,0 +1,14 @@ +diff -rupN a/libgomp/config/mingw32/time.c b/libgomp/config/mingw32/time.c +--- a/libgomp/config/mingw32/time.c 2013-01-14 19:18:49.000000000 +0100 ++++ b/libgomp/config/mingw32/time.c 2013-12-16 17:04:52.014237600 +0100 +@@ -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/scripts/gcc-5.3.0.sh b/scripts/gcc-5.3.0.sh index 31c4d7e14..838a58332 100644 --- a/scripts/gcc-5.3.0.sh +++ b/scripts/gcc-5.3.0.sh @@ -59,6 +59,7 @@ PKG_PATCHES=( gcc/gcc-5.1.0-make-xmmintrin-header-cplusplus-compatible.patch gcc/gcc-5.3.0-detect-sjlj-cleanup.patch gcc/ktietz-libgomp.patch + gcc/libgomp_ftime64.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 diff --git a/scripts/licenses.sh b/scripts/licenses.sh index 797c5aaa1..18a4cd37a 100644 --- a/scripts/licenses.sh +++ b/scripts/licenses.sh @@ -73,7 +73,7 @@ function func_get_licenses { case $1 in gcc) - echo -n "${gcc_part[@]} ${python_part[@]}" + echo -n "${gcc_part[@]}" ;; python) echo -n "${python_part[@]}" From f4a46b6b407dff8c704d61c5dcfdfe51abb040b3 Mon Sep 17 00:00:00 2001 From: carlkl Date: Tue, 19 Jan 2016 22:46:10 +0100 Subject: [PATCH 02/16] mingwpy customization - part 2 --- mingwpy_readme.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 mingwpy_readme.md diff --git a/mingwpy_readme.md b/mingwpy_readme.md new file mode 100644 index 000000000..8f1b6fc77 --- /dev/null +++ b/mingwpy_readme.md @@ -0,0 +1,25 @@ +# mingwpy customization of mingw-builds + +## prepare msys2 to allow mingw-builds to run + +Install and update a fresh msys2 from https://msys2.github.io according the instructions given on this site. + +*NEVER* use an installation path with SPACES or other special characters! + +Install the following tools and programs with the help of pacman: +`pacman -Sy svn zip tar autoconf make libtool automake p7zip patch bison gettext-devel wget curl sshpass` + +Now make sure the mingw-w64 toolchain supplied by pacman is NOT installed: +`$ gcc -v` should show the following error: `bash: gcc: command not found` + +## build the 64-bit toolchain + +`./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --fetch-only` + +`./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` + +## build the 32-bit toolchain + +`./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --fetch-only` + +`./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` From 25597899d792b395c142241329c20e4f6a33f522 Mon Sep 17 00:00:00 2001 From: carlkl Date: Tue, 19 Jan 2016 22:57:10 +0100 Subject: [PATCH 03/16] mingwpy customization - fix whitespace --- scripts/gcc-5.3.0.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/gcc-5.3.0.sh b/scripts/gcc-5.3.0.sh index 838a58332..6f9bab34e 100644 --- a/scripts/gcc-5.3.0.sh +++ b/scripts/gcc-5.3.0.sh @@ -59,7 +59,7 @@ PKG_PATCHES=( gcc/gcc-5.1.0-make-xmmintrin-header-cplusplus-compatible.patch gcc/gcc-5.3.0-detect-sjlj-cleanup.patch gcc/ktietz-libgomp.patch - gcc/libgomp_ftime64.patch + gcc/libgomp_ftime64.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 From 7ce635d5f2a18e281330a6ac02cc44ec1ccc7dc1 Mon Sep 17 00:00:00 2001 From: carlkl Date: Wed, 20 Jan 2016 13:01:46 +0100 Subject: [PATCH 04/16] mingwpy customization - fix mingwpy_readme.md --- mingwpy_readme.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mingwpy_readme.md b/mingwpy_readme.md index 8f1b6fc77..894573931 100644 --- a/mingwpy_readme.md +++ b/mingwpy_readme.md @@ -2,16 +2,18 @@ ## prepare msys2 to allow mingw-builds to run -Install and update a fresh msys2 from https://msys2.github.io according the instructions given on this site. +Install and update a fresh msys2 from https://msys2.github.io according to the instructions given there. -*NEVER* use an installation path with SPACES or other special characters! +*NEVER* use an installation path for msys2 containing SPACES or other special characters! -Install the following tools and programs with the help of pacman: -`pacman -Sy svn zip tar autoconf make libtool automake p7zip patch bison gettext-devel wget curl sshpass` +Now install the following tools and programs with the help of pacman: +`pacman -Sy --noconfirm git svn zip tar autoconf make libtool automake p7zip patch bison gettext-devel wget sshpass texinfo` Now make sure the mingw-w64 toolchain supplied by pacman is NOT installed: `$ gcc -v` should show the following error: `bash: gcc: command not found` +The mingw-builds build script is responsible to download an approbriate toolchain needed for the gcc build process. + ## build the 64-bit toolchain `./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --fetch-only` From f4a536f419e155bd86ee48c2e5770399243a9532 Mon Sep 17 00:00:00 2001 From: carlkl Date: Wed, 20 Jan 2016 13:08:19 +0100 Subject: [PATCH 05/16] mingwpy customization - anoth. fix for mingwpy_readme.md --- mingwpy_readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mingwpy_readme.md b/mingwpy_readme.md index 894573931..17db69bfb 100644 --- a/mingwpy_readme.md +++ b/mingwpy_readme.md @@ -7,9 +7,11 @@ Install and update a fresh msys2 from https://msys2.github.io according to the i *NEVER* use an installation path for msys2 containing SPACES or other special characters! Now install the following tools and programs with the help of pacman: + `pacman -Sy --noconfirm git svn zip tar autoconf make libtool automake p7zip patch bison gettext-devel wget sshpass texinfo` Now make sure the mingw-w64 toolchain supplied by pacman is NOT installed: + `$ gcc -v` should show the following error: `bash: gcc: command not found` The mingw-builds build script is responsible to download an approbriate toolchain needed for the gcc build process. @@ -25,3 +27,5 @@ The mingw-builds build script is responsible to download an approbriate toolchai `./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --fetch-only` `./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` + +The build process can be accelerated with the flag`--jobs=N`. The number `N` given should be the number of cores avaiilabe for the build process. From 465c0c4901af8534566472b4d3bf63117d3f8696 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Fri, 29 Jan 2016 17:08:37 +0000 Subject: [PATCH 06/16] Fix for binutils IMPORT_DATA support by @njsmith --- .../binutils/binutils-IMPORT_DATA-fix-2.patch | 67 +++++++++++++++++++ scripts/binutils.sh | 4 ++ 2 files changed, 71 insertions(+) create mode 100644 patches/binutils/binutils-IMPORT_DATA-fix-2.patch diff --git a/patches/binutils/binutils-IMPORT_DATA-fix-2.patch b/patches/binutils/binutils-IMPORT_DATA-fix-2.patch new file mode 100644 index 000000000..3a9ab405f --- /dev/null +++ b/patches/binutils/binutils-IMPORT_DATA-fix-2.patch @@ -0,0 +1,67 @@ +--- a/bfd/peicode.h.orig 2016-01-26 20:41:38.429074432 -0800 ++++ b/bfd/peicode.h 2016-01-26 23:47:58.307374378 -0800 +@@ -959,13 +959,20 @@ + pe_ILF_save_relocs (&vars, id5); + } + ++ /* Create the main import symbol */ ++ pe_ILF_make_a_symbol (& vars, "__imp_", symbol_name, id5, 0); ++ imp_sym = vars.sym_ptr_ptr - 1; ++ imp_index = vars.sym_index - 1; ++ + /* Create extra sections depending upon the type of import we are dealing with. */ + switch (import_type) + { + int i; + + case IMPORT_CODE: +- /* Create a .text section. ++ /* Functions (CODE) are special, in that they get a trampoline that ++ jumps to the main import symbol. ++ Create a .text section to hold it. + First we need to look up its contents in the jump table. */ + for (i = NUM_ENTRIES (jtab); i--;) + { +@@ -986,11 +993,6 @@ + /* Copy in the jump code. */ + memcpy (text->contents, jtab[i].data, jtab[i].size); + +- /* Create an import symbol. */ +- pe_ILF_make_a_symbol (& vars, "__imp_", symbol_name, id5, 0); +- imp_sym = vars.sym_ptr_ptr - 1; +- imp_index = vars.sym_index - 1; +- + /* Create a reloc for the data in the text section. */ + #ifdef MIPS_ARCH_MAGIC_WINCE + if (magic == MIPS_ARCH_MAGIC_WINCE) +@@ -1068,14 +1070,6 @@ + pe_ILF_make_a_symbol (& vars, "", symbol_name, text, + BSF_NOT_AT_END | BSF_FUNCTION); + +- /* Create an import symbol for the DLL, without the +- .dll suffix. */ +- ptr = (bfd_byte *) strrchr (source_dll, '.'); +- if (ptr) +- * ptr = 0; +- pe_ILF_make_a_symbol (& vars, "__IMPORT_DESCRIPTOR_", source_dll, NULL, 0); +- if (ptr) +- * ptr = '.'; + break; + + case IMPORT_DATA: +@@ -1087,6 +1081,15 @@ + abort (); + } + ++ /* Create an import symbol for the DLL, without the ++ .dll suffix. */ ++ ptr = (bfd_byte *) strrchr (source_dll, '.'); ++ if (ptr) ++ * ptr = 0; ++ pe_ILF_make_a_symbol (& vars, "__IMPORT_DESCRIPTOR_", source_dll, NULL, 0); ++ if (ptr) ++ * ptr = '.'; ++ + /* Point the bfd at the symbol table. */ + obj_symbols (abfd) = vars.sym_cache; + bfd_get_symcount (abfd) = vars.sym_index; diff --git a/scripts/binutils.sh b/scripts/binutils.sh index a126f9428..d9dbff355 100644 --- a/scripts/binutils.sh +++ b/scripts/binutils.sh @@ -62,7 +62,11 @@ PKG_PATCHES=( binutils/27aaeda.diff binutils/a93d5cb.diff binutils/fixes-a-problem-recognizing-libraries-created-by-VS.patch + binutils/binutils-IMPORT_DATA-fix-2.patch ) +# Note: binutis-IMPORT_DATA-fix-2.patch is not included the master +# branch of upstream binutils at this time: +# https://sourceware.org/bugzilla/show_bug.cgi?id=19541 # From 0249c412432a1efe146a6f6b0360029d37d0104c Mon Sep 17 00:00:00 2001 From: carlkl Date: Mon, 22 Feb 2016 16:08:46 +0100 Subject: [PATCH 07/16] floating point related configurations and patches --- library/config-win.sh | 4 +- patches/gcc/gcc-5.3-mlongdouble.patch | 20 +++ patches/gcc/gcc-libgomp_ftime64.patch | 13 ++ patches/gcc/libgomp_ftime64.patch | 14 -- patches/mingw-w64/fpclassify.patch | 191 ++++++++++++++++++++++++++ scripts/gcc-5.3.0.sh | 6 +- scripts/mingw-w64-crt.sh | 8 +- 7 files changed, 232 insertions(+), 24 deletions(-) create mode 100644 patches/gcc/gcc-5.3-mlongdouble.patch create mode 100644 patches/gcc/gcc-libgomp_ftime64.patch delete mode 100644 patches/gcc/libgomp_ftime64.patch create mode 100644 patches/mingw-w64/fpclassify.patch diff --git a/library/config-win.sh b/library/config-win.sh index 0f128d3cc..2e8ee993a 100644 --- a/library/config-win.sh +++ b/library/config-win.sh @@ -36,8 +36,8 @@ # ************************************************************************** readonly HOST_MINGW_VERSION=4.9.3 -readonly i686_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-win32/{exceptions}/i686-$HOST_MINGW_VERSION-release-win32-{exceptions}-rt_v4-rev0.7z" -readonly x86_64_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-win32/{exceptions}/x86_64-$HOST_MINGW_VERSION-release-win32-{exceptions}-rt_v4-rev0.7z" +readonly i686_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-win32/{exceptions}/i686-$HOST_MINGW_VERSION-release-win32-{exceptions}-rt_v4-rev1.7z" +readonly x86_64_HOST_MINGW_PATH_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/$HOST_MINGW_VERSION/threads-win32/{exceptions}/x86_64-$HOST_MINGW_VERSION-release-win32-{exceptions}-rt_v4-rev1.7z" # ************************************************************************** diff --git a/patches/gcc/gcc-5.3-mlongdouble.patch b/patches/gcc/gcc-5.3-mlongdouble.patch new file mode 100644 index 000000000..b309cc2e8 --- /dev/null +++ b/patches/gcc/gcc-5.3-mlongdouble.patch @@ -0,0 +1,20 @@ +--- gcc/config/i386/i386.c 2015-11-18 16:45:26.000000000 +0100 ++++ gcc/config/i386/i386.c mingwpy working copy +@@ -4331,14 +4331,8 @@ ix86_option_override_internal (bool main + else if (opts_set->x_target_flags & MASK_RECIP) + opts->x_recip_mask &= ~(RECIP_MASK_ALL & ~opts->x_recip_mask_explicit); + +- /* Default long double to 64-bit for 32-bit Bionic and to __float128 +- for 64-bit Bionic. */ +- if (TARGET_HAS_BIONIC +- && !(opts_set->x_target_flags +- & (MASK_LONG_DOUBLE_64 | MASK_LONG_DOUBLE_128))) +- opts->x_target_flags |= (TARGET_64BIT +- ? MASK_LONG_DOUBLE_128 +- : MASK_LONG_DOUBLE_64); ++ /* Default long double to 64-bit for mingwpy builds */ ++ if !(opts_set->x_target_flags & (MASK_LONG_DOUBLE_64 | MASK_LONG_DOUBLE_128)) ++ opts->x_target_flags |= MASK_LONG_DOUBLE_64; + + /* Only one of them can be active. */ + gcc_assert ((opts->x_target_flags & MASK_LONG_DOUBLE_64) == 0 diff --git a/patches/gcc/gcc-libgomp_ftime64.patch b/patches/gcc/gcc-libgomp_ftime64.patch new file mode 100644 index 000000000..977fd0c26 --- /dev/null +++ b/patches/gcc/gcc-libgomp_ftime64.patch @@ -0,0 +1,13 @@ +--- gcc/libgomp/config/mingw32/time.c 2013-01-14 19:18:49.000000000 +0100 ++++ gcc/libgomp/config/mingw32/time.c mingwpy working copy +@@ -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/gcc/libgomp_ftime64.patch b/patches/gcc/libgomp_ftime64.patch deleted file mode 100644 index cd49102c9..000000000 --- a/patches/gcc/libgomp_ftime64.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -rupN a/libgomp/config/mingw32/time.c b/libgomp/config/mingw32/time.c ---- a/libgomp/config/mingw32/time.c 2013-01-14 19:18:49.000000000 +0100 -+++ b/libgomp/config/mingw32/time.c 2013-12-16 17:04:52.014237600 +0100 -@@ -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/mingw-w64/fpclassify.patch b/patches/mingw-w64/fpclassify.patch new file mode 100644 index 000000000..411da8fe9 --- /dev/null +++ b/patches/mingw-w64/fpclassify.patch @@ -0,0 +1,191 @@ +--- mingw-w64/mingw-w64-crt/Makefile.am 2016-02-01 14:07:18.603478000 +0100 ++++ mingw-w64/mingw-w64-crt/Makefile.am mingwpy working copy +@@ -123,7 +123,7 @@ src_libportabledeviceguids=libsrc/portab + src_libmingw32=include/oscalls.h include/internal.h include/sect_attribs.h \ + crt/atonexit.c crt/crt0_c.c crt/dll_argv.c crt/gccmain.c crt/natstart.c crt/pseudo-reloc-list.c crt/wildcard.c \ + crt/charmax.c crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c crt/tlssup.c crt/xncommod.c \ +- crt/cinitexe.c crt/crt0_w.c crt/merr.c crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp10.c \ ++ crt/cinitexe.c crt/crt0_w.c crt/merr.c crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp8.c \ + crt/mingw_custom.c crt/mingw_helpers.c \ + crt/pseudo-reloc.c crt/udll_argv.c \ + crt/xtxtmode.c crt/crt_handler.c \ +--- mingw-w64/mingw-w64-crt/Makefile.in 2016-02-01 14:07:18.627480400 +0100 ++++ mingw-w64/mingw-w64-crt/Makefile.in mingwpy working copy +@@ -494,7 +494,7 @@ am__lib32_libmingw32_a_SOURCES_DIST = in + crt/pseudo-reloc-list.c crt/wildcard.c crt/charmax.c \ + crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c \ + crt/tlssup.c crt/xncommod.c crt/cinitexe.c crt/merr.c \ +- crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp10.c \ ++ crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp8.c \ + crt/mingw_custom.c crt/mingw_helpers.c crt/pseudo-reloc.c \ + crt/udll_argv.c crt/xtxtmode.c crt/crt_handler.c crt/tlsthrd.c \ + crt/tlsmthread.c crt/tlsmcrt.c +@@ -518,7 +518,7 @@ am__objects_17 = crt/lib32_libmingw32_a- + crt/lib32_libmingw32_a-pesect.$(OBJEXT) \ + crt/lib32_libmingw32_a-udllargc.$(OBJEXT) \ + crt/lib32_libmingw32_a-xthdloc.$(OBJEXT) \ +- crt/lib32_libmingw32_a-CRT_fp10.$(OBJEXT) \ ++ crt/lib32_libmingw32_a-CRT_fp8.$(OBJEXT) \ + crt/lib32_libmingw32_a-mingw_custom.$(OBJEXT) \ + crt/lib32_libmingw32_a-mingw_helpers.$(OBJEXT) \ + crt/lib32_libmingw32_a-pseudo-reloc.$(OBJEXT) \ +@@ -1667,7 +1667,7 @@ am__lib64_libmingw32_a_SOURCES_DIST = in + crt/pseudo-reloc-list.c crt/wildcard.c crt/charmax.c \ + crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c \ + crt/tlssup.c crt/xncommod.c crt/cinitexe.c crt/merr.c \ +- crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp10.c \ ++ crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp8.c \ + crt/mingw_custom.c crt/mingw_helpers.c crt/pseudo-reloc.c \ + crt/udll_argv.c crt/xtxtmode.c crt/crt_handler.c crt/tlsthrd.c \ + crt/tlsmthread.c crt/tlsmcrt.c +@@ -1691,7 +1691,7 @@ am__objects_53 = crt/lib64_libmingw32_a- + crt/lib64_libmingw32_a-pesect.$(OBJEXT) \ + crt/lib64_libmingw32_a-udllargc.$(OBJEXT) \ + crt/lib64_libmingw32_a-xthdloc.$(OBJEXT) \ +- crt/lib64_libmingw32_a-CRT_fp10.$(OBJEXT) \ ++ crt/lib64_libmingw32_a-CRT_fp8.$(OBJEXT) \ + crt/lib64_libmingw32_a-mingw_custom.$(OBJEXT) \ + crt/lib64_libmingw32_a-mingw_helpers.$(OBJEXT) \ + crt/lib64_libmingw32_a-pseudo-reloc.$(OBJEXT) \ +@@ -5137,7 +5137,7 @@ src_libportabledeviceguids = libsrc/port + src_libmingw32 = include/oscalls.h include/internal.h include/sect_attribs.h \ + crt/atonexit.c crt/crt0_c.c crt/dll_argv.c crt/gccmain.c crt/natstart.c crt/pseudo-reloc-list.c crt/wildcard.c \ + crt/charmax.c crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c crt/tlssup.c crt/xncommod.c \ +- crt/cinitexe.c crt/crt0_w.c crt/merr.c crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp10.c \ ++ crt/cinitexe.c crt/crt0_w.c crt/merr.c crt/pesect.c crt/udllargc.c crt/xthdloc.c crt/CRT_fp8.c \ + crt/mingw_custom.c crt/mingw_helpers.c \ + crt/pseudo-reloc.c crt/udll_argv.c \ + crt/xtxtmode.c crt/crt_handler.c \ +@@ -7270,7 +7270,7 @@ EXTRA_DIST = $(srcdir)/ChangeLog.* revst + $(top_srcdir)/lib32/*.def.in $(top_srcdir)/lib64/*.def.in \ + $(top_srcdir)/def-include/*.def.in $(top_srcdir)/$(winrtlibs) \ + crt/binmode.c crt/crtbegin.c crt/crtdll.c crt/crtend.c \ +- crt/crtexe.c crt/CRT_fp8.c crt/CRT_fp10.c crt/CRT_glob.c \ ++ crt/crtexe.c crt/CRT_fp10.c crt/CRT_fp8.c crt/CRT_glob.c \ + crt/CRT_noglob.c crt/txtmode.c crt/ucrtexe.c profile/gcrt0.c \ + profile/COPYING profile/CYGWIN_LICENSE \ + math/DFP/mpdecimal-2.3/.hg_archival.txt \ +@@ -8270,7 +8270,7 @@ crt/lib32_libmingw32_a-udllargc.$(OBJEXT + crt/$(DEPDIR)/$(am__dirstamp) + crt/lib32_libmingw32_a-xthdloc.$(OBJEXT): crt/$(am__dirstamp) \ + crt/$(DEPDIR)/$(am__dirstamp) +-crt/lib32_libmingw32_a-CRT_fp10.$(OBJEXT): crt/$(am__dirstamp) \ ++crt/lib32_libmingw32_a-CRT_fp8.$(OBJEXT): crt/$(am__dirstamp) \ + crt/$(DEPDIR)/$(am__dirstamp) + crt/lib32_libmingw32_a-mingw_custom.$(OBJEXT): crt/$(am__dirstamp) \ + crt/$(DEPDIR)/$(am__dirstamp) +@@ -9963,7 +9963,7 @@ crt/lib64_libmingw32_a-udllargc.$(OBJEXT + crt/$(DEPDIR)/$(am__dirstamp) + crt/lib64_libmingw32_a-xthdloc.$(OBJEXT): crt/$(am__dirstamp) \ + crt/$(DEPDIR)/$(am__dirstamp) +-crt/lib64_libmingw32_a-CRT_fp10.$(OBJEXT): crt/$(am__dirstamp) \ ++crt/lib64_libmingw32_a-CRT_fp8.$(OBJEXT): crt/$(am__dirstamp) \ + crt/$(DEPDIR)/$(am__dirstamp) + crt/lib64_libmingw32_a-mingw_custom.$(OBJEXT): crt/$(am__dirstamp) \ + crt/$(DEPDIR)/$(am__dirstamp) +@@ -13926,7 +13926,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@complex/$(DEPDIR)/libarm32_libmingwex_a-ctan.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@complex/$(DEPDIR)/libarm32_libmingwex_a-ctanf.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@complex/$(DEPDIR)/libarm32_libmingwex_a-ctanl.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-_newmode.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-atonexit.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-charmax.Po@am__quote@ +@@ -13957,7 +13957,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-xtxtmode.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingwex_a-dllentry.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingwex_a-dllmain.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-_newmode.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-atonexit.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-charmax.Po@am__quote@ +@@ -19439,19 +19439,19 @@ crt/lib32_libmingw32_a-xthdloc.obj: crt/ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib32_libmingw32_a-xthdloc.obj `if test -f 'crt/xthdloc.c'; then $(CYGPATH_W) 'crt/xthdloc.c'; else $(CYGPATH_W) '$(srcdir)/crt/xthdloc.c'; fi` + +-crt/lib32_libmingw32_a-CRT_fp10.o: crt/CRT_fp10.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib32_libmingw32_a-CRT_fp10.o -MD -MP -MF crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Tpo -c -o crt/lib32_libmingw32_a-CRT_fp10.o `test -f 'crt/CRT_fp10.c' || echo '$(srcdir)/'`crt/CRT_fp10.c +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Tpo crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp10.c' object='crt/lib32_libmingw32_a-CRT_fp10.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib32_libmingw32_a-CRT_fp10.o `test -f 'crt/CRT_fp10.c' || echo '$(srcdir)/'`crt/CRT_fp10.c +- +-crt/lib32_libmingw32_a-CRT_fp10.obj: crt/CRT_fp10.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib32_libmingw32_a-CRT_fp10.obj -MD -MP -MF crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Tpo -c -o crt/lib32_libmingw32_a-CRT_fp10.obj `if test -f 'crt/CRT_fp10.c'; then $(CYGPATH_W) 'crt/CRT_fp10.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp10.c'; fi` +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Tpo crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp10.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp10.c' object='crt/lib32_libmingw32_a-CRT_fp10.obj' libtool=no @AMDEPBACKSLASH@ ++crt/lib32_libmingw32_a-CRT_fp8.o: crt/CRT_fp8.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib32_libmingw32_a-CRT_fp8.o -MD -MP -MF crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Tpo -c -o crt/lib32_libmingw32_a-CRT_fp8.o `test -f 'crt/CRT_fp8.c' || echo '$(srcdir)/'`crt/CRT_fp8.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Tpo crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp8.c' object='crt/lib32_libmingw32_a-CRT_fp8.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib32_libmingw32_a-CRT_fp8.o `test -f 'crt/CRT_fp8.c' || echo '$(srcdir)/'`crt/CRT_fp8.c ++ ++crt/lib32_libmingw32_a-CRT_fp8.obj: crt/CRT_fp8.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib32_libmingw32_a-CRT_fp8.obj -MD -MP -MF crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Tpo -c -o crt/lib32_libmingw32_a-CRT_fp8.obj `if test -f 'crt/CRT_fp8.c'; then $(CYGPATH_W) 'crt/CRT_fp8.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp8.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Tpo crt/$(DEPDIR)/lib32_libmingw32_a-CRT_fp8.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp8.c' object='crt/lib32_libmingw32_a-CRT_fp8.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib32_libmingw32_a-CRT_fp10.obj `if test -f 'crt/CRT_fp10.c'; then $(CYGPATH_W) 'crt/CRT_fp10.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp10.c'; fi` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib32_libmingw32_a-CRT_fp8.obj `if test -f 'crt/CRT_fp8.c'; then $(CYGPATH_W) 'crt/CRT_fp8.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp8.c'; fi` + + crt/lib32_libmingw32_a-mingw_custom.o: crt/mingw_custom.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib32_libmingw32_a-mingw_custom.o -MD -MP -MF crt/$(DEPDIR)/lib32_libmingw32_a-mingw_custom.Tpo -c -o crt/lib32_libmingw32_a-mingw_custom.o `test -f 'crt/mingw_custom.c' || echo '$(srcdir)/'`crt/mingw_custom.c +@@ -28791,19 +28791,19 @@ crt/lib64_libmingw32_a-xthdloc.obj: crt/ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib64_libmingw32_a-xthdloc.obj `if test -f 'crt/xthdloc.c'; then $(CYGPATH_W) 'crt/xthdloc.c'; else $(CYGPATH_W) '$(srcdir)/crt/xthdloc.c'; fi` + +-crt/lib64_libmingw32_a-CRT_fp10.o: crt/CRT_fp10.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib64_libmingw32_a-CRT_fp10.o -MD -MP -MF crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Tpo -c -o crt/lib64_libmingw32_a-CRT_fp10.o `test -f 'crt/CRT_fp10.c' || echo '$(srcdir)/'`crt/CRT_fp10.c +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Tpo crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp10.c' object='crt/lib64_libmingw32_a-CRT_fp10.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib64_libmingw32_a-CRT_fp10.o `test -f 'crt/CRT_fp10.c' || echo '$(srcdir)/'`crt/CRT_fp10.c +- +-crt/lib64_libmingw32_a-CRT_fp10.obj: crt/CRT_fp10.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib64_libmingw32_a-CRT_fp10.obj -MD -MP -MF crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Tpo -c -o crt/lib64_libmingw32_a-CRT_fp10.obj `if test -f 'crt/CRT_fp10.c'; then $(CYGPATH_W) 'crt/CRT_fp10.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp10.c'; fi` +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Tpo crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp10.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp10.c' object='crt/lib64_libmingw32_a-CRT_fp10.obj' libtool=no @AMDEPBACKSLASH@ ++crt/lib64_libmingw32_a-CRT_fp8.o: crt/CRT_fp8.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib64_libmingw32_a-CRT_fp8.o -MD -MP -MF crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Tpo -c -o crt/lib64_libmingw32_a-CRT_fp8.o `test -f 'crt/CRT_fp8.c' || echo '$(srcdir)/'`crt/CRT_fp8.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Tpo crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp8.c' object='crt/lib64_libmingw32_a-CRT_fp8.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib64_libmingw32_a-CRT_fp8.o `test -f 'crt/CRT_fp8.c' || echo '$(srcdir)/'`crt/CRT_fp8.c ++ ++crt/lib64_libmingw32_a-CRT_fp8.obj: crt/CRT_fp8.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib64_libmingw32_a-CRT_fp8.obj -MD -MP -MF crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Tpo -c -o crt/lib64_libmingw32_a-CRT_fp8.obj `if test -f 'crt/CRT_fp8.c'; then $(CYGPATH_W) 'crt/CRT_fp8.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp8.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Tpo crt/$(DEPDIR)/lib64_libmingw32_a-CRT_fp8.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='crt/CRT_fp8.c' object='crt/lib64_libmingw32_a-CRT_fp8.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib64_libmingw32_a-CRT_fp10.obj `if test -f 'crt/CRT_fp10.c'; then $(CYGPATH_W) 'crt/CRT_fp10.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp10.c'; fi` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib64_libmingw32_a-CRT_fp8.obj `if test -f 'crt/CRT_fp8.c'; then $(CYGPATH_W) 'crt/CRT_fp8.c'; else $(CYGPATH_W) '$(srcdir)/crt/CRT_fp8.c'; fi` + + crt/lib64_libmingw32_a-mingw_custom.o: crt/mingw_custom.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib64_libmingw32_a-mingw_custom.o -MD -MP -MF crt/$(DEPDIR)/lib64_libmingw32_a-mingw_custom.Tpo -c -o crt/lib64_libmingw32_a-mingw_custom.o `test -f 'crt/mingw_custom.c' || echo '$(srcdir)/'`crt/mingw_custom.c +--- mingw-w64/mingw-w64-crt/math/fpclassify.c 2015-06-05 10:13:07.997781400 +0200 ++++ mingw-w64/mingw-w64-crt/math/fpclassify.c mingwpy working copy +@@ -17,7 +17,6 @@ and sets C1 flag (signbit) if neg */ + + int __fpclassify (double _x) + { +-#if defined(__x86_64__) || defined(_AMD64_) || defined(__arm__) || defined(_ARM_) + __mingw_dbl_type_t hlp; + unsigned int l, h; + +@@ -32,13 +31,4 @@ int __fpclassify (double _x) + if (h == 0x7ff00000) + return (l ? FP_NAN : FP_INFINITE); + return FP_NORMAL; +-#elif defined(__i386__) || defined(_X86_) +- unsigned short sw; +- __asm__ __volatile__ ( +- "fxam; fstsw %%ax;" +- : "=a" (sw) +- : "t" (_x) +- ); +- return sw & (FP_NAN | FP_NORMAL | FP_ZERO); +-#endif + } diff --git a/scripts/gcc-5.3.0.sh b/scripts/gcc-5.3.0.sh index 6f9bab34e..2d967d44e 100644 --- a/scripts/gcc-5.3.0.sh +++ b/scripts/gcc-5.3.0.sh @@ -59,7 +59,8 @@ PKG_PATCHES=( gcc/gcc-5.1.0-make-xmmintrin-header-cplusplus-compatible.patch gcc/gcc-5.3.0-detect-sjlj-cleanup.patch gcc/ktietz-libgomp.patch - gcc/libgomp_ftime64.patch + gcc/gcc-libgomp_ftime64.patch + gcc/gcc-5.3-mlongdouble.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 @@ -99,6 +100,9 @@ PKG_CONFIGURE_FLAGS=( && echo "--enable-sjlj-exceptions" \ ) # + --disable-libquadmath + --disable-libquadmath-support + --enable-decimal-float=no --disable-isl-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug diff --git a/scripts/mingw-w64-crt.sh b/scripts/mingw-w64-crt.sh index d45152f54..93deec381 100644 --- a/scripts/mingw-w64-crt.sh +++ b/scripts/mingw-w64-crt.sh @@ -49,13 +49,7 @@ PKG_PRIORITY=runtime # PKG_PATCHES=( - $( - [[ $RUNTIME_VERSION == v3 ]] && { \ - echo "mingw-w64/6385.patch"; \ - echo "mingw-w64/6386.patch"; \ - echo "mingw-w64/6390.patch"; \ - } \ - ) + mingw-w64/fpclassify.patch ) # From f3b3f37d8eb6e4e7f76e4cde5a2ab1c3e4439b93 Mon Sep 17 00:00:00 2001 From: carlkl Date: Tue, 23 Feb 2016 19:20:17 +0100 Subject: [PATCH 08/16] more floating point related configurations and patches --- patches/gcc/gcc-5.3-mlongdouble.patch | 28 ++--- .../gcc/gcc-5.3-softfloat-no_extended.patch | 114 ++++++++++++++++++ scripts/gcc-5.3.0.sh | 1 + 3 files changed, 126 insertions(+), 17 deletions(-) create mode 100644 patches/gcc/gcc-5.3-softfloat-no_extended.patch diff --git a/patches/gcc/gcc-5.3-mlongdouble.patch b/patches/gcc/gcc-5.3-mlongdouble.patch index b309cc2e8..ed42d5f88 100644 --- a/patches/gcc/gcc-5.3-mlongdouble.patch +++ b/patches/gcc/gcc-5.3-mlongdouble.patch @@ -1,20 +1,14 @@ ---- gcc/config/i386/i386.c 2015-11-18 16:45:26.000000000 +0100 -+++ gcc/config/i386/i386.c mingwpy working copy -@@ -4331,14 +4331,8 @@ ix86_option_override_internal (bool main - else if (opts_set->x_target_flags & MASK_RECIP) - opts->x_recip_mask &= ~(RECIP_MASK_ALL & ~opts->x_recip_mask_explicit); - -- /* Default long double to 64-bit for 32-bit Bionic and to __float128 -- for 64-bit Bionic. */ -- if (TARGET_HAS_BIONIC -- && !(opts_set->x_target_flags -- & (MASK_LONG_DOUBLE_64 | MASK_LONG_DOUBLE_128))) -- opts->x_target_flags |= (TARGET_64BIT -- ? MASK_LONG_DOUBLE_128 -- : MASK_LONG_DOUBLE_64); -+ /* Default long double to 64-bit for mingwpy builds */ -+ if !(opts_set->x_target_flags & (MASK_LONG_DOUBLE_64 | MASK_LONG_DOUBLE_128)) -+ opts->x_target_flags |= MASK_LONG_DOUBLE_64; +diff -rupN gcc-5.3.0/gcc/config/i386/i386.c gcc-5.3.0_2/gcc/config/i386/i386.c +--- gcc-5.3.0/gcc/config/i386/i386.c 2015-11-18 16:45:26.000000000 +0100 ++++ gcc-5.3.0_2/gcc/config/i386/i386.c 2016-02-22 22:48:07.134823300 +0100 +@@ -4339,6 +4339,10 @@ ix86_option_override_internal (bool main + opts->x_target_flags |= (TARGET_64BIT + ? MASK_LONG_DOUBLE_128 + : MASK_LONG_DOUBLE_64); ++ ++ /* Default long double to 64-bit for mingwpy. */ ++ if (!(opts_set->x_target_flags & (MASK_LONG_DOUBLE_64 | MASK_LONG_DOUBLE_128))) ++ opts->x_target_flags |= MASK_LONG_DOUBLE_64; /* Only one of them can be active. */ gcc_assert ((opts->x_target_flags & MASK_LONG_DOUBLE_64) == 0 diff --git a/patches/gcc/gcc-5.3-softfloat-no_extended.patch b/patches/gcc/gcc-5.3-softfloat-no_extended.patch new file mode 100644 index 000000000..a29cf0488 --- /dev/null +++ b/patches/gcc/gcc-5.3-softfloat-no_extended.patch @@ -0,0 +1,114 @@ +diff -rupN libgcc/soft-fp/extendxftf2.c libgcc_a/soft-fp/extendxftf2.c +--- libgcc/soft-fp/extendxftf2.c 2014-02-13 00:24:49.000000000 +0100 ++++ libgcc_a/soft-fp/extendxftf2.c 2016-02-23 15:57:47.005539700 +0100 +@@ -1,53 +0,0 @@ +-/* Software floating-point emulation. +- Return a converted to IEEE quad +- Copyright (C) 2007-2014 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Uros Bizjak (ubizjak@gmail.com). +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- In addition to the permissions in the GNU Lesser General Public +- License, the Free Software Foundation gives you unlimited +- permission to link the compiled version of this file into +- combinations with other programs, and to distribute those +- combinations without any restriction coming from the use of this +- file. (The Lesser General Public License restrictions do apply in +- other respects; for example, they cover modification of the file, +- and distribution when not linked into a combine executable.) +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, see +- . */ +- +-#include "soft-fp.h" +-#include "extended.h" +-#include "quad.h" +- +-TFtype +-__extendxftf2 (XFtype a) +-{ +- FP_DECL_EX; +- FP_DECL_E (A); +- FP_DECL_Q (R); +- TFtype r; +- +- FP_INIT_ROUNDMODE; +- FP_UNPACK_RAW_E (A, a); +-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +- FP_EXTEND (Q, E, 4, 4, R, A); +-#else +- FP_EXTEND (Q, E, 2, 2, R, A); +-#endif +- FP_PACK_RAW_Q (r, R); +- FP_HANDLE_EXCEPTIONS; +- +- return r; +-} +diff -rupN libgcc/soft-fp/trunctfxf2.c libgcc_a/soft-fp/trunctfxf2.c +--- libgcc/soft-fp/trunctfxf2.c 2014-02-13 00:24:49.000000000 +0100 ++++ libgcc_a/soft-fp/trunctfxf2.c 2016-02-23 15:58:01.263964700 +0100 +@@ -1,53 +0,0 @@ +-/* Software floating-point emulation. +- Truncate IEEE quad into IEEE extended +- Copyright (C) 2007-2014 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Uros Bizjak (ubizjak@gmail.com). +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- In addition to the permissions in the GNU Lesser General Public +- License, the Free Software Foundation gives you unlimited +- permission to link the compiled version of this file into +- combinations with other programs, and to distribute those +- combinations without any restriction coming from the use of this +- file. (The Lesser General Public License restrictions do apply in +- other respects; for example, they cover modification of the file, +- and distribution when not linked into a combine executable.) +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, see +- . */ +- +-#include "soft-fp.h" +-#include "extended.h" +-#include "quad.h" +- +-XFtype +-__trunctfxf2 (TFtype a) +-{ +- FP_DECL_EX; +- FP_DECL_Q (A); +- FP_DECL_E (R); +- XFtype r; +- +- FP_INIT_ROUNDMODE; +- FP_UNPACK_SEMIRAW_Q (A, a); +-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +- FP_TRUNC (E, Q, 4, 4, R, A); +-#else +- FP_TRUNC (E, Q, 2, 2, R, A); +-#endif +- FP_PACK_SEMIRAW_E (r, R); +- FP_HANDLE_EXCEPTIONS; +- +- return r; +-} diff --git a/scripts/gcc-5.3.0.sh b/scripts/gcc-5.3.0.sh index 2d967d44e..085d959c6 100644 --- a/scripts/gcc-5.3.0.sh +++ b/scripts/gcc-5.3.0.sh @@ -61,6 +61,7 @@ PKG_PATCHES=( gcc/ktietz-libgomp.patch gcc/gcc-libgomp_ftime64.patch gcc/gcc-5.3-mlongdouble.patch + gcc/gcc-5.3-softfloat-no_extended.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 From 15bb9150f0ef7ca8111ecd6d73a9f4f3d6f1a830 Mon Sep 17 00:00:00 2001 From: carlkl Date: Wed, 24 Feb 2016 19:52:45 +0100 Subject: [PATCH 09/16] floating point related configurations and patches - fix for latest mingw-w64 trunk --- .../gcc/gcc-5.3-softfloat-no_extended.patch | 14 +++++------ patches/mingw-w64/fpclassify.patch | 24 ------------------- 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/patches/gcc/gcc-5.3-softfloat-no_extended.patch b/patches/gcc/gcc-5.3-softfloat-no_extended.patch index a29cf0488..0da452318 100644 --- a/patches/gcc/gcc-5.3-softfloat-no_extended.patch +++ b/patches/gcc/gcc-5.3-softfloat-no_extended.patch @@ -1,6 +1,6 @@ -diff -rupN libgcc/soft-fp/extendxftf2.c libgcc_a/soft-fp/extendxftf2.c ---- libgcc/soft-fp/extendxftf2.c 2014-02-13 00:24:49.000000000 +0100 -+++ libgcc_a/soft-fp/extendxftf2.c 2016-02-23 15:57:47.005539700 +0100 +diff -rupN gcc-5.3.0/libgcc/soft-fp/extendxftf2.c gcc-5.3.0_wc/libgcc/soft-fp/extendxftf2.c +--- gcc-5.3.0/libgcc/soft-fp/extendxftf2.c 2014-10-09 20:21:30.000000000 +0200 ++++ gcc-5.3.0_wc/libgcc/soft-fp/extendxftf2.c 2016-02-24 19:34:25.007541000 +0100 @@ -1,53 +0,0 @@ -/* Software floating-point emulation. - Return a converted to IEEE quad @@ -43,7 +43,7 @@ diff -rupN libgcc/soft-fp/extendxftf2.c libgcc_a/soft-fp/extendxftf2.c - FP_DECL_Q (R); - TFtype r; - -- FP_INIT_ROUNDMODE; +- FP_INIT_TRAPPING_EXCEPTIONS; - FP_UNPACK_RAW_E (A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q - FP_EXTEND (Q, E, 4, 4, R, A); @@ -55,9 +55,9 @@ diff -rupN libgcc/soft-fp/extendxftf2.c libgcc_a/soft-fp/extendxftf2.c - - return r; -} -diff -rupN libgcc/soft-fp/trunctfxf2.c libgcc_a/soft-fp/trunctfxf2.c ---- libgcc/soft-fp/trunctfxf2.c 2014-02-13 00:24:49.000000000 +0100 -+++ libgcc_a/soft-fp/trunctfxf2.c 2016-02-23 15:58:01.263964700 +0100 +diff -rupN gcc-5.3.0/libgcc/soft-fp/trunctfxf2.c gcc-5.3.0_wc/libgcc/soft-fp/trunctfxf2.c +--- gcc-5.3.0/libgcc/soft-fp/trunctfxf2.c 2014-02-13 00:24:49.000000000 +0100 ++++ gcc-5.3.0_wc/libgcc/soft-fp/trunctfxf2.c 2016-02-24 19:34:37.279768100 +0100 @@ -1,53 +0,0 @@ -/* Software floating-point emulation. - Truncate IEEE quad into IEEE extended diff --git a/patches/mingw-w64/fpclassify.patch b/patches/mingw-w64/fpclassify.patch index 411da8fe9..8f59d1062 100644 --- a/patches/mingw-w64/fpclassify.patch +++ b/patches/mingw-w64/fpclassify.patch @@ -165,27 +165,3 @@ crt/lib64_libmingw32_a-mingw_custom.o: crt/mingw_custom.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib64_libmingw32_a-mingw_custom.o -MD -MP -MF crt/$(DEPDIR)/lib64_libmingw32_a-mingw_custom.Tpo -c -o crt/lib64_libmingw32_a-mingw_custom.o `test -f 'crt/mingw_custom.c' || echo '$(srcdir)/'`crt/mingw_custom.c ---- mingw-w64/mingw-w64-crt/math/fpclassify.c 2015-06-05 10:13:07.997781400 +0200 -+++ mingw-w64/mingw-w64-crt/math/fpclassify.c mingwpy working copy -@@ -17,7 +17,6 @@ and sets C1 flag (signbit) if neg */ - - int __fpclassify (double _x) - { --#if defined(__x86_64__) || defined(_AMD64_) || defined(__arm__) || defined(_ARM_) - __mingw_dbl_type_t hlp; - unsigned int l, h; - -@@ -32,13 +31,4 @@ int __fpclassify (double _x) - if (h == 0x7ff00000) - return (l ? FP_NAN : FP_INFINITE); - return FP_NORMAL; --#elif defined(__i386__) || defined(_X86_) -- unsigned short sw; -- __asm__ __volatile__ ( -- "fxam; fstsw %%ax;" -- : "=a" (sw) -- : "t" (_x) -- ); -- return sw & (FP_NAN | FP_NORMAL | FP_ZERO); --#endif - } From fa781b06cf5b9b3db99ee691a4311fe12eb7c22a Mon Sep 17 00:00:00 2001 From: anatoly techtonik Date: Wed, 2 Mar 2016 13:27:25 +0300 Subject: [PATCH 10/16] Rename README to README.md Make it rendered as Markdown --- README => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README => README.md (100%) diff --git a/README b/README.md similarity index 100% rename from README rename to README.md From 98fe7d071cf66ec2741d7fc139cf592b50385e3a Mon Sep 17 00:00:00 2001 From: anatoly techtonik Date: Wed, 2 Mar 2016 13:35:56 +0300 Subject: [PATCH 11/16] README.md reformat for Markdown --- README.md | 76 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 46 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 18e8c0005..b595e25a0 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,10 @@ In order to use the scripts provided by the MinGW-W64 project it is needed: http://sourceforge.net/projects/msys2/ (MSYS2 wiki: http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/) -3. Get the scripts into '/home//mingw-builds': - "cd && git clone " +3. Get the scripts into '/home//mingw-builds' + + cd && git clone + (see the diff between the 'master' and 'develop' branches, maybe you need the 'develop' branch exactly) @@ -22,56 +24,67 @@ In order to use the scripts provided by the MinGW-W64 project it is needed: environment variable. 6. Go into the MinGW-builds root directory. - "cd && cd mingw-builds" + + cd && cd mingw-builds 7. Options: - '--mode=[gcc|python|clang]-version' - what package to build with version. - '--arch=' - build architecture. - '--buildroot=' - using '' as build directory. +``` + `--mode=[gcc|python|clang]-version` - what package to build with version. + `--arch=` - build architecture. + + `--buildroot=` - using '' as build directory. By default used MSYS user home directory. - '--fetch-only' - only download all the sources without start building. - '--update-sources' - try to update sources from repositories before build. - '--exceptions=' - exceptions handling model. + `--fetch-only` - only download all the sources without start building. + `--update-sources` - try to update sources from repositories before build. + `--exceptions=` - exceptions handling model. Available: dwarf, seh(gcc>=4.8.0 only), sjlj. - '--use-lto' - building with using LTO. - '--no-strip' - don't strip executables during install. - '--no-multilib' - build GCC without multilib support (default for DWARF and SEH exception models). - '--static-gcc' - build static GCC. - '--dyn-deps' - build GCC with dynamically dependencies. - '--rt-version=' - version of mingw-w64 runtime to build. - '--rev=N' - number of the build revision. - '--with-testsuite' - run testsuite for packages that contain flags for it. - '--threads=' - used threads model. - '--enable-languages=' - comma separated list(without spaces) of gcc supported languages. + `--use-lto` - building with using LTO. + `--no-strip` - don't strip executables during install. + `--no-multilib` - build GCC without multilib support (default for DWARF and SEH exception models). + `--static-gcc` - build static GCC. + `--dyn-deps` - build GCC with dynamically dependencies. + `--rt-version=` - version of mingw-w64 runtime to build. + `--rev=N` - number of the build revision. + `--with-testsuite` - run testsuite for packages that contain flags for it. + `--threads=` - used threads model. + `--enable-languages=` - comma separated list(without spaces) of gcc supported languages. available languages: ada,c,c++,fortran,objc,obj-c++ - For more options run: "./build --help" - + +``` + For more options run: `./build --help` + 8. Run: - "./build --mode=gcc-4.8.1 --arch=i686" for building i686-MinGW-w64 - "./build --mode=gcc-4.8.1 --arch=x86_64" for building x86_64-MinGW-w64 - "./build --mode=gcc-4.8.1 --arch=x86_64 --preload" for preload sources and building x86_64-MinGW-w64 - "./build --mode=gcc-4.8.1 --arch=i686 --exceptions=dwarf" for building i686-MinGW-w64 with DWARF exception handling +``` + `./build --mode=gcc-4.8.1 --arch=i686` for building i686-MinGW-w64 + `./build --mode=gcc-4.8.1 --arch=x86_64` for building x86_64-MinGW-w64 + `./build --mode=gcc-4.8.1 --arch=x86_64 --preload` for preload sources and building x86_64-MinGW-w64 + `./build --mode=gcc-4.8.1 --arch=i686 --exceptions=dwarf` for building i686-MinGW-w64 with DWARF exception handling +``` For example, during the process of building of the i686-gcc-4.7.2 will be created the following directories: +``` /i686-4.7.2-release-posix-sjlj-rev1/build /i686-4.7.2-release-posix-sjlj-rev1/libs /i686-4.7.2-release-posix-sjlj-rev1/logs /i686-4.7.2-release-posix-sjlj-rev1/prefix - +``` For x86_64: +``` /x86_64-4.7.2-release-posix-sjlj-rev1/build /x86_64-4.7.2-release-posix-sjlj-rev1/libs /x86_64-4.7.2-release-posix-sjlj-rev1/logs /x86_64-4.7.2-release-posix-sjlj-rev1/prefix - +``` And the sources directory: +``` /mingw-sources - +``` The archives with the built MinGW will be created in '/archives/' At the moment, successfully building the following versions: +``` gcc-4.6.2 gcc-4.6.3 gcc-4.6.4 @@ -94,11 +107,14 @@ At the moment, successfully building the following versions: gcc-4_9-branch (currently 4.9.4 prerelease) gcc-5-branch (currently 5.3.0 prerelease) gcc-trunk (currently 6.0.0 snapshot) +``` Builds also contains patches for building Python 2.7.9 and 3.4.3 versions for support gdb pretty printers. Big thanks for these patches to: +``` 2010-2013 Roumen Petrov, Руслан Ижбулатов 2012-2015 Ray Donnelly, Alexey Pavlov - -[1] http://sourceforge.net/projects/mingw-w64/ +``` +[1] +http://sourceforge.net/projects/mingw-w64/ [2] http://www.opensource.org/licenses/BSD-3-Clause From a34859e8ae56b71367b63691b752e9341368f2da Mon Sep 17 00:00:00 2001 From: anatoly techtonik Date: Wed, 2 Mar 2016 13:39:58 +0300 Subject: [PATCH 12/16] README.md more fixed for markup --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b595e25a0..757958b10 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -The scripts provided by the MinGW-W64 project[1] are designed +The scripts provided by the +[MinGW-W64 project](http://sourceforge.net/projects/mingw-w64/) are designed for building the dual-target(i686/x86_64) MinGW-W64 compiler for i686/x86_64 hosts. -The scripts are distributed under the 'BSD 3' license[2]. +The scripts are distributed under the +['BSD 3' license](http://www.opensource.org/licenses/BSD-3-Clause). In order to use the scripts provided by the MinGW-W64 project it is needed: @@ -12,9 +14,9 @@ In order to use the scripts provided by the MinGW-W64 project it is needed: (MSYS2 wiki: http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/) 3. Get the scripts into '/home//mingw-builds' - - cd && git clone - + ``` + cd && git clone + ``` (see the diff between the 'master' and 'develop' branches, maybe you need the 'develop' branch exactly) @@ -24,11 +26,12 @@ In order to use the scripts provided by the MinGW-W64 project it is needed: environment variable. 6. Go into the MinGW-builds root directory. - - cd && cd mingw-builds + ``` + cd && cd mingw-builds + ``` 7. Options: -``` + ``` `--mode=[gcc|python|clang]-version` - what package to build with version. `--arch=` - build architecture. @@ -50,7 +53,7 @@ In order to use the scripts provided by the MinGW-W64 project it is needed: `--enable-languages=` - comma separated list(without spaces) of gcc supported languages. available languages: ada,c,c++,fortran,objc,obj-c++ -``` + ``` For more options run: `./build --help` 8. Run: @@ -115,6 +118,3 @@ Big thanks for these patches to: 2010-2013 Roumen Petrov, Руслан Ижбулатов 2012-2015 Ray Donnelly, Alexey Pavlov ``` -[1] -http://sourceforge.net/projects/mingw-w64/ -[2] http://www.opensource.org/licenses/BSD-3-Clause From a81b9f1b25c1966ca252a5a94f6cf0d38cd11674 Mon Sep 17 00:00:00 2001 From: carlkl Date: Thu, 3 Mar 2016 22:41:06 +0100 Subject: [PATCH 13/16] temporary add specs files for msvcr90 and msvcr100 C-runtimes --- mingwpy-specs/mingw32_5.3.0_100.specs | 141 ++++++++++++++++++++++++++ mingwpy-specs/mingw32_5.3.0_90.specs | 141 ++++++++++++++++++++++++++ mingwpy-specs/mingw64_5.3.0_100.specs | 141 ++++++++++++++++++++++++++ mingwpy-specs/mingw64_5.3.0_90.specs | 141 ++++++++++++++++++++++++++ 4 files changed, 564 insertions(+) create mode 100644 mingwpy-specs/mingw32_5.3.0_100.specs create mode 100644 mingwpy-specs/mingw32_5.3.0_90.specs create mode 100644 mingwpy-specs/mingw64_5.3.0_100.specs create mode 100644 mingwpy-specs/mingw64_5.3.0_90.specs diff --git a/mingwpy-specs/mingw32_5.3.0_100.specs b/mingwpy-specs/mingw32_5.3.0_100.specs new file mode 100644 index 000000000..67cea9ecb --- /dev/null +++ b/mingwpy-specs/mingw32_5.3.0_100.specs @@ -0,0 +1,141 @@ +*asm: +%{m32:--32} %{m64:--64} + +*asm_debug: +%{!g0:%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}} %{fdebug-prefix-map=*:--debug-prefix-map %*} + +*asm_final: +%{gsplit-dwarf: + objcopy --extract-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} %{c:%{o*:%:replace-extension(%{o*:%*} .dwo)}%{!o*:%b.dwo}}%{!c:%b.dwo} + objcopy --strip-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} } + +*asm_options: +%{-target-help:%:print-asm-header()} %{v} %{w:-W} %{I*} %{gz*:%e-gz is not supported in this configuration} %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O} + +*invoke_as: +%{!fwpa*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s | + as %(asm_options) %m.s %A } } + +*cpp: +%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} %{municode:-DUNICODE} %{pthread:-D_REENTRANT} %{!no-pthread:-U_REENTRANT} -D__MSVCRT_VERSION__=0x1000 + +*cpp_options: +%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} %{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*} %{undef} %{save-temps*:-fpch-preprocess} + +*cpp_debug_options: +%{d*} + +*cpp_unique_options: +%{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*&F*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{!MT:%{!MQ:%{MD|MMD:%{o*:-MQ %*}}}}}}} %{remap} %{g3|ggdb3|gstabs3|gcoff3|gxcoff3|gvms3:-dD} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}} + +*trad_capable_cpp: +cc1 -E %{traditional|traditional-cpp:-traditional-cpp} + +*cc1: +%(cc1_cpu) + +*cc1_options: +%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %1 %{!Q:-quiet} %{!dumpbase:-dumpbase %B} %{d*} %{m*} %{aux-info*} %{fcompare-debug-second:%:compare-debug-auxbase-opt(%b)} %{!fcompare-debug-second:%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{Qy:} %{-help:--help} %{-target-help:--target-help} %{-version:--version} %{-help=*:--help=%*} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{coverage:-fprofile-arcs -ftest-coverage} -mincoming-stack-boundary=2 + +*cc1plus: +-mincoming-stack-boundary=2 -D__MSVCRT_VERSION__=0x1000 + +*link_gcc_c_sequence: +%G %L %G + +*link_ssp: +%{fstack-protector|fstack-protector-all|fstack-protector-strong|fstack-protector-explicit:-lssp_nonshared -lssp} + +*endfile: +%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} %{!shared:%:if-exists(default-manifest.o%s)} %{fvtable-verify=none:%s; fvtable-verify=preinit:vtv_end.o%s; fvtable-verify=std:vtv_end.o%s} crtend.o%s + +*link: +%{m64:-m i386pep} %{!m64:-m i386pe} %{mwindows:--subsystem windows} %{mconsole:--subsystem console} %{shared: %{mdll: %eshared and mdll are not compatible}} %{shared: --shared} %{mdll:--dll} %{static:-Bstatic} %{!static:-Bdynamic} %{shared|mdll: %{m64:-e DllMainCRTStartup} %{!m64:-e _DllMainCRTStartup@12} --enable-auto-image-base} %(shared_libgcc_undefs) + +*lib: +%{pg:-lgmon} %{pthread:-lpthread} %{!no-pthread: } %{mwindows:-lgdi32 -lcomdlg32} %{fvtable-verify=preinit:-lvtv -lpsapi; fvtable-verify=std:-lvtv -lpsapi} -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv + +*link_gomp: + + +*libgcc: +%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcr100 + +*startfile: +%{shared|mdll:dllcrt2%O%s} %{!shared:%{!mdll:%{!municode:crt2%O%s}}} %{!shared:%{!mdll:%{municode:crt2u%O%s}}} %{pg:gcrt2%O%s} crtbegin.o%s %{fvtable-verify=none:%s; fvtable-verify=preinit:vtv_start.o%s; fvtable-verify=std:vtv_start.o%s} + +*cross_compile: +0 + +*version: +5.3.0 + +*multilib: +. !m64 !m32;.:../lib64 m64 !m32;.:../lib !m64 m32; + +*multilib_defaults: +m32 + +*multilib_extra: + + +*multilib_matches: +m64 m64;m32 m32; + +*multilib_exclusions: + + +*multilib_options: +m64/m32 + +*multilib_reuse: + + +*linker: +collect2 + +*linker_plugin_file: + + +*lto_wrapper: + + +*lto_gcc: + + +*link_libgcc: +%D + +*md_exec_prefix: + + +*md_startfile_prefix: + + +*md_startfile_prefix_1: + + +*startfile_prefix_spec: + + +*sysroot_spec: +--sysroot=%R + +*sysroot_suffix_spec: + + +*sysroot_hdrs_suffix_spec: + + +*self_spec: + + +*cc1_cpu: +%{march=native:%>march=native %:local_cpu_detect(arch) %{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}} %{mtune=native:%>mtune=native %:local_cpu_detect(tune)} + +*shared_libgcc_undefs: + + +*link_command: +%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{!fno-use-linker-plugin:%{!fno-lto: -plugin %(linker_plugin_file) -plugin-opt=%(lto_wrapper) -plugin-opt=-fresolution=%u.res %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} }}%{flto|flto=*:%march=native %:local_cpu_detect(arch) %{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}} %{mtune=native:%>mtune=native %:local_cpu_detect(tune)} + +*shared_libgcc_undefs: + + +*link_command: +%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{!fno-use-linker-plugin:%{!fno-lto: -plugin %(linker_plugin_file) -plugin-opt=%(lto_wrapper) -plugin-opt=-fresolution=%u.res %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} }}%{flto|flto=*:%march=native %:local_cpu_detect(arch) %{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}} %{mtune=native:%>mtune=native %:local_cpu_detect(tune)} + +*shared_libgcc_undefs: + + +*link_command: +%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{!fno-use-linker-plugin:%{!fno-lto: -plugin %(linker_plugin_file) -plugin-opt=%(lto_wrapper) -plugin-opt=-fresolution=%u.res %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} }}%{flto|flto=*:%march=native %:local_cpu_detect(arch) %{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}} %{mtune=native:%>mtune=native %:local_cpu_detect(tune)} + +*shared_libgcc_undefs: + + +*link_command: +%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{!fno-use-linker-plugin:%{!fno-lto: -plugin %(linker_plugin_file) -plugin-opt=%(lto_wrapper) -plugin-opt=-fresolution=%u.res %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} }}%{flto|flto=*:% Date: Tue, 12 Apr 2016 22:52:27 +0200 Subject: [PATCH 14/16] update fpclassify patch --- patches/mingw-w64/fpclassify.patch | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/patches/mingw-w64/fpclassify.patch b/patches/mingw-w64/fpclassify.patch index 8f59d1062..be5933e00 100644 --- a/patches/mingw-w64/fpclassify.patch +++ b/patches/mingw-w64/fpclassify.patch @@ -1,5 +1,6 @@ ---- mingw-w64/mingw-w64-crt/Makefile.am 2016-02-01 14:07:18.603478000 +0100 -+++ mingw-w64/mingw-w64-crt/Makefile.am mingwpy working copy +diff -rupN mingw-w64/mingw-w64-crt/Makefile.am mingw-w64_b/mingw-w64-crt/Makefile.am +--- mingw-w64/mingw-w64-crt/Makefile.am 2016-04-12 16:10:31.000000000 +0200 ++++ mingw-w64_b/mingw-w64-crt/Makefile.am 2016-04-12 22:40:58.247098300 +0200 @@ -123,7 +123,7 @@ src_libportabledeviceguids=libsrc/portab src_libmingw32=include/oscalls.h include/internal.h include/sect_attribs.h \ crt/atonexit.c crt/crt0_c.c crt/dll_argv.c crt/gccmain.c crt/natstart.c crt/pseudo-reloc-list.c crt/wildcard.c \ @@ -9,8 +10,9 @@ crt/mingw_custom.c crt/mingw_helpers.c \ crt/pseudo-reloc.c crt/udll_argv.c \ crt/xtxtmode.c crt/crt_handler.c \ ---- mingw-w64/mingw-w64-crt/Makefile.in 2016-02-01 14:07:18.627480400 +0100 -+++ mingw-w64/mingw-w64-crt/Makefile.in mingwpy working copy +diff -rupN mingw-w64/mingw-w64-crt/Makefile.in mingw-w64_b/mingw-w64-crt/Makefile.in +--- mingw-w64/mingw-w64-crt/Makefile.in 2016-04-12 16:10:31.000000000 +0200 ++++ mingw-w64_b/mingw-w64-crt/Makefile.in 2016-04-12 22:40:58.293898400 +0200 @@ -494,7 +494,7 @@ am__lib32_libmingw32_a_SOURCES_DIST = in crt/pseudo-reloc-list.c crt/wildcard.c crt/charmax.c \ crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c \ @@ -29,7 +31,7 @@ crt/lib32_libmingw32_a-mingw_custom.$(OBJEXT) \ crt/lib32_libmingw32_a-mingw_helpers.$(OBJEXT) \ crt/lib32_libmingw32_a-pseudo-reloc.$(OBJEXT) \ -@@ -1667,7 +1667,7 @@ am__lib64_libmingw32_a_SOURCES_DIST = in +@@ -1672,7 +1672,7 @@ am__lib64_libmingw32_a_SOURCES_DIST = in crt/pseudo-reloc-list.c crt/wildcard.c crt/charmax.c \ crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c \ crt/tlssup.c crt/xncommod.c crt/cinitexe.c crt/merr.c \ @@ -38,7 +40,7 @@ crt/mingw_custom.c crt/mingw_helpers.c crt/pseudo-reloc.c \ crt/udll_argv.c crt/xtxtmode.c crt/crt_handler.c crt/tlsthrd.c \ crt/tlsmthread.c crt/tlsmcrt.c -@@ -1691,7 +1691,7 @@ am__objects_53 = crt/lib64_libmingw32_a- +@@ -1696,7 +1696,7 @@ am__objects_53 = crt/lib64_libmingw32_a- crt/lib64_libmingw32_a-pesect.$(OBJEXT) \ crt/lib64_libmingw32_a-udllargc.$(OBJEXT) \ crt/lib64_libmingw32_a-xthdloc.$(OBJEXT) \ @@ -47,7 +49,7 @@ crt/lib64_libmingw32_a-mingw_custom.$(OBJEXT) \ crt/lib64_libmingw32_a-mingw_helpers.$(OBJEXT) \ crt/lib64_libmingw32_a-pseudo-reloc.$(OBJEXT) \ -@@ -5137,7 +5137,7 @@ src_libportabledeviceguids = libsrc/port +@@ -5152,7 +5152,7 @@ src_libportabledeviceguids = libsrc/port src_libmingw32 = include/oscalls.h include/internal.h include/sect_attribs.h \ crt/atonexit.c crt/crt0_c.c crt/dll_argv.c crt/gccmain.c crt/natstart.c crt/pseudo-reloc-list.c crt/wildcard.c \ crt/charmax.c crt/crt0_w.c crt/dllargv.c crt/gs_support.c crt/_newmode.c crt/tlssup.c crt/xncommod.c \ @@ -56,7 +58,7 @@ crt/mingw_custom.c crt/mingw_helpers.c \ crt/pseudo-reloc.c crt/udll_argv.c \ crt/xtxtmode.c crt/crt_handler.c \ -@@ -7270,7 +7270,7 @@ EXTRA_DIST = $(srcdir)/ChangeLog.* revst +@@ -7286,7 +7286,7 @@ EXTRA_DIST = $(srcdir)/ChangeLog.* revst $(top_srcdir)/lib32/*.def.in $(top_srcdir)/lib64/*.def.in \ $(top_srcdir)/def-include/*.def.in $(top_srcdir)/$(winrtlibs) \ crt/binmode.c crt/crtbegin.c crt/crtdll.c crt/crtend.c \ @@ -65,7 +67,7 @@ crt/CRT_noglob.c crt/txtmode.c crt/ucrtexe.c profile/gcrt0.c \ profile/COPYING profile/CYGWIN_LICENSE \ math/DFP/mpdecimal-2.3/.hg_archival.txt \ -@@ -8270,7 +8270,7 @@ crt/lib32_libmingw32_a-udllargc.$(OBJEXT +@@ -8286,7 +8286,7 @@ crt/lib32_libmingw32_a-udllargc.$(OBJEXT crt/$(DEPDIR)/$(am__dirstamp) crt/lib32_libmingw32_a-xthdloc.$(OBJEXT): crt/$(am__dirstamp) \ crt/$(DEPDIR)/$(am__dirstamp) @@ -74,7 +76,7 @@ crt/$(DEPDIR)/$(am__dirstamp) crt/lib32_libmingw32_a-mingw_custom.$(OBJEXT): crt/$(am__dirstamp) \ crt/$(DEPDIR)/$(am__dirstamp) -@@ -9963,7 +9963,7 @@ crt/lib64_libmingw32_a-udllargc.$(OBJEXT +@@ -9985,7 +9985,7 @@ crt/lib64_libmingw32_a-udllargc.$(OBJEXT crt/$(DEPDIR)/$(am__dirstamp) crt/lib64_libmingw32_a-xthdloc.$(OBJEXT): crt/$(am__dirstamp) \ crt/$(DEPDIR)/$(am__dirstamp) @@ -83,7 +85,7 @@ crt/$(DEPDIR)/$(am__dirstamp) crt/lib64_libmingw32_a-mingw_custom.$(OBJEXT): crt/$(am__dirstamp) \ crt/$(DEPDIR)/$(am__dirstamp) -@@ -13926,7 +13926,7 @@ distclean-compile: +@@ -13969,7 +13969,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@complex/$(DEPDIR)/libarm32_libmingwex_a-ctan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@complex/$(DEPDIR)/libarm32_libmingwex_a-ctanf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@complex/$(DEPDIR)/libarm32_libmingwex_a-ctanl.Po@am__quote@ @@ -92,7 +94,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-_newmode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-atonexit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-charmax.Po@am__quote@ -@@ -13957,7 +13957,7 @@ distclean-compile: +@@ -14000,7 +14000,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingw32_a-xtxtmode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingwex_a-dllentry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib32_libmingwex_a-dllmain.Po@am__quote@ @@ -101,7 +103,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-_newmode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-atonexit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@crt/$(DEPDIR)/lib64_libmingw32_a-charmax.Po@am__quote@ -@@ -19439,19 +19439,19 @@ crt/lib32_libmingw32_a-xthdloc.obj: crt/ +@@ -19482,19 +19482,19 @@ crt/lib32_libmingw32_a-xthdloc.obj: crt/ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib32_libmingw32_a-xthdloc.obj `if test -f 'crt/xthdloc.c'; then $(CYGPATH_W) 'crt/xthdloc.c'; else $(CYGPATH_W) '$(srcdir)/crt/xthdloc.c'; fi` @@ -133,7 +135,7 @@ crt/lib32_libmingw32_a-mingw_custom.o: crt/mingw_custom.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crt/lib32_libmingw32_a-mingw_custom.o -MD -MP -MF crt/$(DEPDIR)/lib32_libmingw32_a-mingw_custom.Tpo -c -o crt/lib32_libmingw32_a-mingw_custom.o `test -f 'crt/mingw_custom.c' || echo '$(srcdir)/'`crt/mingw_custom.c -@@ -28791,19 +28791,19 @@ crt/lib64_libmingw32_a-xthdloc.obj: crt/ +@@ -28876,19 +28876,19 @@ crt/lib64_libmingw32_a-xthdloc.obj: crt/ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crt/lib64_libmingw32_a-xthdloc.obj `if test -f 'crt/xthdloc.c'; then $(CYGPATH_W) 'crt/xthdloc.c'; else $(CYGPATH_W) '$(srcdir)/crt/xthdloc.c'; fi` From 30c0d5050450a11f181287790582626ea7f09a8c Mon Sep 17 00:00:00 2001 From: carlkl Date: Tue, 12 Apr 2016 22:57:09 +0200 Subject: [PATCH 15/16] update toolchain revision date --- mingwpy_readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mingwpy_readme.md b/mingwpy_readme.md index 17db69bfb..e9963deb8 100644 --- a/mingwpy_readme.md +++ b/mingwpy_readme.md @@ -18,14 +18,14 @@ The mingw-builds build script is responsible to download an approbriate toolchai ## build the 64-bit toolchain -`./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --fetch-only` +`./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201604 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --fetch-only` -`./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` +`./build --mode=gcc-5.3.0 --static-gcc --arch=x86_64 --march-x64='x86-64' --mtune-x64='generic' --buildroot=/tmp/x86_64 --rev=201604 --rt-version=trunk --threads=win32 --exceptions=seh --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` ## build the 32-bit toolchain -`./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --fetch-only` +`./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201604 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --fetch-only` -`./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201601 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` +`./build --mode=gcc-5.3.0 --static-gcc --arch=i686 --march-x32='pentium4' --mtune-x32='generic' --buildroot=/tmp/i686 --rev=201604 --rt-version=trunk --threads=win32 --exceptions=sjlj --enable-languages=c,c++,fortran --bootstrap --no-multilib --bin-compress` The build process can be accelerated with the flag`--jobs=N`. The number `N` given should be the number of cores avaiilabe for the build process. From b6703e87edce89e481f03bd5812b90195d96e83f Mon Sep 17 00:00:00 2001 From: carlkl Date: Thu, 14 Apr 2016 15:18:34 +0200 Subject: [PATCH 16/16] _WIN32_WINNT fallback patch --- patches/mingw-w64/WIN32_WINNT.patch | 12 ++++++++++++ scripts/mingw-w64-crt.sh | 1 + 2 files changed, 13 insertions(+) create mode 100644 patches/mingw-w64/WIN32_WINNT.patch diff --git a/patches/mingw-w64/WIN32_WINNT.patch b/patches/mingw-w64/WIN32_WINNT.patch new file mode 100644 index 000000000..1b1065f04 --- /dev/null +++ b/patches/mingw-w64/WIN32_WINNT.patch @@ -0,0 +1,12 @@ +diff -rupN mingw-w64/mingw-w64-headers/crt/_mingw.h.in mingw-w64_wc/mingw-w64-headers/crt/_mingw.h.in +--- mingw-w64/mingw-w64-headers/crt/_mingw.h.in 2016-04-13 17:05:13.123831500 +0200 ++++ mingw-w64_wc/mingw-w64-headers/crt/_mingw.h.in 2016-04-14 14:43:53.745313500 +0200 +@@ -222,7 +222,7 @@ limitations in handling dllimport attrib + + + #ifndef _WIN32_WINNT +-#define _WIN32_WINNT 0x502 ++#define _WIN32_WINNT 0x600 + #endif + + #ifndef _INT128_DEFINED diff --git a/scripts/mingw-w64-crt.sh b/scripts/mingw-w64-crt.sh index 93deec381..20088cac6 100644 --- a/scripts/mingw-w64-crt.sh +++ b/scripts/mingw-w64-crt.sh @@ -50,6 +50,7 @@ PKG_PRIORITY=runtime PKG_PATCHES=( mingw-w64/fpclassify.patch + mingw-w64/WIN32_WINNT.patch ) #