[gcc-7] 315/354: * Update to SVN 20171010 (r253580) from the gcc-7-branch. * Fix build dependency on realpath. Closes: #877821.

Ximin Luo infinity0 at debian.org
Thu Nov 23 15:51:31 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository gcc-7.

commit 496dc30f6d9b6209e8bbab818ef671063af72676
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Tue Oct 10 10:37:14 2017 +0000

      * Update to SVN 20171010 (r253580) from the gcc-7-branch.
      * Fix build dependency on realpath. Closes: #877821.
    
    
    
    git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9737 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/changelog                |   11 +-
 debian/control                  |    4 +-
 debian/control.m4               |    6 +-
 debian/patches/svn-updates.diff | 1085 ++++++++++++++++++++++++++++++++++++++-
 4 files changed, 1074 insertions(+), 32 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 1032fdb..fd408bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,15 @@
 gcc-7 (7.2.0-9) UNRELEASED; urgency=medium
 
-  * Update to SVN 20171004 (r253388) from the gcc-7-branch.
-    - Fix PR fortran/80118, PR tree-optimization/82337.
+  * Update to SVN 20171010 (r253580) from the gcc-7-branch.
+    - Fix PR fortran/80118, PR tree-optimization/82337, PR sanitizer/82379,
+      PR target/71727 (AArch64), PR c++/82406, PR c++/70029, PR c++/82299,
+      PR c++/82406, PR c++/70029, PR c++/81525, PR ada/82393.
+    - libgo: use golang arch names as the default GOARCHs on MIPS.
+      Closes: #876639.
   * Fix builds without hppa64 cross compiler and new debhelper. Closes: #877589.
+  * Fix build dependency on realpath. Closes: #877821.
 
- -- Matthias Klose <doko at debian.org>  Wed, 04 Oct 2017 01:46:43 +0200
+ -- Matthias Klose <doko at debian.org>  Tue, 10 Oct 2017 12:35:39 +0200
 
 gcc-7 (7.2.0-8) unstable; urgency=medium
 
diff --git a/debian/control b/debian/control
index f8585d7..85a3c57 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: devel
 Priority: optional
 Maintainer: Debian GCC Maintainers <debian-gcc at lists.debian.org>
 Uploaders: Matthias Klose <doko at debian.org>
-Standards-Version: 4.1.0
+Standards-Version: 4.1.1
 Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), 
   g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32] <!cross>, 
   libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mi [...]
@@ -18,7 +18,7 @@ Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14),
   texinfo (>= 4.3), locales, sharutils, 
   procps, gnat-7:native [!m32r !sh3 !sh3eb !sh4eb !m68k], g++-7:native, netbase, 
   libisl-dev (>= 0.14), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), lib32z1-dev [amd64 kfreebsd-amd64], lib64z1-dev [i386], 
-  dejagnu [!m68k !hurd-amd64 !hurd-i386 !hurd-alpha !kfreebsd-amd64 !kfreebsd-i386 !kfreebsd-alpha], realpath (>= 1.9.12), chrpath, lsb-release, quilt, 
+  dejagnu [!m68k !hurd-amd64 !hurd-i386 !hurd-alpha !kfreebsd-amd64 !kfreebsd-i386 !kfreebsd-alpha], coreutils (>= 2.26) | realpath (>= 1.9.12), chrpath, lsb-release, quilt, 
   pkg-config, libgc-dev, 
    g++-7-alpha-linux-gnu [alpha] <cross>, gobjc-7-alpha-linux-gnu [alpha] <cross>, gfortran-7-alpha-linux-gnu [alpha] <cross>, gdc-7-alpha-linux-gnu [alpha] <cross>, gccgo-7-alpha-linux-gnu [alpha] <cross>, gnat-7-alpha-linux-gnu [alpha] <cross>, g++-7-x86-64-linux-gnu [amd64] <cross>, gobjc-7-x86-64-linux-gnu [amd64] <cross>, gfortran-7-x86-64-linux-gnu [amd64] <cross>, gdc-7-x86-64-linux-gnu [amd64] <cross>, gccgo-7-x86-64-linux-gnu [amd64] <cross>, gnat-7-x86-64-linux-gnu [amd64] <cro [...]
 Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), ghostscript, texlive-latex-base, xsltproc, libxml2-utils, docbook-xsl-ns
diff --git a/debian/control.m4 b/debian/control.m4
index 6180846..e7d025a 100644
--- a/debian/control.m4
+++ b/debian/control.m4
@@ -56,7 +56,7 @@ Uploaders: Iain Buclaw <ibuclaw at ubuntu.com>, Matthias Klose <doko at debian.org>
 ', `dnl
 Uploaders: Matthias Klose <doko at debian.org>
 ')dnl SRCNAME
