From ab0b797479a9ac567dbb7fb0585750f158eff006 Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Fri, 6 Apr 2018 14:40:20 +1000 Subject: [PATCH] gcc: update and re-enable coverage see: http://lists.nongnu.org/archive/html/mingw-cross-env-list/2018-04/msg00003.html fixes #1665 --- src/gcc-1-fixes.patch | 299 ++++-------------------------------------- src/gcc-test.c | 12 ++ src/gcc.mk | 16 ++- 3 files changed, 50 insertions(+), 277 deletions(-) create mode 100644 src/gcc-test.c diff --git a/src/gcc-1-fixes.patch b/src/gcc-1-fixes.patch index 292278fb..9c146529 100644 --- a/src/gcc-1-fixes.patch +++ b/src/gcc-1-fixes.patch @@ -27,281 +27,34 @@ index 1111111..2222222 100644 struct cache_desc From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: iains -Date: Mon, 25 Sep 2017 23:49:58 +0000 -Subject: [PATCH 2/2] Fix 81037 by adjutng headers +From: Tony Theodore +Date: Fri, 6 Apr 2018 13:40:22 +1000 +Subject: [PATCH 2/2] remove hard-coded mingw from include path -taken from: -https://github.com/gcc-mirror/gcc/commit/8e49ac832c6ef83afa52e59f0e7e0e6151f5bd3d -2017-09-26 Iain Sandoe - Ryan Mounce - - PR bootstrap/81037 - Backport from mainline r235362 - 2016-04-22 Szabolcs Nagy - - * system.h (list, map, set, vector): Include conditionally. - * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define. - * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define. - * ipa-icf.c (INCLUDE_LIST): Define. - * ipa-icf-gimple.c (INCLUDE_LIST): Define. - * config/sh/sh.c (INCLUDE_VECTOR): Define. - * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define. - (INCLUDE_LIST, INCLUDE_VECTOR): Define. - * fortran/trans-common.c (INCLUDE_MAP): Define. - - Backport from mainline r235361 - 2016-04-22 Szabolcs Nagy - - * auto-profile.c: Remove include. - * diagnostic.c: Remove include. - * genmatch.c: Likewise. - * pretty-print.c: Likewise. - * toplev.c: Likewise - * c/c-objc-common.c: Likewise. - * cp/error.c: Likewise. - * fortran/error.c: Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@253181 138bc75d-0d04-0410-961f-82ee72b054a4 - -diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c +diff --git a/gcc/config.gcc b/gcc/config.gcc index 1111111..2222222 100644 ---- a/gcc/auto-profile.c -+++ b/gcc/auto-profile.c -@@ -19,12 +19,10 @@ along with GCC; see the file COPYING3. If not see - . */ - - #include "config.h" -+#define INCLUDE_MAP -+#define INCLUDE_SET - #include "system.h" - --#include --#include --#include -- - #include "coretypes.h" - #include "hash-set.h" - #include "machmode.h" -diff --git a/gcc/c/c-objc-common.c b/gcc/c/c-objc-common.c +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -1713,7 +1713,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) + tmake_file="${tmake_file} i386/t-mingw-w32" + ;; + esac +- native_system_header_dir=/mingw/include ++ native_system_header_dir=/include + target_gtfiles="\$(srcdir)/config/i386/winnt.c" + extra_options="${extra_options} i386/cygming.opt i386/mingw.opt" + case ${target} in +diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h index 1111111..2222222 100644 ---- a/gcc/c/c-objc-common.c -+++ b/gcc/c/c-objc-common.c -@@ -38,8 +38,6 @@ along with GCC; see the file COPYING3. If not see - #include "langhooks.h" - #include "c-objc-common.h" +--- a/gcc/config/i386/mingw32.h ++++ b/gcc/config/i386/mingw32.h +@@ -170,7 +170,7 @@ along with GCC; see the file COPYING3. If not see + /* For native mingw-version we need to take care that NATIVE_SYSTEM_HEADER_DIR + macro contains POSIX-style path. See bug 52947. */ + #undef NATIVE_SYSTEM_HEADER_DIR +-#define NATIVE_SYSTEM_HEADER_DIR "/mingw/include" ++#define NATIVE_SYSTEM_HEADER_DIR "/include" --#include // For placement new. -- - static bool c_tree_printer (pretty_printer *, text_info *, const char *, - int, bool, bool, bool); - -diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c -index 1111111..2222222 100644 ---- a/gcc/config/sh/sh.c -+++ b/gcc/config/sh/sh.c -@@ -20,9 +20,9 @@ along with GCC; see the file COPYING3. If not see - . */ - - #include --#include - - #include "config.h" -+#define INCLUDE_VECTOR - #include "system.h" - #include "coretypes.h" - #include "tm.h" -diff --git a/gcc/config/sh/sh_treg_combine.cc b/gcc/config/sh/sh_treg_combine.cc -index 1111111..2222222 100644 ---- a/gcc/config/sh/sh_treg_combine.cc -+++ b/gcc/config/sh/sh_treg_combine.cc -@@ -19,6 +19,9 @@ along with GCC; see the file COPYING3. If not see - . */ - - #include "config.h" -+#define INCLUDE_ALGORITHM -+#define INCLUDE_LIST -+#define INCLUDE_VECTOR - #include "system.h" - #include "coretypes.h" - #include "machmode.h" -@@ -65,10 +68,6 @@ along with GCC; see the file COPYING3. If not see - #include "stmt.h" - #include "expr.h" - --#include --#include --#include -- - /* - This pass tries to optimize for example this: - mov.l @(4,r4),r1 -diff --git a/gcc/cp/error.c b/gcc/cp/error.c -index 1111111..2222222 100644 ---- a/gcc/cp/error.c -+++ b/gcc/cp/error.c -@@ -44,8 +44,6 @@ along with GCC; see the file COPYING3. If not see - #include "ubsan.h" - #include "internal-fn.h" - --#include // For placement-new. -- - #define pp_separate_with_comma(PP) pp_cxx_separate_with (PP, ',') - #define pp_separate_with_semicolon(PP) pp_cxx_separate_with (PP, ';') - -diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c -index 1111111..2222222 100644 ---- a/gcc/diagnostic.c -+++ b/gcc/diagnostic.c -@@ -41,8 +41,6 @@ along with GCC; see the file COPYING3. If not see - # include - #endif - --#include // For placement new. -- - #define pedantic_warning_kind(DC) \ - ((DC)->pedantic_errors ? DK_ERROR : DK_WARNING) - #define permissive_error_kind(DC) ((DC)->permissive ? DK_WARNING : DK_ERROR) -diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c -index 1111111..2222222 100644 ---- a/gcc/fortran/error.c -+++ b/gcc/fortran/error.c -@@ -34,8 +34,6 @@ along with GCC; see the file COPYING3. If not see - #include "diagnostic-color.h" - #include "tree-diagnostic.h" /* tree_diagnostics_defaults */ - --#include /* For placement-new */ -- - static int suppress_errors = 0; - - static bool warnings_not_errors = false; -diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c -index 1111111..2222222 100644 ---- a/gcc/fortran/trans-common.c -+++ b/gcc/fortran/trans-common.c -@@ -92,8 +92,8 @@ along with GCC; see the file COPYING3. If not see - is examined for still-unused equivalence conditions. We create a - block for each merged equivalence list. */ - --#include - #include "config.h" -+#define INCLUDE_MAP - #include "system.h" - #include "coretypes.h" - #include "tm.h" -diff --git a/gcc/genmatch.c b/gcc/genmatch.c -index 1111111..2222222 100644 ---- a/gcc/genmatch.c -+++ b/gcc/genmatch.c -@@ -22,7 +22,6 @@ along with GCC; see the file COPYING3. If not see - . */ - - #include "bconfig.h" --#include - #include "system.h" - #include "coretypes.h" - #include "ggc.h" -diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c -index 1111111..2222222 100644 ---- a/gcc/graphite-isl-ast-to-gimple.c -+++ b/gcc/graphite-isl-ast-to-gimple.c -@@ -38,6 +38,7 @@ extern "C" { - #endif - #endif - -+#define INCLUDE_MAP - #include "system.h" - #include "coretypes.h" - #include "hash-set.h" -@@ -75,7 +76,6 @@ extern "C" { - #include "tree-scalar-evolution.h" - #include "gimple-ssa.h" - #include "tree-into-ssa.h" --#include - - #ifdef HAVE_isl - #include "graphite-poly.h" -diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c -index 1111111..2222222 100644 ---- a/gcc/ipa-icf-gimple.c -+++ b/gcc/ipa-icf-gimple.c -@@ -20,6 +20,7 @@ along with GCC; see the file COPYING3. If not see - . */ - - #include "config.h" -+#define INCLUDE_LIST - #include "system.h" - #include "coretypes.h" - #include "hash-set.h" -@@ -74,7 +75,6 @@ along with GCC; see the file COPYING3. If not see - #include "cgraph.h" - #include "data-streamer.h" - #include "ipa-utils.h" --#include - #include "tree-ssanames.h" - #include "tree-eh.h" - #include "builtins.h" -diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c -index 1111111..2222222 100644 ---- a/gcc/ipa-icf.c -+++ b/gcc/ipa-icf.c -@@ -52,8 +52,8 @@ along with GCC; see the file COPYING3. If not see - */ - - #include "config.h" -+#define INCLUDE_LIST - #include "system.h" --#include - #include "coretypes.h" - #include "hash-set.h" - #include "machmode.h" -diff --git a/gcc/pretty-print.c b/gcc/pretty-print.c -index 1111111..2222222 100644 ---- a/gcc/pretty-print.c -+++ b/gcc/pretty-print.c -@@ -25,8 +25,6 @@ along with GCC; see the file COPYING3. If not see - #include "pretty-print.h" - #include "diagnostic-color.h" - --#include // For placement-new. -- - #if HAVE_ICONV - #include - #endif -diff --git a/gcc/system.h b/gcc/system.h -index 1111111..2222222 100644 ---- a/gcc/system.h -+++ b/gcc/system.h -@@ -215,6 +215,18 @@ extern int errno; - #endif - - #ifdef __cplusplus -+# ifdef INCLUDE_LIST -+# include -+# endif -+# ifdef INCLUDE_MAP -+# include -+# endif -+# ifdef INCLUDE_SET -+# include -+# endif -+# ifdef INCLUDE_VECTOR -+# include -+# endif - # include - # include - # include -diff --git a/gcc/toplev.c b/gcc/toplev.c -index 1111111..2222222 100644 ---- a/gcc/toplev.c -+++ b/gcc/toplev.c -@@ -135,8 +135,6 @@ along with GCC; see the file COPYING3. If not see - #define HAVE_prologue 0 - #endif - --#include -- - static void general_init (const char *, bool); - static void do_compile (); - static void process_options (void); + /* Output STRING, a string representing a filename, to FILE. + We canonicalize it to be in Unix format (backslashes are replaced diff --git a/src/gcc-test.c b/src/gcc-test.c new file mode 100644 index 00000000..f1bc5d44 --- /dev/null +++ b/src/gcc-test.c @@ -0,0 +1,12 @@ +/* + * This file is part of MXE. See LICENSE.md for licensing information. + */ + +#include + +int main(int argc, char** argv) { + if (argc >= 2) { + printf("argv[1] = %s\n", argv[1]); + } + return 0; +} diff --git a/src/gcc.mk b/src/gcc.mk index 1eb203a9..97333c9a 100644 --- a/src/gcc.mk +++ b/src/gcc.mk @@ -3,17 +3,18 @@ PKG := gcc $(PKG)_WEBSITE := https://gcc.gnu.org/ $(PKG)_DESCR := GCC -$(PKG)_IGNORE := 6% -$(PKG)_VERSION := 5.4.0 -$(PKG)_CHECKSUM := 608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a +$(PKG)_IGNORE := +$(PKG)_VERSION := 5.5.0 +$(PKG)_CHECKSUM := 530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87 $(PKG)_SUBDIR := gcc-$($(PKG)_VERSION) -$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2 +$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz $(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) $(PKG)_URL_2 := https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) $(PKG)_DEPS := binutils mingw-w64 $(addprefix $(BUILD)~,gmp isl mpc mpfr) define $(PKG)_UPDATE $(WGET) -q -O- 'https://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \ + grep -v 'gcc-6\|gcc-7' | \ $(SED) -n 's,.*