diff --git a/.devtoolset-6-gcc.metadata b/.devtoolset-6-gcc.metadata
index 600e343..ae4e2e1 100644
--- a/.devtoolset-6-gcc.metadata
+++ b/.devtoolset-6-gcc.metadata
@@ -1,4 +1,4 @@
7f4348418dc3efefd357b32a2b5c8010211ab284 SOURCES/doxygen-1.8.0.src.tar.gz
-3d99cc5318c2bf61ec4b0fc81a34c3a38d8c40c4 SOURCES/gcc-6.2.1-20160916.tar.bz2
+ce5cdb519ece0bec95d32e3ec6b5f72ad318494b SOURCES/gcc-6.3.1-20170216.tar.bz2
b09e25df265c97ed54002cd811d227a9a26c5f9c SOURCES/isl-0.14.tar.bz2
5ef03ca7aee134fe7dfecb6c9d048799f0810278 SOURCES/mpc-0.8.1.tar.gz
diff --git a/.gitignore b/.gitignore
index bf2b9f1..71d8804 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
SOURCES/doxygen-1.8.0.src.tar.gz
-SOURCES/gcc-6.2.1-20160916.tar.bz2
+SOURCES/gcc-6.3.1-20170216.tar.bz2
SOURCES/isl-0.14.tar.bz2
SOURCES/mpc-0.8.1.tar.gz
diff --git a/SOURCES/gcc6-libstdc++-compat.patch b/SOURCES/gcc6-libstdc++-compat.patch
index 835ace4..b8a28f0 100644
--- a/SOURCES/gcc6-libstdc++-compat.patch
+++ b/SOURCES/gcc6-libstdc++-compat.patch
@@ -2994,7 +2994,7 @@
+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
--- libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc.jj 2016-07-22 11:37:16.393402688 +0200
+++ libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc 2016-07-22 11:37:16.393402688 +0200
-@@ -0,0 +1,36 @@
+@@ -0,0 +1,45 @@
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -3018,15 +3018,24 @@
+// .
+
+#include "../c++11/cxx11-locale-inst.cc"
-+asm (".hidden _ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale");
+asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv");
+asm (".hidden _ZNKSt5ctypeIcE5widenEPKcS2_Pc");
++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__)
++asm (".hidden _ZNKSt11__use_cacheISt16__numpunct_cacheIcEEclERKSt6locale");
+asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
++#else
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++#endif
+asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE5equalERKS2_");
+asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc");
+asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
@@ -3190,7 +3199,7 @@
+#include "../c++11/ios.cc"
--- libstdc++-v3/src/nonshared11/cow-shim_facets.cc.jj 2016-07-22 11:37:16.394402676 +0200
+++ libstdc++-v3/src/nonshared11/cow-shim_facets.cc 2016-07-22 11:52:03.980619192 +0200
-@@ -0,0 +1,170 @@
+@@ -0,0 +1,181 @@
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -3236,22 +3245,33 @@
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRSs");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRSbIwS5_SaIwEE");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKSs");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKSbIwS5_SaIwEE");
+asm (".hidden _ZNKSt6locale5facet11_M_cow_shimEPKNS_2idE");
+asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv");
+asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc");
+asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc");
++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__)
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe");
+asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE");
+asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE");
+asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE");
+asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE");
++#else
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg");
++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE");
++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE");
++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE");
++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE");
++#endif
+asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev");
+asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev");
+asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev");
@@ -3773,7 +3793,7 @@
+#include "../c++11/compatibility-c++0x.cc"
--- libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc.jj 2016-07-22 11:37:16.397402638 +0200
+++ libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc 2016-07-22 11:53:24.065650644 +0200
-@@ -0,0 +1,170 @@
+@@ -0,0 +1,181 @@
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -3819,22 +3839,33 @@
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIcS5_SaIcEEE");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIwS5_SaIwEEE");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKNSt7__cxx1112basic_stringIcS5_SaIcEEE");
-+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe");
+asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKNSt7__cxx1112basic_stringIwS5_SaIwEEE");
+asm (".hidden _ZNKSt6locale5facet11_M_sso_shimEPKNS_2idE");
+asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv");
+asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc");
+asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc");
++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__)
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe");
+asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE");
+asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE");
+asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE");
+asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE");
++#else
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg");
++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg");
++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE");
++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE");
++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE");
++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE");
++#endif
+asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev");
+asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev");
+asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev");
@@ -5082,7 +5113,7 @@
+asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES8_");
--- libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc.jj 2016-07-22 11:37:16.403402563 +0200
+++ libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc 2016-07-22 11:54:57.649518841 +0200
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,48 @@
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -5108,12 +5139,21 @@
+#include "../c++11/cxx11-wlocale-inst.cc"
+asm (".hidden _ZNKSt11__use_cacheISt16__numpunct_cacheIwEEclERKSt6locale");
+asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv");
++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__)
+asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
+asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_");
++#else
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
++#endif
+#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
+asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj");
+asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj");
@@ -5852,7 +5892,7 @@
+asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE");
--- libstdc++-v3/src/nonshared11/snprintf_lite.cc.jj 2016-07-22 11:37:16.406402526 +0200
+++ libstdc++-v3/src/nonshared11/snprintf_lite.cc 2016-07-22 11:42:07.802829363 +0200
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,40 @@
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -5879,9 +5919,12 @@
+#ifdef __powerpc64__
+asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm");
+asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcS0_");
-+#elif defined(__i386__) || defined(__powerpc__)
++#elif defined(__i386__)
+asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj");
+asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcS0_");
++#elif defined(__powerpc__)
++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj");
++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcP13__va_list_tag");
+#elif defined(__aarch64__)
+asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm");
+asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcSt9__va_list");
@@ -7275,7 +7318,7 @@
+} // namespace
--- libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc.jj 2016-07-22 11:37:16.409402488 +0200
+++ libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc 2016-07-22 11:37:16.409402488 +0200
-@@ -0,0 +1,38 @@
+@@ -0,0 +1,39 @@
+// Copyright (C) 2012-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -7310,7 +7353,8 @@
+#include "../c++11/compatibility-thread-c++0x.cc"
+
+asm (".hidden _ZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_");
-+asm (".hidden _ZSt16__once_call_implISt12_Bind_simpleIFSt7_Mem_fnIMSt6threadFvvEESt17reference_wrapperIS2_EEEEvv");
++asm (".hidden _ZZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_ENKUlvE0_clEv");
++asm (".hidden _ZZSt9call_onceIMSt6threadFvvEJSt17reference_wrapperIS0_EEEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv");
+asm (".hidden _ZSt13__bind_simpleIMSt6threadFvvEJSt17reference_wrapperIS0_EEENSt19_Bind_simple_helperIT_JDpT0_EE6__typeEOS6_DpOS7_");
+asm (".hidden _ZNSt13__future_base19_Async_state_common15_M_run_deferredEv");
+asm (".hidden _ZNSt13__future_base7_ResultIvE10_M_destroyEv");
@@ -8250,34 +8294,34 @@
int main()
{
typedef long long atomic_type;
-@@ -15573,7 +15575,7 @@ $as_echo "$as_me: WARNING: Performance o
+@@ -15575,7 +15577,7 @@ $as_echo "$as_me: WARNING: Performance o
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
--#line 15576 "configure"
-+#line 15578 "configure"
+-#line 15578 "configure"
++#line 15580 "configure"
int main()
{
_Decimal32 d1;
-@@ -15615,7 +15617,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+@@ -15617,7 +15619,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
# unnecessary for this test.
cat > conftest.$ac_ext << EOF
--#line 15618 "configure"
-+#line 15620 "configure"
+-#line 15620 "configure"
++#line 15622 "configure"
template
struct same
{ typedef T2 type; };
-@@ -15649,7 +15651,7 @@ $as_echo "$enable_int128" >&6; }
+@@ -15651,7 +15653,7 @@ $as_echo "$enable_int128" >&6; }
rm -f conftest*
cat > conftest.$ac_ext << EOF
--#line 15652 "configure"
-+#line 15654 "configure"
+-#line 15654 "configure"
++#line 15656 "configure"
template
struct same
{ typedef T2 type; };
-@@ -81358,6 +81360,11 @@ $as_echo "$gxx_include_dir" >&6; }
+@@ -81429,6 +81431,11 @@ $as_echo "$gxx_include_dir" >&6; }
@@ -8289,7 +8333,7 @@
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files scripts/testsuite_flags"
-@@ -81375,7 +81382,7 @@ ac_config_files="$ac_config_files doc/xs
+@@ -81446,7 +81453,7 @@ ac_config_files="$ac_config_files doc/xs
# append it here. Only modify Makefiles that have just been created.
#
# Also, get rid of this simulated-VPATH thing that automake does.
@@ -8298,7 +8342,7 @@
ac_config_commands="$ac_config_commands generate-headers"
-@@ -82604,6 +82611,8 @@ do
+@@ -82675,6 +82682,8 @@ do
"src/c++98/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++98/Makefile" ;;
"src/c++11/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++11/Makefile" ;;
"src/filesystem/Makefile") CONFIG_FILES="$CONFIG_FILES src/filesystem/Makefile" ;;
@@ -8307,7 +8351,7 @@
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-@@ -84444,6 +84453,28 @@ _EOF
+@@ -84515,6 +84524,28 @@ _EOF
s!`test -f '$<' || echo '$(srcdir)/'`!!
_EOF
sed -f vpsed$$ $ac_file > tmp$$
diff --git a/SOURCES/gcc6-libstdc++-docs.patch b/SOURCES/gcc6-libstdc++-docs.patch
index 6c62bbf..057cac0 100644
--- a/SOURCES/gcc6-libstdc++-docs.patch
+++ b/SOURCES/gcc6-libstdc++-docs.patch
@@ -4,7 +4,7 @@
FSF
-+ Release 6.2.0
++ Release 6.3.0
+
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@@ -17,7 +17,7 @@
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
-+ for the 6.2.0 release,
++ for the 6.3.0 release,
+ online
for each GCC release
and
diff --git a/SPECS/gcc.spec b/SPECS/gcc.spec
index 92fb2f8..16f3599 100644
--- a/SPECS/gcc.spec
+++ b/SPECS/gcc.spec
@@ -1,9 +1,9 @@
%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
%{?scl:%scl_package gcc}
-%global DATE 20160916
-%global SVNREV 240184
-%global gcc_version 6.2.1
+%global DATE 20170216
+%global SVNREV 245503
+%global gcc_version 6.3.1
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 3
@@ -115,7 +115,7 @@ BuildRequires: %{?scl_prefix}binutils >= 2.22.52.0.1
# For testing
BuildRequires: %{?scl_prefix}gdb >= 7.4.50
%endif
-BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
+BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils, gcc-gfortran
BuildRequires: /usr/bin/pod2man
%if 0%{?rhel} >= 7
BuildRequires: texinfo-tex
@@ -939,6 +939,38 @@ done)
rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
+mkdir libstdc++_compat_test
+cd libstdc++_compat_test
+readelf -Ws %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_[0-9.]*//' | LC_ALL=C sort -u > system.abilist
+readelf -Ws ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_[0-9.]*//' | LC_ALL=C sort -u > vanilla.abilist
+diff -up system.abilist vanilla.abilist | awk '/^\+\+\+/{next}/^\+/{print gensub(/^+(.*)$/,"\\1","1",$0)}' > system2vanilla.abilist.diff
+../obj-%{gcc_target_platform}/gcc/xgcc -B ../obj-%{gcc_target_platform}/gcc/ -shared -o libstdc++_nonshared.so -Wl,--whole-archive ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a -Wl,--no-whole-archive %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6
+readelf -Ws libstdc++_nonshared.so | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_[0-9.]*//' | LC_ALL=C sort -u > nonshared.abilist
+echo ====================NONSHARED=========================
+ldd -d -r ./libstdc++_nonshared.so || :
+ldd -u ./libstdc++_nonshared.so || :
+diff -up system2vanilla.abilist.diff nonshared.abilist || :
+echo ====================NONSHARED END=====================
+rm -f libstdc++_nonshared.so
+cd ..
+mkdir libgfortran_compat_test
+cd libgfortran_compat_test
+TEST_LIBQUADMATH=
+%if %{build_libquadmath}
+TEST_LIBQUADMATH=`pwd`/../obj-%{gcc_target_platform}/%{gcc_target_platform}/libquadmath/.libs/libquadmath.so.0
+%endif
+readelf -Ws %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgfortran.so.3 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GFORTRAN_[0-9.]*//;s/@@GFORTRAN_C99_TM_[0-9.]*//;s/@@GFORTRAN_C99_FLOAT128//;s/@@GFORTRAN_C99_[0-9.]*//' | LC_ALL=C sort -u > system.abilist
+readelf -Ws ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libgfortran/.libs/libgfortran.so.3 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GFORTRAN_[0-9.]*//;s/@@GFORTRAN_C99_TM_[0-9.]*//;s/@@GFORTRAN_C99_FLOAT128//;s/@@GFORTRAN_C99_[0-9.]*//' | LC_ALL=C sort -u > vanilla.abilist
+diff -up system.abilist vanilla.abilist | awk '/^\+\+\+/{next}/^\+/{print gensub(/^+(.*)$/,"\\1","1",$0)}' > system2vanilla.abilist.diff
+../obj-%{gcc_target_platform}/gcc/xgcc -B ../obj-%{gcc_target_platform}/gcc/ -shared -o libgfortran_nonshared.so -Wl,--whole-archive ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libgfortran/.libs/libgfortran_nonshared%{nonsharedver}.a -Wl,--no-whole-archive %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgfortran.so.3 $TEST_LIBQUADMATH
+readelf -Ws libgfortran_nonshared.so | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GFORTRAN_[0-9.]*//;s/@@GFORTRAN_C99_TM_[0-9.]*//;s/@@GFORTRAN_C99_FLOAT128//;s/@@GFORTRAN_C99_[0-9.]*//' | LC_ALL=C sort -u > nonshared.abilist
+echo ====================NONSHARED ========================
+ldd -d -r ./libgfortran_nonshared.so || :
+ldd -u ./libgfortran_nonshared.so || :
+diff -up system2vanilla.abilist.diff nonshared.abilist || :
+echo ====================NONSHARED END=====================
+rm -f libgfortran_nonshared.so
+cd ..
%install
rm -fr %{buildroot}
@@ -950,6 +982,9 @@ export PATH=`pwd`/obj-%{gcc_target_platform}/doxygen-install/bin/${PATH:+:${PATH
%endif
%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
+# Also set LD_LIBRARY_PATH so that DTS eu-strip (called from find-debuginfo.sh)
+# can find the libraries it needs.
+%{?scl:export LD_LIBRARY_PATH=%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}}
perl -pi -e \
's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
@@ -2011,7 +2046,6 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx512vlintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/clflushoptintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/clwbintrin.h
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pcommitintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mwaitxintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xsavecintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xsavesintrin.h
@@ -2596,6 +2630,21 @@ fi
%doc rpm.doc/changelogs/libcc1/ChangeLog*
%changelog
+* Mon Feb 20 2017 Marek Polacek 6.3.1-3.1
+- use "export" when setting LD_LIBRARY_PATH (#1421107)
+
+* Thu Feb 16 2017 Jakub Jelinek 6.3.1-3
+- update from Fedora 6.3.1-3
+ - fix vec_xl and vec_xst altivec.h intrinsics (#1418397, PR target/79268)
+
+* Tue Feb 14 2017 Marek Polacek 6.3.1-2.3
+- set LD_LIBRARY_PATH (#1421107)
+
+* Thu Jan 19 2017 Jakub Jelinek 6.3.1-2.2
+- update from Fedora 6.3.1-2
+- some further libstdc++_nonshared.a fixes for ppc, ppc64, ppc64le, s390
+ and s390x
+
* Thu Oct 20 2016 Marek Polacek 6.2.1-3.1
- rename libasan2 to libasan3 (#1386146)
- update old references to GCC 5