-Standards-Version: 4.1.0
+Standards-Version: 4.1.1
 ifdef(`TARGET',`dnl cross
 Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP
   LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP
@@ -67,7 +67,7 @@ Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP
   autogen <!nocheck>, zlib1g-dev, gawk, lzma, xz-utils, patchutils,
   pkg-config, libgc-dev,
   zlib1g-dev, SDT_BUILD_DEP
-  bison (>= 1:2.3), flex, realpath (>= 1.9.12), lsb-release, quilt
+  bison (>= 1:2.3), flex, coreutils (>= 2.26) | realpath (>= 1.9.12), lsb-release, quilt
 ',`dnl native
 Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP
   GCC_MULTILIB_BUILD_DEP
@@ -83,7 +83,7 @@ Build-Depends: DEBHELPER_BUILD_DEP DPKG_BUILD_DEP
   texinfo (>= 4.3), locales, sharutils,
   procps, FORTRAN_BUILD_DEP GNAT_BUILD_DEP GO_BUILD_DEP GDC_BUILD_DEP
   ISL_BUILD_DEP MPC_BUILD_DEP MPFR_BUILD_DEP GMP_BUILD_DEP PHOBOS_BUILD_DEP
-  CHECK_BUILD_DEP realpath (>= 1.9.12), chrpath, lsb-release, quilt,
+  CHECK_BUILD_DEP coreutils (>= 2.26) | realpath (>= 1.9.12), chrpath, lsb-release, quilt,
   pkg-config, libgc-dev,
   TARGET_TOOL_BUILD_DEP
 Build-Depends-Indep: LIBSTDCXX_BUILD_INDEP
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 78fd37e..a0fc1c2 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 7 branch upto 20171004 (r253388).
+# DP: updates from the 7 branch upto 20171010 (r253580).
 
 last_update()
 {
 	cat > ${dir}LAST_UPDATED <EOF
-Wed Oct  4 00:32:42 CEST 2017
-Tue Oct  3 22:32:42 UTC 2017 (revision 253388)
+Tue Oct 10 12:18:42 CEST 2017
+Tue Oct 10 10:18:42 UTC 2017 (revision 253580)
 EOF
 }
 
@@ -218,7 +218,16 @@ Index: libsanitizer/ChangeLog
 ===================================================================
 --- a/src/libsanitizer/ChangeLog	(.../tags/gcc_7_2_0_release)
 +++ b/src/libsanitizer/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,10 @@
+@@ -1,3 +1,19 @@
++2017-10-05  H.J. Lu  <hongjiu.lu at intel.com>
++
++	Backported from mainline
++	2017-10-05  H.J. Lu  <hongjiu.lu at intel.com>
++
++	PR sanitizer/82379
++	* configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Set
++	to sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC.
++
 +2017-09-07  Jakub Jelinek  <jakub at redhat.com>
 +
 +	Backported from mainline
@@ -229,6 +238,19 @@ Index: libsanitizer/ChangeLog
  2017-08-14  Release Manager
  
  	* GCC 7.2.0 released.
+Index: libsanitizer/configure.tgt
+===================================================================
+--- a/src/libsanitizer/configure.tgt	(.../tags/gcc_7_2_0_release)
++++ b/src/libsanitizer/configure.tgt	(.../branches/gcc-7-branch)
+@@ -27,6 +27,8 @@
+ 		TSAN_SUPPORTED=yes
+ 		LSAN_SUPPORTED=yes
+ 		TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_amd64.lo
++	fi
++	if echo "int x = __x86_64__;" | $CC -c -x c -o /dev/null - > /dev/null 2>&1; then
+ 		SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS=sanitizer_linux_x86_64.lo
+ 	fi
+ 	;;
 Index: libstdc++-v3/doc/xml/manual/status_cxx2017.xml
 ===================================================================
 --- a/src/libstdc++-v3/doc/xml/manual/status_cxx2017.xml	(.../tags/gcc_7_2_0_release)
@@ -6694,12 +6716,45 @@ Index: gcc/DATESTAMP
 +++ b/src/gcc/DATESTAMP	(.../branches/gcc-7-branch)
 @@ -1 +1 @@
 -20170814
-+20171003
++20171010
 Index: gcc/tree.c
 ===================================================================
 --- a/src/gcc/tree.c	(.../tags/gcc_7_2_0_release)
 +++ b/src/gcc/tree.c	(.../branches/gcc-7-branch)
-@@ -13219,18 +13219,26 @@
+@@ -4810,8 +4810,9 @@
+    Record such modified types already made so we don't make duplicates.  */
+ 
+ tree
+-build_type_attribute_qual_variant (tree ttype, tree attribute, int quals)
++build_type_attribute_qual_variant (tree otype, tree attribute, int quals)
+ {
++  tree ttype = otype;
+   if (! attribute_list_equal (TYPE_ATTRIBUTES (ttype), attribute))
+     {
+       inchash::hash hstate;
+@@ -4838,6 +4839,11 @@
+ 	}
+ 
+       ttype = build_qualified_type (ttype, TYPE_UNQUALIFIED);
++      if (lang_hooks.types.copy_lang_qualifiers
++	  && otype != TYPE_MAIN_VARIANT (otype))
++	ttype = (lang_hooks.types.copy_lang_qualifiers
++		 (ttype, TYPE_MAIN_VARIANT (otype)));
++
+       ntype = build_distinct_type_copy (ttype);
+ 
+       TYPE_ATTRIBUTES (ntype) = attribute;
+@@ -4884,6 +4890,9 @@
+ 	TYPE_CANONICAL (ntype) = TYPE_CANONICAL (ttype);
+ 
+       ttype = build_qualified_type (ntype, quals);
++      if (lang_hooks.types.copy_lang_qualifiers
++	  && otype != TYPE_MAIN_VARIANT (otype))
++	ttype = lang_hooks.types.copy_lang_qualifiers (ttype, otype);
+     }
+   else if (TYPE_QUALS (ttype) != quals)
+     ttype = build_qualified_type (ttype, quals);
+@@ -13219,18 +13228,26 @@
    return NULL_TREE;
  }
  
@@ -6735,7 +6790,7 @@ Index: gcc/tree.c
      return false;
  
    while (handled_component_p (ref))
-@@ -13238,19 +13246,42 @@
+@@ -13238,19 +13255,42 @@
        /* If the reference chain contains a component reference to a
           non-union type and there follows another field the reference
  	 is not at the end of a structure.  */
@@ -7111,7 +7166,29 @@ Index: gcc/ChangeLog
 ===================================================================
 --- a/src/gcc/ChangeLog	(.../tags/gcc_7_2_0_release)
 +++ b/src/gcc/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,597 @@
+@@ -1,3 +1,619 @@
++2017-10-06  Christophe Lyon  <christophe.lyon at linaro.org>
++
++	Backport from mainline r253242.
++	2017-09-27  Christophe Lyon  <christophe.lyon at linaro.org>
++
++	PR target/71727
++	* config/aarch64/aarch64.c
++	(aarch64_builtin_support_vector_misalignment): Always return false
++	when misalignment is unknown.
++
++2017-10-04  Jason Merrill  <jason at redhat.com>
++
++	PR c++/82406 - C++ error with noexcept function type
++	PR c++/70029 - ICE with ref-qualifier and -flto
++	* langhooks.h (struct lang_hooks_for_types): Add
++	copy_lang_qualifiers.
++	* attribs.c (build_type_attribute_qual_variant): Use it.
++	* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
++	NULL.
++	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
++	* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
++
 +2017-10-02  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
 +
 +	Backport from mainline
@@ -8469,6 +8546,27 @@ Index: gcc/testsuite/gcc.target/arm/lto/pr65837_0.c
  
  #include "arm_neon.h"
  
+Index: gcc/testsuite/gcc.target/aarch64/pr71727-2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/aarch64/pr71727-2.c	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/gcc.target/aarch64/pr71727-2.c	(.../branches/gcc-7-branch)
+@@ -0,0 +1,16 @@
++/* { dg-do compile } */
++/* { dg-options "-mstrict-align -O3" } */
++
++unsigned char foo(const unsigned char *buffer, unsigned int length)
++{
++  unsigned char sum;
++  unsigned int  count;
++
++  for (sum = 0, count = 0; count < length; count++) {
++    sum = (unsigned char) (sum + *(buffer + count));
++  }
++
++  return sum;
++}
++
++/* { dg-final { scan-assembler-times "and\tw\[0-9\]+, w\[0-9\]+, 15" 1 } } */
 Index: gcc/testsuite/gcc.target/i386/pr81921.c
 ===================================================================
 --- a/src/gcc/testsuite/gcc.target/i386/pr81921.c	(.../tags/gcc_7_2_0_release)
@@ -8709,6 +8807,47 @@ Index: gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c
  }
  
  int prebuf[100];
