From c6bb8a136a4b39028160b7417a5f2c3be0736c47 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 12 Jun 2017 01:16:07 +0200 Subject: gcc: remove support for gcc5/gcc6 --- toolchain/gcc/Makefile.inc | 16 - toolchain/gcc/patches/5.4.0/bfin-fix-gcc.patch | 12 - toolchain/gcc/patches/5.4.0/cflags.patch | 222 --- toolchain/gcc/patches/5.4.0/disable-dwarf.bfin | 12 - .../5.4.0/disable-split-stack-nothread.patch | 10 - toolchain/gcc/patches/5.4.0/fix-m86k-libgcc.patch | 11 - toolchain/gcc/patches/5.4.0/gcc.musl | 647 ------- toolchain/gcc/patches/5.4.0/go-libgcc.patch | 664 ------- toolchain/gcc/patches/5.4.0/ia64-fix-libgcc.patch | 30 - .../gcc/patches/5.4.0/libstdcxx-uclibc-c99.patch | 261 --- toolchain/gcc/patches/5.4.0/lm32-newlib-fix.patch | 15 - .../5.4.0/m68k-disable-atomic-uclinux.patch | 12 - .../gcc/patches/5.4.0/microblaze-32bithost.patch | 24 - .../5.4.0/microblaze-enable-dwarf-eh-support.patch | 166 -- toolchain/gcc/patches/5.4.0/microblaze.uclibc-ng | 20 - .../patches/5.4.0/nios2-Add-IJMP_REGS-enum.patch | 103 -- toolchain/gcc/patches/5.4.0/nios2-soft-fp.patch | 14 - toolchain/gcc/patches/5.4.0/tilegx-fix.patch | 24 - .../patches/5.4.0/uclibc-cmath-long-double.patch | 434 ----- toolchain/gcc/patches/5.4.0/uclinux-threads.patch | 13 - toolchain/gcc/patches/6.3.0/add-crtreloc.frv | 12 - .../gcc/patches/6.3.0/bfin-define-REENTRANT.patch | 13 - ...ig-bfin-use-the-generic-linker-version-in.patch | 1944 -------------------- ...bgcc-mkmap-symver-support-skip_underscore.patch | 60 - toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch | 33 - toolchain/gcc/patches/6.3.0/fix-m86k-libgcc.patch | 11 - .../gcc/patches/6.3.0/frv-remove-write-macro.patch | 52 - toolchain/gcc/patches/6.3.0/go-libgcc.patch | 12 - toolchain/gcc/patches/6.3.0/ia64-fix-libgcc.patch | 17 - toolchain/gcc/patches/6.3.0/j2.patch | 342 ---- .../6.3.0/m68k-disable-atomic-uclinux.patch | 12 - .../gcc/patches/6.3.0/microblaze-32bithost.patch | 24 - toolchain/gcc/patches/6.3.0/microblaze.patch | 23 - toolchain/gcc/patches/6.3.0/nios2-softfp.patch | 14 - toolchain/gcc/patches/6.3.0/s390-musl.patch | 15 - toolchain/gcc/patches/6.3.0/tilegx-fix.patch | 24 - toolchain/gcc/patches/6.3.0/uclinux-threads.patch | 13 - toolchain/gcc/patches/6.3.0/xtensa-musl.patch | 27 - 38 files changed, 5358 deletions(-) delete mode 100644 toolchain/gcc/patches/5.4.0/bfin-fix-gcc.patch delete mode 100644 toolchain/gcc/patches/5.4.0/cflags.patch delete mode 100644 toolchain/gcc/patches/5.4.0/disable-dwarf.bfin delete mode 100644 toolchain/gcc/patches/5.4.0/disable-split-stack-nothread.patch delete mode 100644 toolchain/gcc/patches/5.4.0/fix-m86k-libgcc.patch delete mode 100644 toolchain/gcc/patches/5.4.0/gcc.musl delete mode 100644 toolchain/gcc/patches/5.4.0/go-libgcc.patch delete mode 100644 toolchain/gcc/patches/5.4.0/ia64-fix-libgcc.patch delete mode 100644 toolchain/gcc/patches/5.4.0/libstdcxx-uclibc-c99.patch delete mode 100644 toolchain/gcc/patches/5.4.0/lm32-newlib-fix.patch delete mode 100644 toolchain/gcc/patches/5.4.0/m68k-disable-atomic-uclinux.patch delete mode 100644 toolchain/gcc/patches/5.4.0/microblaze-32bithost.patch delete mode 100644 toolchain/gcc/patches/5.4.0/microblaze-enable-dwarf-eh-support.patch delete mode 100644 toolchain/gcc/patches/5.4.0/microblaze.uclibc-ng delete mode 100644 toolchain/gcc/patches/5.4.0/nios2-Add-IJMP_REGS-enum.patch delete mode 100644 toolchain/gcc/patches/5.4.0/nios2-soft-fp.patch delete mode 100644 toolchain/gcc/patches/5.4.0/tilegx-fix.patch delete mode 100644 toolchain/gcc/patches/5.4.0/uclibc-cmath-long-double.patch delete mode 100644 toolchain/gcc/patches/5.4.0/uclinux-threads.patch delete mode 100644 toolchain/gcc/patches/6.3.0/add-crtreloc.frv delete mode 100644 toolchain/gcc/patches/6.3.0/bfin-define-REENTRANT.patch delete mode 100644 toolchain/gcc/patches/6.3.0/bfin-libgcc-config-bfin-use-the-generic-linker-version-in.patch delete mode 100644 toolchain/gcc/patches/6.3.0/bfin-libgcc-mkmap-symver-support-skip_underscore.patch delete mode 100644 toolchain/gcc/patches/6.3.0/fix-dwarf-fdpic.patch delete mode 100644 toolchain/gcc/patches/6.3.0/fix-m86k-libgcc.patch delete mode 100644 toolchain/gcc/patches/6.3.0/frv-remove-write-macro.patch delete mode 100644 toolchain/gcc/patches/6.3.0/go-libgcc.patch delete mode 100644 toolchain/gcc/patches/6.3.0/ia64-fix-libgcc.patch delete mode 100644 toolchain/gcc/patches/6.3.0/j2.patch delete mode 100644 toolchain/gcc/patches/6.3.0/m68k-disable-atomic-uclinux.patch delete mode 100644 toolchain/gcc/patches/6.3.0/microblaze-32bithost.patch delete mode 100644 toolchain/gcc/patches/6.3.0/microblaze.patch delete mode 100644 toolchain/gcc/patches/6.3.0/nios2-softfp.patch delete mode 100644 toolchain/gcc/patches/6.3.0/s390-musl.patch delete mode 100644 toolchain/gcc/patches/6.3.0/tilegx-fix.patch delete mode 100644 toolchain/gcc/patches/6.3.0/uclinux-threads.patch delete mode 100644 toolchain/gcc/patches/6.3.0/xtensa-musl.patch (limited to 'toolchain') diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc index 6e42415d9..2847b4fc7 100644 --- a/toolchain/gcc/Makefile.inc +++ b/toolchain/gcc/Makefile.inc @@ -10,22 +10,6 @@ PKG_RELEASE:= 1 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz LIBSTDCXXVER:= 23 endif -ifeq ($(ADK_TOOLCHAIN_GCC_6),y) -PKG_VERSION:= 6.3.0 -PKG_HASH:= 02f9302a559fa2251595ca0bc1e937219eff2995a3802d7b31676fec2402beb4 -PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/} -PKG_RELEASE:= 1 -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz -LIBSTDCXXVER:= 22 -endif -ifeq ($(ADK_TOOLCHAIN_GCC_5),y) -PKG_VERSION:= 5.4.0 -PKG_HASH:= 37089e80c3f2e9a0663d7ccc51c2a6c7dbbf3275bc1e4ed1ed3b1460cd5b3030 -PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/} -PKG_RELEASE:= 1 -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz -LIBSTDCXXVER:= 21 -endif ifeq ($(ADK_TOOLCHAIN_GCC_4_9),y) PKG_VERSION:= 4.9.4 PKG_HASH:= 1680f92781b92cbdb57d7e4f647c650678c594154cb0d707fd9a994424a9860d diff --git a/toolchain/gcc/patches/5.4.0/bfin-fix-gcc.patch b/toolchain/gcc/patches/5.4.0/bfin-fix-gcc.patch deleted file mode 100644 index a0643f5fc..000000000 --- a/toolchain/gcc/patches/5.4.0/bfin-fix-gcc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gcc-4.9.3.orig/gcc/config.gcc gcc-4.9.3/gcc/config.gcc ---- gcc-4.9.3.orig/gcc/config.gcc 2015-05-21 22:50:59.000000000 +0200 -+++ gcc-4.9.3/gcc/config.gcc 2015-11-23 22:51:58.686375134 +0100 -@@ -1101,7 +1101,7 @@ - ;; - bfin*-linux-uclibc*) - tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h gnu-user.h linux.h glibc-stdint.h bfin/linux.h ./linux-sysroot-suffix.h" -- tmake_file="bfin/t-bfin-linux t-slibgcc t-linux" -+ tmake_file="${tmake_file} bfin/t-bfin-linux t-slibgcc t-linux" - use_collect2=no - ;; - bfin*-rtems*) diff --git a/toolchain/gcc/patches/5.4.0/cflags.patch b/toolchain/gcc/patches/5.4.0/cflags.patch deleted file mode 100644 index 7ebb5e548..000000000 --- a/toolchain/gcc/patches/5.4.0/cflags.patch +++ /dev/null @@ -1,222 +0,0 @@ -diff -Nur gcc-5.1.0.orig/gcc/c-family/c-opts.c gcc-5.1.0/gcc/c-family/c-opts.c ---- gcc-5.1.0.orig/gcc/c-family/c-opts.c 2015-02-13 06:26:37.000000000 +0100 -+++ gcc-5.1.0/gcc/c-family/c-opts.c 2015-05-01 23:07:27.000000000 +0200 -@@ -122,6 +122,9 @@ - /* Whether any standard preincluded header has been preincluded. */ - static bool done_preinclude; - -+/* Check if a port honours COPTS. */ -+static int honour_copts = 0; -+ - static void handle_OPT_d (const char *); - static void set_std_cxx98 (int); - static void set_std_cxx11 (int); -@@ -449,6 +452,12 @@ - flag_no_builtin = !value; - break; - -+ case OPT_fhonour_copts: -+ if (c_language == clk_c) { -+ honour_copts++; -+ } -+ break; -+ - case OPT_fconstant_string_class_: - constant_string_class_name = arg; - break; -@@ -1034,6 +1043,47 @@ - return false; - } - -+ if (c_language == clk_c) { -+ char *ev = getenv ("GCC_HONOUR_COPTS"); -+ int evv; -+ if (ev == NULL) -+ evv = -1; -+ else if ((*ev == '0') || (*ev == '\0')) -+ evv = 0; -+ else if (*ev == '1') -+ evv = 1; -+ else if (*ev == '2') -+ evv = 2; -+ else if (*ev == 's') -+ evv = -1; -+ else { -+ warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1"); -+ evv = 1; /* maybe depend this on something like MIRBSD_NATIVE? */ -+ } -+ if (evv == 1) { -+ if (honour_copts == 0) { -+ error ("someone does not honour COPTS at all in lenient mode"); -+ return false; -+ } else if (honour_copts != 1) { -+ warning (0, "someone does not honour COPTS correctly, passed %d times", -+ honour_copts); -+ } -+ } else if (evv == 2) { -+ if (honour_copts == 0) { -+ error ("someone does not honour COPTS at all in strict mode"); -+ return false; -+ } else if (honour_copts != 1) { -+ error ("someone does not honour COPTS correctly, passed %d times", -+ honour_copts); -+ return false; -+ } -+ } else if (evv == 0) { -+ if (honour_copts != 1) -+ inform (0, "someone does not honour COPTS correctly, passed %d times", -+ honour_copts); -+ } -+ } -+ - return true; - } - -diff -Nur gcc-5.1.0.orig/gcc/c-family/c.opt gcc-5.1.0/gcc/c-family/c.opt ---- gcc-5.1.0.orig/gcc/c-family/c.opt 2015-03-27 11:29:04.000000000 +0100 -+++ gcc-5.1.0/gcc/c-family/c.opt 2015-05-01 23:07:27.000000000 +0200 -@@ -431,6 +431,10 @@ - C ObjC C++ ObjC++ Var(warn_float_conversion) LangEnabledBy(C ObjC C++ ObjC++,Wconversion) - Warn for implicit type conversions that cause loss of floating point precision - -+Werror-maybe-reset -+C ObjC C++ ObjC++ -+; Documented in common.opt -+ - Wfloat-equal - C ObjC C++ ObjC++ Var(warn_float_equal) Warning - Warn if testing floating point numbers for equality -@@ -1161,6 +1165,9 @@ - fhonor-std - C++ ObjC++ Ignore Warn(switch %qs is no longer supported) - -+fhonour-copts -+C ObjC C++ ObjC++ RejectNegative -+ - fhosted - C ObjC - Assume normal C execution environment -diff -Nur gcc-5.1.0.orig/gcc/common.opt gcc-5.1.0/gcc/common.opt ---- gcc-5.1.0.orig/gcc/common.opt 2015-02-27 03:06:48.000000000 +0100 -+++ gcc-5.1.0/gcc/common.opt 2015-05-01 23:07:27.000000000 +0200 -@@ -561,6 +561,10 @@ - Common Joined - Treat specified warning as error - -+Werror-maybe-reset -+Common -+If environment variable GCC_NO_WERROR is set, act as -Wno-error -+ - Wextra - Common Var(extra_warnings) Warning - Print extra (possibly unwanted) warnings -@@ -1357,6 +1361,9 @@ - Common Report Var(flag_guess_branch_prob) Optimization - Enable guessing of branch probabilities - -+fhonour-copts -+Common RejectNegative -+ - ; Nonzero means ignore `#ident' directives. 0 means handle them. - ; Generate position-independent code for executables if possible - ; On SVR4 targets, it also controls whether or not to emit a -diff -Nur gcc-5.1.0.orig/gcc/doc/cppopts.texi gcc-5.1.0/gcc/doc/cppopts.texi ---- gcc-5.1.0.orig/gcc/doc/cppopts.texi 2015-03-23 02:12:06.000000000 +0100 -+++ gcc-5.1.0/gcc/doc/cppopts.texi 2015-05-01 23:07:27.000000000 +0200 -@@ -163,6 +163,11 @@ - Make all warnings into hard errors. Source code which triggers warnings - will be rejected. - -+ at item -Werror-maybe-reset -+ at opindex Werror-maybe-reset -+Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment -+variable is set to anything other than 0 or empty. -+ - @item -Wsystem-headers - @opindex Wsystem-headers - Issue warnings for code in system headers. These are normally unhelpful -diff -Nur gcc-5.1.0.orig/gcc/doc/invoke.texi gcc-5.1.0/gcc/doc/invoke.texi ---- gcc-5.1.0.orig/gcc/doc/invoke.texi 2015-04-12 21:29:44.000000000 +0200 -+++ gcc-5.1.0/gcc/doc/invoke.texi 2015-05-01 23:07:27.000000000 +0200 -@@ -251,7 +251,7 @@ - -Wdisabled-optimization @gol - -Wno-discarded-qualifiers -Wno-discarded-array-qualifiers @gol - -Wno-div-by-zero -Wdouble-promotion -Wempty-body -Wenum-compare @gol ---Wno-endif-labels -Werror -Werror=* @gol -+-Wno-endif-labels -Werror -Werror=* -Werror-maybe-reset @gol - -Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol - -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol - -Wformat-security -Wformat-signedness -Wformat-y2k @gol -@@ -5370,6 +5370,22 @@ - @option{-Wall} and by @option{-Wpedantic}, which can be disabled with - @option{-Wno-pointer-sign}. - -+ at item -Werror-maybe-reset -+ at opindex Werror-maybe-reset -+Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment -+variable is set to anything other than 0 or empty. -+ -+ at item -fhonour-copts -+ at opindex fhonour-copts -+If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not -+given at least once, and warn if it is given more than once. -+If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not -+given exactly once. -+If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option -+is not given exactly once. -+The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}. -+This flag and environment variable only affect the C language. -+ - @item -Wstack-protector - @opindex Wstack-protector - @opindex Wno-stack-protector -@@ -7843,7 +7859,7 @@ - second branch or a point immediately following it, depending on whether - the condition is known to be true or false. - --Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. -+Enabled at levels @option{-O3}. - - @item -fsplit-wide-types - @opindex fsplit-wide-types -diff -Nur gcc-5.1.0.orig/gcc/java/jvspec.c gcc-5.1.0/gcc/java/jvspec.c ---- gcc-5.1.0.orig/gcc/java/jvspec.c 2015-01-30 17:15:00.000000000 +0100 -+++ gcc-5.1.0/gcc/java/jvspec.c 2015-05-01 23:07:27.000000000 +0200 -@@ -629,6 +629,7 @@ - class name. Append dummy `.c' that can be stripped by set_input so %b - is correct. */ - set_input (concat (main_class_name, "main.c", NULL)); -+ putenv ("GCC_HONOUR_COPTS=s"); /* XXX hack! */ - err = do_spec (jvgenmain_spec); - if (err == 0) - { -diff -Nur gcc-5.1.0.orig/gcc/opts.c gcc-5.1.0/gcc/opts.c ---- gcc-5.1.0.orig/gcc/opts.c 2015-02-17 22:25:56.000000000 +0100 -+++ gcc-5.1.0/gcc/opts.c 2015-05-01 23:07:27.000000000 +0200 -@@ -511,6 +511,8 @@ - { OPT_LEVELS_2_PLUS, OPT_flra_remat, NULL, 1 }, - - /* -O3 optimizations. */ -+ { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 }, -+ { OPT_LEVELS_3_PLUS, OPT_fstrict_overflow, NULL, 1 }, - { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 }, - { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 }, - /* Inlining of functions reducing size is a good idea with -Os -@@ -1699,6 +1701,17 @@ - opts, opts_set, loc, dc); - break; - -+ case OPT_Werror_maybe_reset: -+ { -+ char *ev = getenv ("GCC_NO_WERROR"); -+ if ((ev != NULL) && (*ev != '0')) -+ warnings_are_errors = 0; -+ } -+ break; -+ -+ case OPT_fhonour_copts: -+ break; -+ - case OPT_Wlarger_than_: - opts->x_larger_than_size = value; - opts->x_warn_larger_than = value != -1; diff --git a/toolchain/gcc/patches/5.4.0/disable-dwarf.bfin b/toolchain/gcc/patches/5.4.0/disable-dwarf.bfin deleted file mode 100644 index c11baec92..000000000 --- a/toolchain/gcc/patches/5.4.0/disable-dwarf.bfin +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gcc-git.orig/libgcc/config.host gcc-git/libgcc/config.host ---- gcc-git.orig/libgcc/config.host 2015-10-23 21:12:52.000000000 +0200 -+++ gcc-git/libgcc/config.host 2015-11-15 21:17:38.385745887 +0100 -@@ -231,7 +231,7 @@ - esac - ;; - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) -- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux" -+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux" - extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" - if test x$enable_vtable_verify = xyes; then - extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" diff --git a/toolchain/gcc/patches/5.4.0/disable-split-stack-nothread.patch b/toolchain/gcc/patches/5.4.0/disable-split-stack-nothread.patch deleted file mode 100644 index 32ecf713b..000000000 --- a/toolchain/gcc/patches/5.4.0/disable-split-stack-nothread.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -Nur gcc-5.3.0.orig/libgcc/config/t-stack gcc-5.3.0/libgcc/config/t-stack ---- gcc-5.3.0.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-5.3.0/libgcc/config/t-stack 2016-03-06 16:26:13.332119208 +0100 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/toolchain/gcc/patches/5.4.0/fix-m86k-libgcc.patch b/toolchain/gcc/patches/5.4.0/fix-m86k-libgcc.patch deleted file mode 100644 index e8481d549..000000000 --- a/toolchain/gcc/patches/5.4.0/fix-m86k-libgcc.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c gcc-4.9.3/libgcc/config/m68k/linux-atomic.c ---- gcc-4.9.3.orig/libgcc/config/m68k/linux-atomic.c 2014-01-02 23:25:22.000000000 +0100 -+++ gcc-4.9.3/libgcc/config/m68k/linux-atomic.c 2015-11-29 14:42:10.566143595 +0100 -@@ -33,7 +33,6 @@ - using the kernel helper defined below. There is no support for - 64-bit operations yet. */ - --#include - #include - - #ifndef __NR_atomic_cmpxchg_32 diff --git a/toolchain/gcc/patches/5.4.0/gcc.musl b/toolchain/gcc/patches/5.4.0/gcc.musl deleted file mode 100644 index 1413e9e90..000000000 --- a/toolchain/gcc/patches/5.4.0/gcc.musl +++ /dev/null @@ -1,647 +0,0 @@ -diff -Nur gcc-5.3.0.orig/fixincludes/mkfixinc.sh gcc-5.3.0/fixincludes/mkfixinc.sh ---- gcc-5.3.0.orig/fixincludes/mkfixinc.sh 2012-10-28 22:42:48.000000000 +0100 -+++ gcc-5.3.0/fixincludes/mkfixinc.sh 2016-05-09 18:32:59.117636672 +0200 -@@ -19,7 +19,8 @@ - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} -diff -Nur gcc-5.3.0.orig/gcc/config/aarch64/aarch64-linux.h gcc-5.3.0/gcc/config/aarch64/aarch64-linux.h ---- gcc-5.3.0.orig/gcc/config/aarch64/aarch64-linux.h 2015-07-24 18:00:26.000000000 +0200 -+++ gcc-5.3.0/gcc/config/aarch64/aarch64-linux.h 2016-05-09 18:32:59.117636672 +0200 -@@ -29,6 +29,8 @@ - #undef CC1_SPEC - #define CC1_SPEC GNU_USER_TARGET_CC1_SPEC ASAN_CC1_SPEC - -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" -+ - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - - #define LINUX_TARGET_LINK_SPEC "%{h*} \ -diff -Nur gcc-5.3.0.orig/gcc/config/arm/linux-eabi.h gcc-5.3.0/gcc/config/arm/linux-eabi.h ---- gcc-5.3.0.orig/gcc/config/arm/linux-eabi.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/arm/linux-eabi.h 2016-05-09 18:32:59.117636672 +0200 -@@ -77,6 +77,23 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC -diff -Nur gcc-5.3.0.orig/gcc/config/i386/linux64.h gcc-5.3.0/gcc/config/i386/linux64.h ---- gcc-5.3.0.orig/gcc/config/i386/linux64.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/i386/linux64.h 2016-05-09 18:32:59.117636672 +0200 -@@ -30,3 +30,7 @@ - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+ -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" -+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" -diff -Nur gcc-5.3.0.orig/gcc/config/i386/linux.h gcc-5.3.0/gcc/config/i386/linux.h ---- gcc-5.3.0.orig/gcc/config/i386/linux.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/i386/linux.h 2016-05-09 18:32:59.117636672 +0200 -@@ -21,3 +21,4 @@ - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" -diff -Nur gcc-5.3.0.orig/gcc/config/linux.h gcc-5.3.0/gcc/config/linux.h ---- gcc-5.3.0.orig/gcc/config/linux.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/linux.h 2016-05-09 18:32:59.117636672 +0200 -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ - uClibc or Bionic is the default C library and whether - -muclibc or -mglibc or -mbionic has been passed to change the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -84,21 +89,92 @@ - - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC - #define TARGET_HAS_BIONIC (OPTION_BIONIC) - -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif -+ - #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ - /* This is a *uclinux* target. We don't define below macros to normal linux - versions, because doing so would require *uclinux* targets to include -diff -Nur gcc-5.3.0.orig/gcc/config/linux.opt gcc-5.3.0/gcc/config/linux.opt ---- gcc-5.3.0.orig/gcc/config/linux.opt 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/linux.opt 2016-05-09 18:32:59.117636672 +0200 -@@ -30,3 +30,7 @@ - muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) -+Use musl C library -diff -Nur gcc-5.3.0.orig/gcc/config/microblaze/linux.h gcc-5.3.0/gcc/config/microblaze/linux.h ---- gcc-5.3.0.orig/gcc/config/microblaze/linux.h 2015-05-28 16:08:19.000000000 +0200 -+++ gcc-5.3.0/gcc/config/microblaze/linux.h 2016-05-09 18:32:59.117636672 +0200 -@@ -28,7 +28,22 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+ -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } -diff -Nur gcc-5.3.0.orig/gcc/config/microblaze/microblaze.h gcc-5.3.0/gcc/config/microblaze/microblaze.h ---- gcc-5.3.0.orig/gcc/config/microblaze/microblaze.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/microblaze/microblaze.h 2016-05-09 18:32:59.117636672 +0200 -@@ -218,6 +218,12 @@ - #undef PTRDIFF_TYPE - #define PTRDIFF_TYPE "int" - -+#undef SIZE_TYPE -+#define SIZE_TYPE "unsigned int" -+ -+#undef PTRDIFF_TYPE -+#define PTRDIFF_TYPE "int" -+ - #define CONSTANT_ALIGNMENT(EXP, ALIGN) \ - ((TREE_CODE (EXP) == STRING_CST || TREE_CODE (EXP) == CONSTRUCTOR) \ - && (ALIGN) < BITS_PER_WORD \ -diff -Nur gcc-5.3.0.orig/gcc/config/mips/linux.h gcc-5.3.0/gcc/config/mips/linux.h ---- gcc-5.3.0.orig/gcc/config/mips/linux.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/mips/linux.h 2016-05-09 18:32:59.117636672 +0200 -@@ -31,13 +31,26 @@ - #undef UCLIBC_DYNAMIC_LINKER32 - #define UCLIBC_DYNAMIC_LINKER32 \ - "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}" -+ -+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - #undef UCLIBC_DYNAMIC_LINKER64 - #define UCLIBC_DYNAMIC_LINKER64 \ - "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}" - #define UCLIBC_DYNAMIC_LINKERN32 \ - "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}" - -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1" -+ - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32) -diff -Nur gcc-5.3.0.orig/gcc/config/rs6000/linux64.h gcc-5.3.0/gcc/config/rs6000/linux64.h ---- gcc-5.3.0.orig/gcc/config/rs6000/linux64.h 2015-03-10 00:18:57.000000000 +0100 -+++ gcc-5.3.0/gcc/config/rs6000/linux64.h 2016-05-09 18:34:48.589864446 +0200 -@@ -365,17 +365,23 @@ - #endif - #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER32 \ -+ "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" -+#define MUSL_DYNAMIC_LINKER64 \ -+ "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" - #elif DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - - #undef DEFAULT_ASM_ENDIAN - #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) -diff -Nur gcc-5.3.0.orig/gcc/config/rs6000/secureplt.h gcc-5.3.0/gcc/config/rs6000/secureplt.h ---- gcc-5.3.0.orig/gcc/config/rs6000/secureplt.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/rs6000/secureplt.h 2016-05-09 18:32:59.117636672 +0200 -@@ -18,3 +18,4 @@ - . */ - - #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" -+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" -diff -Nur gcc-5.3.0.orig/gcc/config/rs6000/sysv4.h gcc-5.3.0/gcc/config/rs6000/sysv4.h ---- gcc-5.3.0.orig/gcc/config/rs6000/sysv4.h 2015-09-24 15:46:45.000000000 +0200 -+++ gcc-5.3.0/gcc/config/rs6000/sysv4.h 2016-05-09 23:19:35.637951308 +0200 -@@ -537,6 +537,9 @@ - #ifndef CC1_SECURE_PLT_DEFAULT_SPEC - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif - - /* Pass -G xxx to the compiler. */ - #undef CC1_SPEC -@@ -757,17 +761,23 @@ - - #define LINK_START_LINUX_SPEC "" - -+#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","") -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -889,6 +899,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff -Nur gcc-5.3.0.orig/gcc/config/rs6000/sysv4le.h gcc-5.3.0/gcc/config/rs6000/sysv4le.h ---- gcc-5.3.0.orig/gcc/config/rs6000/sysv4le.h 2015-09-24 15:46:45.000000000 +0200 -+++ gcc-5.3.0/gcc/config/rs6000/sysv4le.h 2016-05-09 18:37:01.987015032 +0200 -@@ -31,3 +31,5 @@ - /* Little-endian PowerPC64 Linux uses the ELF v2 ABI by default. */ - #define LINUX64_DEFAULT_ABI_ELFv2 - -+#undef MUSL_DYNAMIC_LINKER_E -+#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","le") -diff -Nur gcc-5.3.0.orig/gcc/config/sh/linux.h gcc-5.3.0/gcc/config/sh/linux.h ---- gcc-5.3.0.orig/gcc/config/sh/linux.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/config/sh/linux.h 2016-05-09 18:32:59.117636672 +0200 -@@ -43,7 +43,14 @@ - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack - -+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ -+#define MUSL_DYNAMIC_LINKER_E "eb" -+#else -+#define MUSL_DYNAMIC_LINKER_E -+#endif -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" -diff -Nur gcc-5.3.0.orig/gcc/config.gcc gcc-5.3.0/gcc/config.gcc ---- gcc-5.3.0.orig/gcc/config.gcc 2015-09-10 16:17:53.000000000 +0200 -+++ gcc-5.3.0/gcc/config.gcc 2016-05-09 18:32:59.117636672 +0200 -@@ -575,7 +575,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # 32-bit x86 processors supported by --with-arch=. Each processor - # MUST be separated by exactly one space. -@@ -720,6 +720,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -@@ -2413,6 +2416,10 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ *-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi -diff -Nur gcc-5.3.0.orig/gcc/configure gcc-5.3.0/gcc/configure ---- gcc-5.3.0.orig/gcc/configure 2015-11-19 14:32:10.000000000 +0100 -+++ gcc-5.3.0/gcc/configure 2016-05-09 18:32:59.121636810 +0200 -@@ -27802,6 +27802,9 @@ - else - gcc_cv_libc_provides_ssp=no - case "$target" in -+ *-*-musl*) -+ # All versions of musl provide stack protector -+ gcc_cv_libc_provides_ssp=yes;; - *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) - # glibc 2.4 and later provides __stack_chk_fail and - # either __stack_chk_guard, or TLS access to stack guard canary. -@@ -27834,6 +27837,7 @@ - # ) and for now - # simply assert that glibc does provide this, which is true for all - # realistically usable GNU/Hurd configurations. -+ # All supported versions of musl provide it as well - gcc_cv_libc_provides_ssp=yes;; - *-*-darwin* | *-*-freebsd*) - ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail" -@@ -27930,6 +27934,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -diff -Nur gcc-5.3.0.orig/gcc/configure.ac gcc-5.3.0/gcc/configure.ac ---- gcc-5.3.0.orig/gcc/configure.ac 2015-11-19 14:32:10.000000000 +0100 -+++ gcc-5.3.0/gcc/configure.ac 2016-05-09 18:32:59.125636929 +0200 -@@ -5282,6 +5282,9 @@ - gcc_cv_libc_provides_ssp, - [gcc_cv_libc_provides_ssp=no - case "$target" in -+ *-*-musl*) -+ # All versions of musl provide stack protector -+ gcc_cv_libc_provides_ssp=yes;; - *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu) - # glibc 2.4 and later provides __stack_chk_fail and - # either __stack_chk_guard, or TLS access to stack guard canary. -@@ -5308,6 +5311,7 @@ - # ) and for now - # simply assert that glibc does provide this, which is true for all - # realistically usable GNU/Hurd configurations. -+ # All supported versions of musl provide it as well - gcc_cv_libc_provides_ssp=yes;; - *-*-darwin* | *-*-freebsd*) - AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes], -@@ -5381,6 +5385,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then -diff -Nur gcc-5.3.0.orig/gcc/gcc.c gcc-5.3.0/gcc/gcc.c ---- gcc-5.3.0.orig/gcc/gcc.c 2015-03-10 10:37:41.000000000 +0100 -+++ gcc-5.3.0/gcc/gcc.c 2016-05-09 18:32:59.125636929 +0200 -@@ -729,7 +729,7 @@ - #ifndef LINK_SSP_SPEC - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ -- "|fstack-protector-strong|fstack-protector-explicit:}" -+ "|fstack-protector-strong|fstack-protector-explicit:-lssp_nonshared}" - #else - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ - "|fstack-protector-strong|fstack-protector-explicit" \ -diff -Nur gcc-5.3.0.orig/gcc/ginclude/stddef.h gcc-5.3.0/gcc/ginclude/stddef.h ---- gcc-5.3.0.orig/gcc/ginclude/stddef.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/gcc/ginclude/stddef.h 2016-05-09 18:32:59.125636929 +0200 -@@ -184,6 +184,7 @@ - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -200,6 +201,7 @@ - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__DragonFly__) \ - || defined(__FreeBSD_kernel__) -@@ -218,6 +220,7 @@ - typedef long ssize_t; - #endif /* __BEOS__ */ - #endif /* !(defined (__GNUG__) && defined (size_t)) */ -+#endif /* __DEFINED_size_t */ - #endif /* __size_t */ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ -diff -Nur gcc-5.3.0.orig/libgcc/unwind-dw2-fde-dip.c gcc-5.3.0/libgcc/unwind-dw2-fde-dip.c ---- gcc-5.3.0.orig/libgcc/unwind-dw2-fde-dip.c 2015-01-27 11:02:26.000000000 +0100 -+++ gcc-5.3.0/libgcc/unwind-dw2-fde-dip.c 2016-05-09 18:32:59.125636929 +0200 -@@ -46,6 +46,10 @@ - #include "unwind-compat.h" - #include "gthr.h" - -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) -+# define USE_PT_GNU_EH_FRAME -+#endif -+ - #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ - && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \ - || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) -diff -Nur gcc-5.3.0.orig/libgomp/config/posix/time.c gcc-5.3.0/libgomp/config/posix/time.c ---- gcc-5.3.0.orig/libgomp/config/posix/time.c 2015-01-10 20:10:37.000000000 +0100 -+++ gcc-5.3.0/libgomp/config/posix/time.c 2016-05-09 18:32:59.125636929 +0200 -@@ -29,6 +29,8 @@ - The following implementation uses the most simple POSIX routines. - If present, POSIX 4 clocks should be used instead. */ - -+#define _POSIX_C_SOURCE 199309L /* for clocks */ -+ - #include "libgomp.h" - #include - #if TIME_WITH_SYS_TIME -diff -Nur gcc-5.3.0.orig/libitm/config/arm/hwcap.cc gcc-5.3.0/libitm/config/arm/hwcap.cc ---- gcc-5.3.0.orig/libitm/config/arm/hwcap.cc 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/libitm/config/arm/hwcap.cc 2016-05-09 18:32:59.125636929 +0200 -@@ -40,7 +40,11 @@ - - #ifdef __linux__ - #include -+#ifdef __GLIBC__ - #include -+#else -+#include -+#endif - #include - - static void __attribute__((constructor)) -diff -Nur gcc-5.3.0.orig/libitm/config/linux/x86/tls.h gcc-5.3.0/libitm/config/linux/x86/tls.h ---- gcc-5.3.0.orig/libitm/config/linux/x86/tls.h 2015-01-05 13:33:28.000000000 +0100 -+++ gcc-5.3.0/libitm/config/linux/x86/tls.h 2016-05-09 18:32:59.125636929 +0200 -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H -diff -Nur gcc-5.3.0.orig/libstdc++-v3/configure.host gcc-5.3.0/libstdc++-v3/configure.host ---- gcc-5.3.0.orig/libstdc++-v3/configure.host 2015-06-24 11:59:28.000000000 +0200 -+++ gcc-5.3.0/libstdc++-v3/configure.host 2016-05-09 18:32:59.125636929 +0200 -@@ -274,6 +274,13 @@ - os_include_dir="os/bsd/freebsd" - ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -+ # check for musl by target -+ case "${host_os}" in -+ *-musl*) -+ os_include_dir="os/generic" -+ ;; -+ *) -+ - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" - elif [ "$bionic" = "yes" ]; then -@@ -282,6 +289,9 @@ - os_include_dir="os/gnu-linux" - fi - ;; -+ -+ esac -+ ;; - hpux*) - os_include_dir="os/hpux" - ;; diff --git a/toolchain/gcc/patches/5.4.0/go-libgcc.patch b/toolchain/gcc/patches/5.4.0/go-libgcc.patch deleted file mode 100644 index 2659b585d..000000000 --- a/toolchain/gcc/patches/5.4.0/go-libgcc.patch +++ /dev/null @@ -1,664 +0,0 @@ -diff -Nur gcc-5.4.0.orig/gotools/Makefile.in gcc-5.4.0/gotools/Makefile.in ---- gcc-5.4.0.orig/gotools/Makefile.in 2015-03-24 20:50:31.000000000 +0100 -+++ gcc-5.4.0/gotools/Makefile.in 2016-09-11 19:42:36.812879672 +0200 -@@ -231,7 +231,7 @@ - @NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET) - GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS) - AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs --GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@ -+GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) -lgcc_s $(AM_LDFLAGS) -o $@ - cmdsrcdir = $(srcdir)/../libgo/go/cmd - go_cmd_go_files = \ - $(cmdsrcdir)/go/build.go \ -diff -Nur gcc-5.4.0.orig/gotools/Makefile.in.orig gcc-5.4.0/gotools/Makefile.in.orig ---- gcc-5.4.0.orig/gotools/Makefile.in.orig 1970-01-01 01:00:00.000000000 +0100 -+++ gcc-5.4.0/gotools/Makefile.in.orig 2015-03-24 20:50:31.000000000 +0100 -@@ -0,0 +1,648 @@ -+# Makefile.in generated by automake 1.11.1 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -+# Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+# Makefile for gotools -+# Copyright 2015 Free Software Foundation, Inc. -+# -+# This file is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program 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 General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; see the file COPYING3. If not see -+# . -+ -+VPATH = @srcdir@ -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkglibexecdir = $(libexecdir)/@PACKAGE@ -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -+install_sh_DATA = $(install_sh) -c -m 644 -+install_sh_PROGRAM = $(install_sh) -c -+install_sh_SCRIPT = $(install_sh) -c -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = $(program_transform_name) -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+build_triplet = @build@ -+host_triplet = @host@ -+target_triplet = @target@ -+subdir = . -+DIST_COMMON = README ChangeLog $(srcdir)/Makefile.in \ -+ $(srcdir)/Makefile.am $(top_srcdir)/configure \ -+ $(am__configure_deps) $(srcdir)/../mkinstalldirs \ -+ $(srcdir)/../depcomp -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ -+ $(top_srcdir)/../config/depstand.m4 \ -+ $(top_srcdir)/../config/lead-dot.m4 \ -+ $(top_srcdir)/../config/override.m4 $(top_srcdir)/config/go.m4 \ -+ $(top_srcdir)/configure.ac -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -+ $(ACLOCAL_M4) -+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ -+ configure.lineno config.status.lineno -+CONFIG_CLEAN_FILES = -+CONFIG_CLEAN_VPATH_FILES = -+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -+cgo_SOURCES = cgo.c -+cgo_OBJECTS = cgo.$(OBJEXT) -+cgo_LDADD = $(LDADD) -+go_SOURCES = go.c -+go_OBJECTS = go.$(OBJEXT) -+go_LDADD = $(LDADD) -+gofmt_SOURCES = gofmt.c -+gofmt_OBJECTS = gofmt.$(OBJEXT) -+gofmt_LDADD = $(LDADD) -+DEFAULT_INCLUDES = -I.@am__isrc@ -+depcomp = $(SHELL) $(top_srcdir)/../depcomp -+am__depfiles_maybe = depfiles -+am__mv = mv -f -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+CCLD = $(CC) -+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+SOURCES = cgo.c go.c gofmt.c -+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -+am__vpath_adj = case $$p in \ -+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ -+ *) f=$$p;; \ -+ esac; -+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -+am__install_max = 40 -+am__nobase_strip_setup = \ -+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -+am__nobase_strip = \ -+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -+am__nobase_list = $(am__nobase_strip_setup); \ -+ for p in $$list; do echo "$$p $$p"; done | \ -+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ -+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ -+ if (++n[$$2] == $(am__install_max)) \ -+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ -+ END { for (dir in files) print dir, files[dir] }' -+am__base_list = \ -+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ -+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -+man1dir = $(mandir)/man1 -+NROFF = nroff -+MANS = $(man_MANS) -+ETAGS = etags -+CTAGS = ctags -+ACLOCAL = @ACLOCAL@ -+AMTAR = @AMTAR@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+CC = @CC@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CPPFLAGS = @CPPFLAGS@ -+CYGPATH_W = @CYGPATH_W@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EXEEXT = @EXEEXT@ -+GOC = @GOC@ -+GOCFLAGS = $(CFLAGS_FOR_TARGET) -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+LDFLAGS = @LDFLAGS@ -+LIBOBJS = @LIBOBJS@ -+LIBS = @LIBS@ -+LTLIBOBJS = @LTLIBOBJS@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ -+NET_LIBS = @NET_LIBS@ -+OBJEXT = @OBJEXT@ -+PACKAGE = @PACKAGE@ -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -+PACKAGE_NAME = @PACKAGE_NAME@ -+PACKAGE_STRING = @PACKAGE_STRING@ -+PACKAGE_TARNAME = @PACKAGE_TARNAME@ -+PACKAGE_URL = @PACKAGE_URL@ -+PACKAGE_VERSION = @PACKAGE_VERSION@ -+PATH_SEPARATOR = @PATH_SEPARATOR@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+VERSION = @VERSION@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ -+ac_ct_CC = @ac_ct_CC@ -+am__include = @am__include@ -+am__leading_dot = @am__leading_dot@ -+am__quote = @am__quote@ -+am__tar = @am__tar@ -+am__untar = @am__untar@ -+bindir = @bindir@ -+build = @build@ -+build_alias = @build_alias@ -+build_cpu = @build_cpu@ -+build_noncanonical = @build_noncanonical@ -+build_os = @build_os@ -+build_vendor = @build_vendor@ -+builddir = @builddir@ -+datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ -+exec_prefix = @exec_prefix@ -+host = @host@ -+host_alias = @host_alias@ -+host_cpu = @host_cpu@ -+host_noncanonical = @host_noncanonical@ -+host_os = @host_os@ -+host_vendor = @host_vendor@ -+htmldir = @htmldir@ -+includedir = @includedir@ -+infodir = @infodir@ -+install_sh = @install_sh@ -+libdir = @libdir@ -+libexecdir = @libexecdir@ -+localedir = @localedir@ -+localstatedir = @localstatedir@ -+mandir = @mandir@ -+mkdir_p = @mkdir_p@ -+oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ -+prefix = @prefix@ -+program_transform_name = @program_transform_name@ -+psdir = @psdir@ -+sbindir = @sbindir@ -+sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ -+sysconfdir = @sysconfdir@ -+target = @target@ -+target_alias = @target_alias@ -+target_cpu = @target_cpu@ -+target_noncanonical = @target_noncanonical@ -+target_os = @target_os@ -+target_vendor = @target_vendor@ -+top_build_prefix = @top_build_prefix@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ -+ACLOCAL_AMFLAGS = -I ./config -I ../config -+gcc_version := $(shell $(GCC_FOR_TARGET) -dumpversion) -+libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) -+mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs -+PWD_COMMAND = $${PWDCMD-pwd} -+STAMP = echo timestamp > -+libgodir = ../$(target_noncanonical)/libgo -+LIBGODEP = $(libgodir)/libgo.la -+@NATIVE_FALSE@GOCOMPILER = $(GOC) -+ -+# Use the compiler we just built. -+@NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET) -+GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS) -+AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs -+GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@ -+cmdsrcdir = $(srcdir)/../libgo/go/cmd -+go_cmd_go_files = \ -+ $(cmdsrcdir)/go/build.go \ -+ $(cmdsrcdir)/go/clean.go \ -+ $(cmdsrcdir)/go/context.go \ -+ $(cmdsrcdir)/go/discovery.go \ -+ $(cmdsrcdir)/go/env.go \ -+ $(cmdsrcdir)/go/fix.go \ -+ $(cmdsrcdir)/go/fmt.go \ -+ $(cmdsrcdir)/go/generate.go \ -+ $(cmdsrcdir)/go/get.go \ -+ $(cmdsrcdir)/go/go11.go \ -+ $(cmdsrcdir)/go/help.go \ -+ $(cmdsrcdir)/go/http.go \ -+ $(cmdsrcdir)/go/list.go \ -+ $(cmdsrcdir)/go/main.go \ -+ $(cmdsrcdir)/go/pkg.go \ -+ $(cmdsrcdir)/go/run.go \ -+ $(cmdsrcdir)/go/signal.go \ -+ $(cmdsrcdir)/go/signal_unix.go \ -+ $(cmdsrcdir)/go/test.go \ -+ $(cmdsrcdir)/go/testflag.go \ -+ $(cmdsrcdir)/go/tool.go \ -+ $(cmdsrcdir)/go/vcs.go \ -+ $(cmdsrcdir)/go/version.go \ -+ $(cmdsrcdir)/go/vet.go \ -+ $(libgodir)/zstdpkglist.go -+ -+go_cmd_gofmt_files = \ -+ $(cmdsrcdir)/gofmt/doc.go \ -+ $(cmdsrcdir)/gofmt/gofmt.go \ -+ $(cmdsrcdir)/gofmt/rewrite.go \ -+ $(cmdsrcdir)/gofmt/simplify.go -+ -+go_cmd_cgo_files = \ -+ $(cmdsrcdir)/cgo/ast.go \ -+ $(cmdsrcdir)/cgo/doc.go \ -+ $(cmdsrcdir)/cgo/gcc.go \ -+ $(cmdsrcdir)/cgo/godefs.go \ -+ $(cmdsrcdir)/cgo/main.go \ -+ $(cmdsrcdir)/cgo/out.go \ -+ $(cmdsrcdir)/cgo/util.go -+ -+GCCGO_INSTALL_NAME := $(shell echo gccgo|sed '$(program_transform_name)') -+GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') -+GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)') -+MOSTLYCLEANFILES = zdefaultcc.go s-zdefaultcc -+ -+# For a native build we build the programs using the newly built libgo -+# and install them as regular programs. -+@NATIVE_TRUE@bin_PROGRAMS = go$(EXEEXT) gofmt$(EXEEXT) -+@NATIVE_TRUE@noinst_PROGRAMS = cgo$(EXEEXT) -+@NATIVE_TRUE@man_MANS = go.1 gofmt.1 -+all: all-am -+ -+.SUFFIXES: -+.SUFFIXES: .c .o .obj -+am--refresh: -+ @: -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -+ @for dep in $?; do \ -+ case '$(am__configure_deps)' in \ -+ *$$dep*) \ -+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ -+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ -+ && exit 0; \ -+ exit 1;; \ -+ esac; \ -+ done; \ -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --foreign Makefile -+.PRECIOUS: Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ @case '$?' in \ -+ *config.status*) \ -+ echo ' $(SHELL) ./config.status'; \ -+ $(SHELL) ./config.status;; \ -+ *) \ -+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ -+ esac; -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ $(SHELL) ./config.status --recheck -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ $(am__cd) $(srcdir) && $(AUTOCONF) -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -+$(am__aclocal_m4_deps): -+install-binPROGRAMS: $(bin_PROGRAMS) -+ @$(NORMAL_INSTALL) -+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" -+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ -+ for p in $$list; do echo "$$p $$p"; done | \ -+ sed 's/$(EXEEXT)$$//' | \ -+ while read p p1; do if test -f $$p; \ -+ then echo "$$p"; echo "$$p"; else :; fi; \ -+ done | \ -+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ -+ sed 'N;N;N;s,\n, ,g' | \ -+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ -+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -+ if ($$2 == $$4) files[d] = files[d] " " $$1; \ -+ else { print "f", $$3 "/" $$4, $$1; } } \ -+ END { for (d in files) print "f", d, files[d] }' | \ -+ while read type dir files; do \ -+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -+ test -z "$$files" || { \ -+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ -+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ -+ } \ -+ ; done -+ -+uninstall-binPROGRAMS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ -+ files=`for p in $$list; do echo "$$p"; done | \ -+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -+ -e 's/$$/$(EXEEXT)/' `; \ -+ test -n "$$list" || exit 0; \ -+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(bindir)" && rm -f $$files -+ -+clean-binPROGRAMS: -+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -+ -+clean-noinstPROGRAMS: -+ -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) -+@NATIVE_FALSE@cgo$(EXEEXT): $(cgo_OBJECTS) $(cgo_DEPENDENCIES) -+@NATIVE_FALSE@ @rm -f cgo$(EXEEXT) -+@NATIVE_FALSE@ $(LINK) $(cgo_OBJECTS) $(cgo_LDADD) $(LIBS) -+@NATIVE_FALSE@go$(EXEEXT): $(go_OBJECTS) $(go_DEPENDENCIES) -+@NATIVE_FALSE@ @rm -f go$(EXEEXT) -+@NATIVE_FALSE@ $(LINK) $(go_OBJECTS) $(go_LDADD) $(LIBS) -+@NATIVE_FALSE@gofmt$(EXEEXT): $(gofmt_OBJECTS) $(gofmt_DEPENDENCIES) -+@NATIVE_FALSE@ @rm -f gofmt$(EXEEXT) -+@NATIVE_FALSE@ $(LINK) $(gofmt_OBJECTS) $(gofmt_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cgo.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/go.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gofmt.Po@am__quote@ -+ -+.c.o: -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(COMPILE) -c $< -+ -+.c.obj: -+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` -+install-man1: $(man_MANS) -+ @$(NORMAL_INSTALL) -+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" -+ @list=''; test -n "$(man1dir)" || exit 0; \ -+ { for i in $$list; do echo "$$i"; done; \ -+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ -+ sed -n '/\.1[a-z]*$$/p'; \ -+ } | while read p; do \ -+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ -+ echo "$$d$$p"; echo "$$p"; \ -+ done | \ -+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ -+ sed 'N;N;s,\n, ,g' | { \ -+ list=; while read file base inst; do \ -+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ -+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ -+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ -+ fi; \ -+ done; \ -+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ -+ while read files; do \ -+ test -z "$$files" || { \ -+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ -+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ -+ done; } -+ -+uninstall-man1: -+ @$(NORMAL_UNINSTALL) -+ @list=''; test -n "$(man1dir)" || exit 0; \ -+ files=`{ for i in $$list; do echo "$$i"; done; \ -+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ -+ sed -n '/\.1[a-z]*$$/p'; \ -+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ -+ test -z "$$files" || { \ -+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ mkid -fID $$unique -+tags: TAGS -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ set x; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ shift; \ -+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ -+ test -n "$$unique" || unique=$$empty_fix; \ -+ if test $$# -gt 0; then \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ "$$@" $$unique; \ -+ else \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$unique; \ -+ fi; \ -+ fi -+ctags: CTAGS -+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ test -z "$(CTAGS_ARGS)$$unique" \ -+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -+ $$unique -+ -+GTAGS: -+ here=`$(am__cd) $(top_builddir) && pwd` \ -+ && $(am__cd) $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) "$$here" -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -+check-am: all-am -+check: check-am -+all-am: Makefile $(PROGRAMS) $(MANS) -+installdirs: -+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -+ done -+install: install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) -+ -+clean-generic: -+ -+distclean-generic: -+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+@NATIVE_FALSE@uninstall-local: -+@NATIVE_FALSE@install-exec-local: -+clean: clean-am -+ -+clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ -+ mostlyclean-am -+ -+distclean: distclean-am -+ -rm -f $(am__CONFIG_DISTCLEAN_FILES) -+ -rm -rf ./$(DEPDIR) -+ -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-