+Index: gcc/testsuite/go.test/go-test.exp
+===================================================================
+--- a/src/gcc/testsuite/go.test/go-test.exp	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/go.test/go-test.exp	(.../branches/gcc-7-branch)
+@@ -213,29 +213,27 @@
+ 		#error FOO
+ 		#endif
+ 	    }] {
+-		set goarch "mipso32"
++		set goarch "mips"
+ 	    } elseif [check_no_compiler_messages mipsn32 assembly {
+ 		#if _MIPS_SIM != _ABIN32
+ 		#error FOO
+ 		#endif
+ 	    }] {
+-		set goarch "mipsn32"
++		set goarch "mips64p32"
+ 	    } elseif [check_no_compiler_messages mipsn64 assembly {
+ 		#if _MIPS_SIM != _ABI64
+ 		#error FOO
+ 		#endif
+ 	    }] {
+-		set goarch "mipsn64"
+-	    } elseif [check_no_compiler_messages mipso64 assembly {
+-		#if _MIPS_SIM != _ABIO64
+-		#error FOO
+-		#endif
+-	    }] {
+-		set goarch "mipso64"
++		set goarch "mips64"
+ 	    } else {
+ 		perror "$target_triplet: unrecognized MIPS ABI"
+ 		return ""
+ 	    }
++
++	    if [istarget "mips*el-*-*"] {
++		append goarch "le"
++	    }
+ 	}
+ 	"powerpc*-*-*" {
+ 	    if [check_effective_target_ilp32] {
 Index: gcc/testsuite/lib/target-supports.exp
 ===================================================================
 --- a/src/gcc/testsuite/lib/target-supports.exp	(.../tags/gcc_7_2_0_release)
@@ -10059,7 +10198,24 @@ Index: gcc/testsuite/ChangeLog
 ===================================================================
 --- a/src/gcc/testsuite/ChangeLog	(.../tags/gcc_7_2_0_release)
 +++ b/src/gcc/testsuite/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,442 @@
+@@ -1,3 +1,459 @@
++2017-10-09  James Cowgill  <James.Cowgill at imgtec.com>
++
++	* go.test/go-test.exp (go-set-goarch): Update MIPS architecture names.
++
++2017-10-06  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c++/82299
++	* g++.dg/cpp0x/pr82299.C: New test.
++
++2017-10-06  Christophe Lyon  <christophe.lyon at linaro.org>
++
++	Backport from mainline r253251.
++	2017-09-27  Christophe Lyon  <christophe.lyon at linaro.org>
++
++	PR target/71727
++	* gcc.target/aarch64/pr71727-2.c: New test.
++
 +2017-10-03  Thomas Koenig  <tkoenig at gcc.gnu.org>
 +	    Steven G. Kargl  <kargl at gcc.gnu.org>
 +
@@ -10587,6 +10743,20 @@ Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C
 +  auto f = a([](int) {}, [](float) {});
 +  f({});
 +}
+Index: gcc/testsuite/g++.dg/cpp0x/pr82299.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/pr82299.C	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr82299.C	(.../branches/gcc-7-branch)
+@@ -0,0 +1,9 @@
++// PR c++/82299
++// { dg-do compile { target c++11 } }
++// { dg-options "-Wuseless-cast" }
++
++enum Enum : char { A = 0, B = 1 };
++
++struct S {
++  Enum e { Enum::A };	// { dg-bogus "useless cast to type" }
++};
 Index: gcc/testsuite/g++.dg/cpp0x/pr81325.C
 ===================================================================
 --- a/src/gcc/testsuite/g++.dg/cpp0x/pr81325.C	(.../tags/gcc_7_2_0_release)
@@ -10906,6 +11076,30 @@ Index: gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C
  //  C++14 features allowed in C++11 in non-ANSI modes:
  
  #ifndef __cpp_binary_literals
+Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-auto1.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-auto1.C	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-auto1.C	(.../branches/gcc-7-branch)
+@@ -0,0 +1,19 @@
++// Related to c++/81525
++// { dg-do compile { target c++14 } }
++
++template <class X>
++struct A
++{
++  template <class T>
++  static void f()
++  {
++    [](auto b) {
++      auto c = +b;
++    }(42);
++  }
++};
++
++int main()
++{
++  A<int>::f<int>();
++}
 Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1.C
 ===================================================================
 --- a/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1.C	(.../tags/gcc_7_2_0_release)
@@ -11119,6 +11313,25 @@ Index: gcc/testsuite/g++.dg/cpp1z/lambda-inherit1.C
 +        [](auto x) { x.bar(); }
 +    }(a{});
 +}
+Index: gcc/testsuite/g++.dg/ext/attrib54.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/ext/attrib54.C	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/g++.dg/ext/attrib54.C	(.../branches/gcc-7-branch)
+@@ -0,0 +1,14 @@
++// PR c++/82406
++
++class a
++{
++public:
++  template <typename b> void operator() (const b &);
++};
++void c () throw () __attribute__ ((__nonnull__));
++void
++d ()
++{
++  a e;
++  e (c);
++}
 Index: gcc/testsuite/g++.dg/ext/altivec-18.C
 ===================================================================
 --- a/src/gcc/testsuite/g++.dg/ext/altivec-18.C	(.../tags/gcc_7_2_0_release)
@@ -11138,6 +11351,28 @@ Index: gcc/testsuite/g++.dg/ext/altivec-18.C
 +{
 +  vec_ld (0, c);
 +}
+Index: gcc/testsuite/g++.dg/ext/varargs2.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/ext/varargs2.C	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/g++.dg/ext/varargs2.C	(.../branches/gcc-7-branch)
+@@ -0,0 +1,17 @@
++// { dg-do run }
++
++int c;
++struct X { X() {}; X(const X&) { ++c; } };
++void Foo (X, ...) {}
++void bin (X &p)
++{
++  Foo (p, p);
++}
++
++int main()
++{
++  X x;
++  bin(x);
++  if (c != 2)
++    __builtin_abort();
++}
 Index: gcc/testsuite/g++.dg/pr80287.C
 ===================================================================
 --- a/src/gcc/testsuite/g++.dg/pr80287.C	(.../tags/gcc_7_2_0_release)
@@ -11170,6 +11405,21 @@ Index: gcc/testsuite/g++.dg/other/bitfield6.C
 +} d;
 +
 +char f = (903092 ? int(d.c) : 0) << a;
+Index: gcc/testsuite/g++.dg/lto/pr70029_0.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/lto/pr70029_0.C	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/testsuite/g++.dg/lto/pr70029_0.C	(.../branches/gcc-7-branch)
+@@ -0,0 +1,10 @@
++// PR c++/70029
++// { dg-lto-do assemble }
++
++struct A
++{
++  A();
++  int foo() && __attribute__ ((__warn_unused_result__)) { return 0; }
++};
++
++A a;
 Index: gcc/testsuite/g++.dg/warn/Wbool-operation-1.C
 ===================================================================
 --- a/src/gcc/testsuite/g++.dg/warn/Wbool-operation-1.C	(.../tags/gcc_7_2_0_release)
@@ -11318,6 +11568,18 @@ Index: gcc/cp/typeck.c
  	      && warning_at (location, OPT_Wbool_operation,
  			     "%<~%> on an expression of type bool"))
  	    inform (location, "did you mean to use logical not (%<!%>)?");
+@@ -8413,7 +8414,10 @@
+     {
+       tree elt = CONSTRUCTOR_ELT (rhs, 0)->value;
+       if (check_narrowing (ENUM_UNDERLYING_TYPE (type), elt, complain))
+-	rhs = cp_build_c_cast (type, elt, complain);
++	{
++	  warning_sentinel w (warn_useless_cast);
++	  rhs = cp_build_c_cast (type, elt, complain);
++	}
+       else
+ 	rhs = error_mark_node;
+     }
 Index: gcc/cp/decl.c
 ===================================================================
 --- a/src/gcc/cp/decl.c	(.../tags/gcc_7_2_0_release)
@@ -11336,6 +11598,18 @@ Index: gcc/cp/decl.c
  	  cp_function_chain->invalid_constexpr = true;
  	}
  
+@@ -6099,7 +6100,10 @@
+     {
+       tree elt = CONSTRUCTOR_ELT (init, 0)->value;
+       if (check_narrowing (ENUM_UNDERLYING_TYPE (type), elt, complain))
+-	return cp_build_c_cast (type, elt, tf_warning_or_error);
++	{
++	  warning_sentinel w (warn_useless_cast);
++	  return cp_build_c_cast (type, elt, tf_warning_or_error);
++	}
+       else
+ 	return error_mark_node;
+     }
 Index: gcc/cp/tree.c
 ===================================================================
 --- a/src/gcc/cp/tree.c	(.../tags/gcc_7_2_0_release)
@@ -11383,11 +11657,55 @@ Index: gcc/cp/tree.c
    if (seen_p)
      *seen_p = data.seen;
    return exp;
+@@ -4217,6 +4218,21 @@
+ 			    TYPE_RAISES_EXCEPTIONS (typeb), ce_exact);
+ }
+ 
++/* Copy the language-specific type variant modifiers from TYPEB to TYPEA.  For
++   C++, these are the exception-specifier and ref-qualifier.  */
++
++tree
++cxx_copy_lang_qualifiers (const_tree typea, const_tree typeb)
++{
++  tree type = CONST_CAST_TREE (typea);
++  if (TREE_CODE (type) == FUNCTION_TYPE || TREE_CODE (type) == METHOD_TYPE)
++    {
++      type = build_exception_variant (type, TYPE_RAISES_EXCEPTIONS (typeb));
++      type = build_ref_qualified_type (type, type_memfn_rqual (typeb));
++    }
++  return type;
++}
++
+ /* Apply FUNC to all language-specific sub-trees of TP in a pre-order
+    traversal.  Called from walk_tree.  */
+ 
 Index: gcc/cp/ChangeLog
 ===================================================================
 --- a/src/gcc/cp/ChangeLog	(.../tags/gcc_7_2_0_release)
 +++ b/src/gcc/cp/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,76 @@
+@@ -1,3 +1,98 @@
++2017-10-06  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c++/82299
++	* decl.c (reshape_init): Suppress warn_useless_cast for direct enum
++	init.
++	* typeck.c (convert_for_assignment): Likewise.
++
++2017-10-05  Jason Merrill  <jason at redhat.com>
++
++	* call.c (convert_arg_to_ellipsis): Use the result of force_rvalue.
++
++2017-10-04  Jason Merrill  <jason at redhat.com>
++
++	PR c++/82406 - C++ error with noexcept function type
++	PR c++/70029 - ICE with ref-qualifier and -flto
++	* tree.c (cxx_copy_lang_qualifiers): New.
++	* cp-tree.h: Declare it.
++	* cp-objcp-common.h: Define LANG_HOOKS_COPY_LANG_QUALIFIERS.
++
++	PR c++/81525 - broken handling of auto in generic lambda.
++	* pt.c (tsubst_decl) [VAR_DECL]: Use strip_innermost_template_args.
++
 +2017-09-22  Eric Botcazou  <ebotcazou at adacore.com>
 +
 +	PR bootstrap/81926
@@ -11464,7 +11782,7 @@ Index: gcc/cp/ChangeLog
  2017-08-14  Release Manager
  
  	* GCC 7.2.0 released.
-@@ -4,8 +77,8 @@
+@@ -4,8 +99,8 @@
  
  2017-08-09  Leonid Koppel  <lkoppel at uwaterloo.ca>
  
@@ -11523,23 +11841,26 @@ Index: gcc/cp/pt.c
  	{
  	  if (complain & tf_error)
  	    error ("%qE is not a valid template argument for type %qT "
-@@ -12896,7 +12896,15 @@
+@@ -12896,7 +12896,17 @@
  		&& VAR_HAD_UNKNOWN_BOUND (t)
  		&& type != error_mark_node)
  	      type = strip_array_domain (type);
-+	    tree auto_node = type_uses_auto (type);
-+	    int len = TREE_VEC_LENGTH (args);
-+	    if (auto_node)
-+	      /* Mask off any template args past the variable's context so we
-+		 don't replace the auto with an unrelated argument.  */
-+	      TREE_VEC_LENGTH (args) = TEMPLATE_TYPE_LEVEL (auto_node) - 1;
- 	    type = tsubst (type, args, complain, in_decl);
-+	    if (auto_node)
-+	      TREE_VEC_LENGTH (args) = len;
+-	    type = tsubst (type, args, complain, in_decl);
++	    tree sub_args = args;
++	    if (tree auto_node = type_uses_auto (type))
++	      {
++		/* Mask off any template args past the variable's context so we
++		   don't replace the auto with an unrelated argument.  */
++		int nouter = TEMPLATE_TYPE_LEVEL (auto_node) - 1;
++		int extra = TMPL_ARGS_DEPTH (args) - nouter;
++		if (extra > 0)
++		  sub_args = strip_innermost_template_args (args, extra);
++	      }
++	    type = tsubst (type, sub_args, complain, in_decl);
  	  }
  	if (VAR_P (r))
  	  {
-@@ -14687,6 +14695,10 @@
+@@ -14687,6 +14697,10 @@
  			DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (r)
  			  = TREE_CONSTANT (r) = true;
  		      DECL_INITIAL (r) = init;
@@ -11638,7 +11959,49 @@ Index: gcc/cp/call.c
  	tree convfn = cand->fn;
  
  	/* When converting from an init list we consider explicit
-@@ -9128,7 +9137,9 @@
+@@ -7117,13 +7126,9 @@
+       /* In a template (or ill-formed code), we can have an incomplete type
+ 	 even after require_complete_type_sfinae, in which case we don't know
+ 	 whether it has trivial copy or not.  */
+-      && COMPLETE_TYPE_P (arg_type))
++      && COMPLETE_TYPE_P (arg_type)
++      && !cp_unevaluated_operand)
+     {
+-      /* Build up a real lvalue-to-rvalue conversion in case the
+-	 copy constructor is trivial but not callable.  */
+-      if (!cp_unevaluated_operand && CLASS_TYPE_P (arg_type))
+-	force_rvalue (arg, complain);
+-
+       /* [expr.call] 5.2.2/7:
+ 	 Passing a potentially-evaluated argument of class type (Clause 9)
+ 	 with a non-trivial copy constructor or a non-trivial destructor
+@@ -7135,10 +7140,10 @@
+ 
+ 	 If the call appears in the context of a sizeof expression,
+ 	 it is not potentially-evaluated.  */
+-      if (cp_unevaluated_operand == 0
+-	  && (type_has_nontrivial_copy_init (arg_type)
+-	      || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (arg_type)))
++      if (type_has_nontrivial_copy_init (arg_type)
++	  || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (arg_type))
+ 	{
++	  arg = force_rvalue (arg, complain);
+ 	  if (complain & tf_warning)
+ 	    warning (OPT_Wconditionally_supported,
+ 		     "passing objects of non-trivially-copyable "
+@@ -7146,6 +7151,11 @@
+ 		     arg_type);
+ 	  return cp_build_addr_expr (arg, complain);
+ 	}
++      /* Build up a real lvalue-to-rvalue conversion in case the
++	 copy constructor is trivial but not callable.  */
++      else if (CLASS_TYPE_P (arg_type))
++	force_rvalue (arg, complain);
++
+     }
+ 
+   return arg;
+@@ -9128,7 +9138,9 @@
  	return 0;
        else if (t1->kind == ck_user)
  	{
@@ -11713,6 +12076,19 @@ Index: gcc/cp/cp-objcp-common.c
    return NULL_TREE;
  }
  
+Index: gcc/cp/cp-objcp-common.h
+===================================================================
+--- a/src/gcc/cp/cp-objcp-common.h	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/cp/cp-objcp-common.h	(.../branches/gcc-7-branch)
+@@ -94,6 +94,8 @@
+ #define LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE cxx_builtin_function_ext_scope
+ #undef	LANG_HOOKS_TYPE_HASH_EQ
+ #define LANG_HOOKS_TYPE_HASH_EQ	cxx_type_hash_eq
++#undef	LANG_HOOKS_COPY_LANG_QUALIFIERS
++#define LANG_HOOKS_COPY_LANG_QUALIFIERS	cxx_copy_lang_qualifiers
+ #undef LANG_HOOKS_MISSING_NORETURN_OK_P
+ #define LANG_HOOKS_MISSING_NORETURN_OK_P cp_missing_noreturn_ok_p
+ #undef LANG_HOOKS_BLOCK_MAY_FALLTHRU
 Index: gcc/cp/cp-tree.h
 ===================================================================
 --- a/src/gcc/cp/cp-tree.h	(.../tags/gcc_7_2_0_release)
@@ -11726,6 +12102,14 @@ Index: gcc/cp/cp-tree.h
  extern void inject_this_parameter (tree, cp_cv_quals);
  
  /* in pt.c */
+@@ -6703,6 +6703,7 @@
+ extern tree cp_save_expr			(tree);
+ extern bool cast_valid_in_integral_constant_expression_p (tree);
+ extern bool cxx_type_hash_eq			(const_tree, const_tree);
++extern tree cxx_copy_lang_qualifiers		(const_tree, const_tree);
+ 
+ extern void cxx_print_statistics		(void);
+ extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t);
 Index: gcc/omp-expand.c
 ===================================================================
 --- a/src/gcc/omp-expand.c	(.../tags/gcc_7_2_0_release)
@@ -12252,6 +12636,46 @@ Index: gcc/opts.h
  extern void finish_options (struct gcc_options *opts,
  			    struct gcc_options *opts_set,
  			    location_t loc);
+Index: gcc/ada/sysdep.c
+===================================================================
+--- a/src/gcc/ada/sysdep.c	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/ada/sysdep.c	(.../branches/gcc-7-branch)
+@@ -126,7 +126,7 @@
+ 
+ */
+ 
+-#if defined (WINNT) || defined (__CYGWIN__) || defined(__DJGPP__)
++#if defined (WINNT) || defined (__CYGWIN__) || defined (__DJGPP__)
+ 
+ const char __gnat_text_translation_required = 1;
+ 
+@@ -137,7 +137,7 @@
+ #define WIN_SETMODE _setmode
+ #endif
+ 
+-#if defined(__DJGPP__)
++#if defined (__DJGPP__)
+ #include <io.h>
+ #define _setmode setmode
+ #endif /* __DJGPP__ */
+@@ -154,7 +154,7 @@
+   WIN_SETMODE (handle, O_TEXT);
+ }
+ 
+-#ifdef __DJGPP__
++#if defined (__CYGWIN__) || defined (__DJGPP__)
+ void
+ __gnat_set_mode (int handle, int mode)
+ {
+@@ -826,7 +826,7 @@
+ 
+ #elif defined (__APPLE__) || defined (__FreeBSD__) || defined (__linux__) \
+   || defined (__GLIBC__) || defined (__DragonFly__) || defined (__OpenBSD__) \
+-  || defined(__DJGPP__)
++  || defined (__DJGPP__)
+ {
+   localtime_r (timer, &tp);
+   *off = tp.tm_gmtoff;
 Index: gcc/ada/sem_ch3.adb
 ===================================================================
 --- a/src/gcc/ada/sem_ch3.adb	(.../tags/gcc_7_2_0_release)
@@ -12311,11 +12735,38 @@ Index: gcc/ada/sem_util.ads
     procedure Set_Scope_Is_Transient (V : Boolean := True);
     --  Set the flag Is_Transient of the current scope
  
+Index: gcc/ada/mingw32.h
+===================================================================
+--- a/src/gcc/ada/mingw32.h	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/ada/mingw32.h	(.../branches/gcc-7-branch)
+@@ -59,16 +59,6 @@
+ #endif
+ #include <windows.h>
+ 
+-#ifndef _O_U8TEXT
+-#define _O_U8TEXT _O_TEXT
+-#endif
+-#ifndef _O_U16TEXT
+-#define _O_U16TEXT _O_TEXT
+-#endif
+-#ifndef _O_WTEXT
+-#define _O_WTEXT _O_TEXT
+-#endif
+-
+ /* After including this file it is possible to use the character t as prefix
+    to routines. If GNAT_UNICODE_SUPPORT is defined then the unicode enabled
+    versions will be used.  */
 Index: gcc/ada/ChangeLog
 ===================================================================
 --- a/src/gcc/ada/ChangeLog	(.../tags/gcc_7_2_0_release)
 +++ b/src/gcc/ada/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,58 @@
+@@ -1,3 +1,64 @@
++2017-10-05  Eric Botcazou  <ebotcazou at adacore.com>
++
++	PR ada/82393
++	* mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete.
++	* sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin.
++
 +2017-09-15  Martin Liska  <mliska at suse.cz>
 +
 +	Backport from mainline
@@ -13189,6 +13640,21 @@ Index: gcc/fortran/trans-io.c
  
    if (ts->type == BT_CLASS)
      derived = ts->u.derived->components->ts.u.derived;
+Index: gcc/langhooks.h
+===================================================================
+--- a/src/gcc/langhooks.h	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/langhooks.h	(.../branches/gcc-7-branch)
+@@ -123,6 +123,10 @@
+      FUNCTION_TYPE or METHOD_TYPE.  */
+   bool (*type_hash_eq) (const_tree, const_tree);
+ 
++  /* If non-NULL, return TYPE1 with any language-specific modifiers copied from
++     TYPE2.  */
++  tree (*copy_lang_qualifiers) (const_tree, const_tree);
++
+   /* Return TRUE if TYPE uses a hidden descriptor and fills in information
+      for the debugger about the array bounds, strides, etc.  */
+   bool (*get_array_descr_info) (const_tree, struct array_descr_info *);
 Index: gcc/tree-if-conv.c
 ===================================================================
 --- a/src/gcc/tree-if-conv.c	(.../tags/gcc_7_2_0_release)
@@ -316366,6 +316832,32 @@ Index: gcc/config/riscv/rtems.h
 +	builtin_define ("__USE_INIT_FINI__");	\
 +	builtin_assert ("system=rtems");	\
 +    } while (0)
+Index: gcc/config/aarch64/aarch64.c
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64.c	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/config/aarch64/aarch64.c	(.../branches/gcc-7-branch)
+@@ -11509,19 +11509,9 @@
+       if (optab_handler (movmisalign_optab, mode) == CODE_FOR_nothing)
+         return false;
+ 
++      /* Misalignment factor is unknown at compile time.  */
+       if (misalignment == -1)
+-	{
+-	  /* Misalignment factor is unknown at compile time but we know
+-	     it's word aligned.  */
+-	  if (aarch64_simd_vector_alignment_reachable (type, is_packed))
+-            {
+-              int element_size = TREE_INT_CST_LOW (TYPE_SIZE (type));
+-
+-              if (element_size != 64)
+-                return true;
+-            }
+-	  return false;
+-	}
++	return false;
+     }
+   return default_builtin_support_vector_misalignment (mode, type, misalignment,
+ 						      is_packed);
 Index: gcc/config/aarch64/aarch64.h
 ===================================================================
 --- a/src/gcc/config/aarch64/aarch64.h	(.../tags/gcc_7_2_0_release)
@@ -317334,6 +317826,99 @@ Index: gcc/tree-vect-slp.c
    if (node != NULL)
      {
        /* Calculate the unrolling factor based on the smallest type.  */
+Index: gcc/langhooks-def.h
+===================================================================
+--- a/src/gcc/langhooks-def.h	(.../tags/gcc_7_2_0_release)
++++ b/src/gcc/langhooks-def.h	(.../branches/gcc-7-branch)
+@@ -184,6 +184,7 @@
+   lhd_omp_firstprivatize_type_sizes
+ #define LANG_HOOKS_OMP_MAPPABLE_TYPE	lhd_omp_mappable_type
+ #define LANG_HOOKS_TYPE_HASH_EQ		NULL
++#define LANG_HOOKS_COPY_LANG_QUALIFIERS NULL
+ #define LANG_HOOKS_GET_ARRAY_DESCR_INFO	NULL
+ #define LANG_HOOKS_GET_SUBRANGE_BOUNDS	NULL
+ #define LANG_HOOKS_GET_TYPE_BIAS	NULL
+@@ -209,6 +210,7 @@
+   LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES, \
+   LANG_HOOKS_OMP_MAPPABLE_TYPE, \
+   LANG_HOOKS_TYPE_HASH_EQ, \
++  LANG_HOOKS_COPY_LANG_QUALIFIERS, \
+   LANG_HOOKS_GET_ARRAY_DESCR_INFO, \
+   LANG_HOOKS_GET_SUBRANGE_BOUNDS, \
+   LANG_HOOKS_GET_TYPE_BIAS, \
+Index: libgo/configure
+===================================================================
+--- a/src/libgo/configure	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/configure	(.../branches/gcc-7-branch)
+@@ -13625,7 +13625,7 @@
+ # supported by the gofrontend and all architectures supported by the
+ # gc toolchain.
+ # N.B. Keep in sync with gcc/testsuite/go.test/go-test.exp (go-set-goarch).
+-ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mipso32 mipsn32 mipso64 mipsn64 mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sparc sparc64"
++ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sparc sparc64"
+ 
+ # All known GOARCH_FAMILY values.
+ ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 S390 S390X SPARC SPARC64"
+@@ -13728,16 +13728,6 @@
+ if ac_fn_c_try_compile "$LINENO"; then :
+   mips_abi="n64"
+ else
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-#if _MIPS_SIM != _ABIO64
+-#error not o64
+-#endif
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"; then :
+-  mips_abi="o64"
+-else
+   as_fn_error "unknown MIPS ABI" "$LINENO" 5
+ mips_abi="n32"
+ fi
+@@ -13746,13 +13736,10 @@
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+     case "$mips_abi" in
+-    "o32") GOARCH=mipso32 ;;
+-    "n32") GOARCH=mipsn32 ;;
+-    "n64") GOARCH=mipsn64 ;;
+-    "o64") GOARCH=mipso64 ;;
++    "o32") GOARCH=mips ;;
++    "n32") GOARCH=mips64p32 ;;
++    "n64") GOARCH=mips64 ;;
+     esac
+     case "$mips_abi" in
+     "o32" | "n32")
+@@ -13759,13 +13746,14 @@
+         GOARCH_FAMILY=MIPS
+ 	GOARCH_MINFRAMESIZE=4
+         ;;
+-    "n64" | "o64")
++    "n64")
+         GOARCH_FAMILY=MIPS64
+ 	GOARCH_MINFRAMESIZE=8
+         ;;
+     esac
+     case "${host}" in
+-    mips*el)
++    mips*el-*-*)
++	GOARCH="${GOARCH}le"
+         ;;
+     *)
+ 	GOARCH_BIGENDIAN=1
+@@ -14762,7 +14750,7 @@
+   fi
+ 
+ 
+-for ac_header in port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/reboot.h netinet/icmp6.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h
++for ac_header in port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/ptrace.h linux/reboot.h netinet/icmp6.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h
+ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
 Index: libgo/VERSION
 ===================================================================
 --- a/src/libgo/VERSION	(.../tags/gcc_7_2_0_release)
@@ -317341,6 +317926,46 @@ Index: libgo/VERSION
 @@ -1 +1 @@
 -go1.8.1
 +go1.8.3
+Index: libgo/testsuite/gotest
+===================================================================
+--- a/src/libgo/testsuite/gotest	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/testsuite/gotest	(.../branches/gcc-7-branch)
+@@ -314,7 +314,7 @@
+ 	    android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ 		tag1=nonmatchingtag
+ 		;;
+-	    386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
++	    386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64)
+ 		tag1=nonmatchingtag
+ 		;;
+ 	    esac
+@@ -326,7 +326,7 @@
+ 	    android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ 		tag2=nonmatchingtag
+ 		;;
+-	    386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
++	    386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64)
+ 		tag2=nonmatchingtag
+ 		;;
+ 	    esac
+Index: libgo/mksysinfo.sh
+===================================================================
+--- a/src/libgo/mksysinfo.sh	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/mksysinfo.sh	(.../branches/gcc-7-branch)
+@@ -302,9 +302,13 @@
+     upcase_fields "__user_psw_struct" "PtracePsw" >> ${OUT} || true
+     upcase_fields "__user_fpregs_struct" "PtraceFpregs" >> ${OUT} || true
+     upcase_fields "__user_per_struct" "PtracePer" >> ${OUT} || true
++  else
++    # mips*
++    regs=`grep '^type _pt_regs struct' gen-sysinfo.go || true`
+   fi
+ fi
+ if test "$regs" != ""; then
++  regs=`echo $regs | sed -e 's/type _pt_regs struct//'`
+   regs=`echo $regs |
+     sed -e 's/type __*user_regs_struct struct //' -e 's/[{}]//g'`
+   regs=`echo $regs | sed -e s'/^ *//'`
 Index: libgo/MERGE
 ===================================================================
 --- a/src/libgo/MERGE	(.../tags/gcc_7_2_0_release)
@@ -317351,6 +317976,147 @@ Index: libgo/MERGE
  
  The first line of this file holds the git revision number of the
  last merge done from the master library sources.
+Index: libgo/config.h.in
+===================================================================
+--- a/src/libgo/config.h.in	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/config.h.in	(.../branches/gcc-7-branch)
+@@ -114,6 +114,9 @@
+ /* Define to 1 if you have the <linux/netlink.h> header file. */
+ #undef HAVE_LINUX_NETLINK_H
+ 
++/* Define to 1 if you have the <linux/ptrace.h> header file. */
++#undef HAVE_LINUX_PTRACE_H
++
+ /* Define to 1 if you have the <linux/reboot.h> header file. */
+ #undef HAVE_LINUX_REBOOT_H
+ 
+Index: libgo/configure.ac
+===================================================================
+--- a/src/libgo/configure.ac	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/configure.ac	(.../branches/gcc-7-branch)
+@@ -197,7 +197,7 @@
+ # supported by the gofrontend and all architectures supported by the
+ # gc toolchain.
+ # N.B. Keep in sync with gcc/testsuite/go.test/go-test.exp (go-set-goarch).
+-ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mipso32 mipsn32 mipso64 mipsn64 mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sparc sparc64"
++ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sparc sparc64"
+ 
+ # All known GOARCH_FAMILY values.
+ ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 S390 S390X SPARC SPARC64"
+@@ -280,18 +280,12 @@
+ #error not n64
+ #endif],
+ [mips_abi="n64"],
+-	[AC_COMPILE_IFELSE([
+-#if _MIPS_SIM != _ABIO64
+-#error not o64
+-#endif],
+-[mips_abi="o64"],
+ 	[AC_MSG_ERROR([unknown MIPS ABI])
+-[mips_abi="n32"]])])])])
++[mips_abi="n32"]])])])
+     case "$mips_abi" in
+-    "o32") GOARCH=mipso32 ;;
+-    "n32") GOARCH=mipsn32 ;;
+-    "n64") GOARCH=mipsn64 ;;
+-    "o64") GOARCH=mipso64 ;;
++    "o32") GOARCH=mips ;;
++    "n32") GOARCH=mips64p32 ;;
++    "n64") GOARCH=mips64 ;;
+     esac
+     case "$mips_abi" in
+     "o32" | "n32")
+@@ -298,13 +292,14 @@
+         GOARCH_FAMILY=MIPS
+ 	GOARCH_MINFRAMESIZE=4
+         ;;
+-    "n64" | "o64")
++    "n64")
+         GOARCH_FAMILY=MIPS64
+ 	GOARCH_MINFRAMESIZE=8
+         ;;
+     esac
+     case "${host}" in
+-    mips*el)
++    mips*el-*-*)
++        GOARCH="${GOARCH}le"
+         ;;
+     *)
+ 	GOARCH_BIGENDIAN=1
+@@ -569,7 +564,7 @@
+ 
+ GCC_CHECK_UNWIND_GETIPINFO
+ 
+-AC_CHECK_HEADERS(port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/reboot.h netinet/icmp6.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h)
++AC_CHECK_HEADERS(port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/ptrace.h linux/reboot.h netinet/icmp6.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h)
+ 
+ AC_CHECK_HEADERS([linux/filter.h linux/if_addr.h linux/if_ether.h linux/if_tun.h linux/netlink.h linux/rtnetlink.h], [], [],
+ [#ifdef HAVE_SYS_SOCKET_H
+Index: libgo/go/runtime/lfstack_32bit.go
+===================================================================
+--- a/src/libgo/go/runtime/lfstack_32bit.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/runtime/lfstack_32bit.go	(.../branches/gcc-7-branch)
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-// +build 386 arm nacl armbe m68k mips mipsle mips64p32 mips64p32le mipso32 mipsn32 ppc s390 sparc
++// +build 386 arm nacl armbe m68k mips mipsle mips64p32 mips64p32le ppc s390 sparc
+ 
+ package runtime
+ 
+Index: libgo/go/runtime/hash64.go
+===================================================================
+--- a/src/libgo/go/runtime/hash64.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/runtime/hash64.go	(.../branches/gcc-7-branch)
+@@ -6,7 +6,7 @@
+ //   xxhash: https://code.google.com/p/xxhash/
+ // cityhash: https://code.google.com/p/cityhash/
+ 
+-// +build amd64 amd64p32 arm64 mips64 mips64le ppc64 ppc64le s390x alpha arm64be ia64 mipso64 mipsn64 mips64p32 mips64p32le sparc64
++// +build amd64 amd64p32 arm64 mips64 mips64le ppc64 ppc64le s390x alpha arm64be ia64 mips64p32 mips64p32le sparc64
+ 
+ package runtime
+ 
+Index: libgo/go/runtime/lfstack_64bit.go
+===================================================================
+--- a/src/libgo/go/runtime/lfstack_64bit.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/runtime/lfstack_64bit.go	(.../branches/gcc-7-branch)
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-// +build amd64 arm64 mips64 mips64le ppc64 ppc64le s390x arm64be alpha mipsn64 sparc64
++// +build amd64 arm64 mips64 mips64le ppc64 ppc64le s390x arm64be alpha sparc64
+ 
+ package runtime
+ 
+Index: libgo/go/runtime/hash32.go
+===================================================================
+--- a/src/libgo/go/runtime/hash32.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/runtime/hash32.go	(.../branches/gcc-7-branch)
+@@ -6,7 +6,7 @@
+ //   xxhash: https://code.google.com/p/xxhash/
+ // cityhash: https://code.google.com/p/cityhash/
+ 
+-// +build 386 arm armbe m68k mipso32 mipsn32 mips mipsle ppc s390 sparc
++// +build 386 arm armbe m68k mips mipsle ppc s390 sparc
+ 
+ package runtime
+ 
+Index: libgo/go/runtime/unaligned2.go
+===================================================================
+--- a/src/libgo/go/runtime/unaligned2.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/runtime/unaligned2.go	(.../branches/gcc-7-branch)
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-// +build arm mips mipsle mips64 mips64le armbe m68k mipso32 mipsn32 sparc alpha ia64 mipso64 mipsn64 mips64p32 mips64p32le sparc64
++// +build arm mips mipsle mips64 mips64le armbe m68k sparc alpha ia64 mips64p32 mips64p32le sparc64
+ 
+ package runtime
+ 
 Index: libgo/go/cmd/go/build.go
 ===================================================================
 --- a/src/libgo/go/cmd/go/build.go	(.../tags/gcc_7_2_0_release)
@@ -317382,6 +318148,100 @@ Index: libgo/go/cmd/go/build.go
  		b.showOutput(p.Dir, desc, b.processOutput(output))
  		if err != nil {
  			err = errPrintedOutput
+Index: libgo/go/cmd/cgo/main.go
+===================================================================
+--- a/src/libgo/go/cmd/cgo/main.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/cmd/cgo/main.go	(.../branches/gcc-7-branch)
+@@ -139,51 +139,47 @@
+ }
+ 
+ var ptrSizeMap = map[string]int64{
+-	"386":      4,
+-	"alpha":    8,
+-	"amd64":    8,
+-	"arm":      4,
+-	"arm64":    8,
+-	"m68k":     4,
+-	"mipso32":  4,
+-	"mipsn32":  4,
+-	"mipso64":  8,
+-	"mipsn64":  8,
+-	"mips":     4,
+-	"mipsle":   4,
+-	"mips64":   8,
+-	"mips64le": 8,
+-	"ppc":      4,
+-	"ppc64":    8,
+-	"ppc64le":  8,
+-	"s390":     4,
+-	"s390x":    8,
+-	"sparc":    4,
+-	"sparc64":  8,
++	"386":         4,
++	"alpha":       8,
++	"amd64":       8,
++	"arm":         4,
++	"arm64":       8,
++	"m68k":        4,
++	"mips":        4,
++	"mipsle":      4,
++	"mips64":      8,
++	"mips64le":    8,
++	"mips64p32":   4,
++	"mips64p32le": 4,
++	"ppc":         4,
++	"ppc64":       8,
++	"ppc64le":     8,
++	"s390":        4,
++	"s390x":       8,
++	"sparc":       4,
++	"sparc64":     8,
+ }
+ 
+ var intSizeMap = map[string]int64{
+-	"386":      4,
+-	"alpha":    8,
+-	"amd64":    8,
+-	"arm":      4,
+-	"arm64":    8,
+-	"m68k":     4,
+-	"mipso32":  4,
+-	"mipsn32":  4,
+-	"mipso64":  8,
+-	"mipsn64":  8,
+-	"mips":     4,
+-	"mipsle":   4,
+-	"mips64":   8,
+-	"mips64le": 8,
+-	"ppc":      4,
+-	"ppc64":    8,
+-	"ppc64le":  8,
+-	"s390":     4,
+-	"s390x":    8,
+-	"sparc":    4,
+-	"sparc64":  8,
++	"386":         4,
++	"alpha":       8,
++	"amd64":       8,
++	"arm":         4,
++	"arm64":       8,
++	"m68k":        4,
++	"mips":        4,
++	"mipsle":      4,
++	"mips64":      8,
++	"mips64le":    8,
++	"mips64p32":   8,
++	"mips64p32le": 8,
++	"ppc":         4,
++	"ppc64":       8,
++	"ppc64le":     8,
++	"s390":        4,
++	"s390x":       8,
++	"sparc":       4,
++	"sparc64":     8,
+ }
+ 
+ var cPrefix string
 Index: libgo/go/database/sql/sql_test.go
 ===================================================================
 --- a/src/libgo/go/database/sql/sql_test.go	(.../tags/gcc_7_2_0_release)
@@ -317423,6 +318283,67 @@ Index: libgo/go/database/sql/sql.go
  			return rows, nil
  		}
  
+Index: libgo/go/internal/syscall/unix/getrandom_linux_mipso32.go
+===================================================================
+--- a/src/libgo/go/internal/syscall/unix/getrandom_linux_mipso32.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/internal/syscall/unix/getrandom_linux_mipso32.go	(.../branches/gcc-7-branch)
+@@ -1,11 +0,0 @@
+-// Copyright 2016 The Go Authors. All rights reserved.
+-// Use of this source code is governed by a BSD-style
+-// license that can be found in the LICENSE file.
+-
+-// +build mipso32
+-
+-package unix
+-
+-// Linux getrandom system call number.
+-// See GetRandom in getrandom_linux.go.
+-const randomTrap uintptr = 4353
+Index: libgo/go/internal/syscall/unix/getrandom_linux_mipsn32.go
+===================================================================
+--- a/src/libgo/go/internal/syscall/unix/getrandom_linux_mipsn32.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/internal/syscall/unix/getrandom_linux_mipsn32.go	(.../branches/gcc-7-branch)
+@@ -1,11 +0,0 @@
+-// Copyright 2016 The Go Authors. All rights reserved.
+-// Use of this source code is governed by a BSD-style
+-// license that can be found in the LICENSE file.
+-
+-// +build mipsn32
+-
+-package unix
+-
+-// Linux getrandom system call number.
+-// See GetRandom in getrandom_linux.go.
+-const randomTrap uintptr = 6317
+Index: libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go
+===================================================================
+--- a/src/libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go	(.../branches/gcc-7-branch)
+@@ -0,0 +1,11 @@
++// Copyright 2016 The Go Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style
++// license that can be found in the LICENSE file.
++
++// +build mips64p32 mips64p32le
++
++package unix
++
++// Linux getrandom system call number.
++// See GetRandom in getrandom_linux.go.
++const randomTrap uintptr = 6317
+Index: libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go
+===================================================================
+--- a/src/libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go	(.../branches/gcc-7-branch)
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-// +build mips64 mips64le mipsn64 mipso64
++// +build mips64 mips64le
+ 
+ package unix
+ 
 Index: libgo/go/crypto/elliptic/elliptic_test.go
 ===================================================================
 --- a/src/libgo/go/crypto/elliptic/elliptic_test.go	(.../tags/gcc_7_2_0_release)
@@ -317526,6 +318447,122 @@ Index: libgo/go/net/http/h2_bundle.go
  		return strings.Join(keys, ","), nil
  	}
  	return "", nil
+Index: libgo/go/go/build/syslist.go
+===================================================================
+--- a/src/libgo/go/go/build/syslist.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/go/build/syslist.go	(.../branches/gcc-7-branch)
+@@ -5,4 +5,4 @@
+ package build
+ 
+ const goosList = "android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows zos "
+-const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le mipso32 mipsn32 mipsn64 mipso64 ppc s390 s390x sparc sparc64 "
++const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc s390 s390x sparc sparc64 "
+Index: libgo/go/syscall/syscall_linux_mips64x.go
+===================================================================
+--- a/src/libgo/go/syscall/syscall_linux_mips64x.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/syscall/syscall_linux_mips64x.go	(.../branches/gcc-7-branch)
+@@ -1,20 +0,0 @@
+-// Copyright 2009 The Go Authors. All rights reserved.
+-// Use of this source code is governed by a BSD-style
+-// license that can be found in the LICENSE file.
+-
+-// +build linux
+-// +build mips64 mips64le
+-
+-package syscall
+-
+-func (r *PtraceRegs) PC() uint64 { return r.Regs[64] }
+-
+-func (r *PtraceRegs) SetPC(pc uint64) { r.Regs[64] = pc }
+-
+-func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
+-	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
+-}
+-
+-func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
+-	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
+-}
+Index: libgo/go/syscall/endian_big.go
+===================================================================
+--- a/src/libgo/go/syscall/endian_big.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/syscall/endian_big.go	(.../branches/gcc-7-branch)
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ //
+-// +build ppc64 s390x mips mips64 armbe arm64be m68k ppc mipso32 mipsn32 mipso64 mipsn64 mips64p32 s390 sparc sparc64
++// +build ppc64 s390x mips mips64 armbe arm64be m68k ppc mips64p32 s390 sparc sparc64
+ 
+ package syscall
+ 
+Index: libgo/go/syscall/syscall_linux_mipsx.go
+===================================================================
+--- a/src/libgo/go/syscall/syscall_linux_mipsx.go	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/go/syscall/syscall_linux_mipsx.go	(.../branches/gcc-7-branch)
+@@ -3,10 +3,24 @@
+ // license that can be found in the LICENSE file.
+ 
+ // +build linux
+-// +build mips mipsle
++// +build mips mipsle mips64 mips64le mips64p32 mips64p32le
+ 
+ package syscall
+ 
+-func (r *PtraceRegs) PC() uint64 { return uint64(r.Regs[64]) }
++import "unsafe"
+ 
+-func (r *PtraceRegs) SetPC(pc uint64) { r.Regs[64] = uint32(pc) }
++func (r *PtraceRegs) PC() uint64 {
++	return r.Cp0_epc
++}
++
++func (r *PtraceRegs) SetPC(pc uint64) {
++	r.Cp0_epc = pc
++}
++
++func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
++	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
++}
++
++func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
++	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
++}
+Index: libgo/match.sh
+===================================================================
+--- a/src/libgo/match.sh	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/match.sh	(.../branches/gcc-7-branch)
+@@ -116,7 +116,7 @@
+ 	android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ 	    tag1=nonmatchingtag
+ 	    ;;
+-	386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
++	386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64)
+ 	    tag1=nonmatchingtag
+ 	    ;;
+     esac
+@@ -128,7 +128,7 @@
+ 	android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
+ 	    tag2=nonmatchingtag
+ 	    ;;
+-	386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
++	386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64)
+ 	    tag2=nonmatchingtag
+ 	    ;;
+     esac
+Index: libgo/sysinfo.c
+===================================================================
+--- a/src/libgo/sysinfo.c	(.../tags/gcc_7_2_0_release)
++++ b/src/libgo/sysinfo.c	(.../branches/gcc-7-branch)
+@@ -102,6 +102,9 @@
+ #if defined(HAVE_LINUX_NETLINK_H)
+ #include <linux/netlink.h>
+ #endif
++#if defined(HAVE_LINUX_PTRACE_H)
++#include <linux/ptrace.h>
++#endif
+ #if defined(HAVE_LINUX_RTNETLINK_H)
+ #include <linux/rtnetlink.h>
+ #endif
 Index: libgfortran/ChangeLog
 ===================================================================
 --- a/src/libgfortran/ChangeLog	(.../tags/gcc_7_2_0_release)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-7.git



More information about the Reproducible-commits mailing list