diff --git a/.devtoolset-9-gcc.metadata b/.devtoolset-9-gcc.metadata
index dd25f2a..fdd547f 100644
--- a/.devtoolset-9-gcc.metadata
+++ b/.devtoolset-9-gcc.metadata
@@ -1,4 +1,4 @@
 7f4348418dc3efefd357b32a2b5c8010211ab284 SOURCES/doxygen-1.8.0.src.tar.gz
-186c672996b17fd7ea17a188a2ed927d9e52a835 SOURCES/gcc-9.1.1-20190605.tar.xz
+d2c70e1483babf41b7dc963c53a5b89189eb0572 SOURCES/gcc-9.3.1-20200408.tar.xz
 c5a2b201bf05229647e73203c0bf2d9679d4d21f SOURCES/isl-0.16.1.tar.bz2
 5ef03ca7aee134fe7dfecb6c9d048799f0810278 SOURCES/mpc-0.8.1.tar.gz
diff --git a/.gitignore b/.gitignore
index 5a8f8c1..4616ebe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
 SOURCES/doxygen-1.8.0.src.tar.gz
-SOURCES/gcc-9.1.1-20190605.tar.xz
+SOURCES/gcc-9.3.1-20200408.tar.xz
 SOURCES/isl-0.16.1.tar.bz2
 SOURCES/mpc-0.8.1.tar.gz
diff --git a/SOURCES/gcc9-dts-arm.patch b/SOURCES/gcc9-dts-arm.patch
deleted file mode 100644
index c22d892..0000000
--- a/SOURCES/gcc9-dts-arm.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-diff -Naurp a/libstdc++-v3/src/nonshared11/cow-shim_facets.cc b/libstdc++-v3/src/nonshared11/cow-shim_facets.cc
---- a/libstdc++-v3/src/nonshared11/cow-shim_facets.cc	2020-02-06 10:31:53.446807279 +0000
-+++ b/libstdc++-v3/src/nonshared11/cow-shim_facets.cc	2020-02-06 10:26:44.225333453 +0000
-@@ -168,7 +168,7 @@ asm (".hidden _ZTVNSt13__facet_shims12_G
- asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE");
- asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E");
- asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E");
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j");
- asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j");
- asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_");
-diff -Naurp a/libstdc++-v3/src/nonshared11/cow-stdexcept.cc b/libstdc++-v3/src/nonshared11/cow-stdexcept.cc
---- a/libstdc++-v3/src/nonshared11/cow-stdexcept.cc	2020-02-06 10:31:53.417808266 +0000
-+++ b/libstdc++-v3/src/nonshared11/cow-stdexcept.cc	2020-02-06 10:26:44.226333419 +0000
-@@ -35,7 +35,7 @@ asm (".hidden _ZNSt12__cow_stringaSEOS_"
- asm (".hidden _ZNSt12__cow_stringaSERKS_");
- asm (".hidden _ZNSt12__sso_stringC1ERKSs");
- asm (".hidden _ZNSt12__sso_stringC2ERKSs");
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZNSt12__cow_stringC1EPKcj");
- asm (".hidden _ZNSt12__cow_stringC2EPKcj");
- #else
-diff -Naurp a/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc b/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc
---- a/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc	2020-02-06 10:31:53.426807959 +0000
-+++ b/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc	2020-02-06 10:26:44.227333385 +0000
-@@ -168,7 +168,7 @@ asm (".hidden _ZTVNSt13__facet_shims12_G
- asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE");
- asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE");
- asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE");
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j");
- asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j");
- asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_");
-diff -Naurp a/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc
---- a/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc	2020-02-06 10:31:53.403808742 +0000
-+++ b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc	2020-02-06 10:26:44.227333385 +0000
-@@ -36,7 +36,7 @@ asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287
- 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__))
-+#if defined(__i386__) || defined(__arm__)  || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj");
- asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj");
- #else
-diff -Naurp a/libstdc++-v3/src/nonshared11/locale-inst-asm.S b/libstdc++-v3/src/nonshared11/locale-inst-asm.S
---- a/libstdc++-v3/src/nonshared11/locale-inst-asm.S	2020-02-06 10:31:53.405808674 +0000
-+++ b/libstdc++-v3/src/nonshared11/locale-inst-asm.S	2020-02-06 10:26:44.228333351 +0000
-@@ -43,6 +43,11 @@
- #define ALIGN3	.align 2
- #define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits
- #define SECTION3(x)SECTION2(x)
-+#elif defined __arm__
-+#define ALIGN1	.align 4
-+#define OBJECT %object
-+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits
-+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits
- #elif defined __aarch64__
- #define ALIGN1	.align 3
- #define ALIGN3	.align 3
-@@ -288,4 +293,4 @@ _ZTVSt16__numpunct_cacheIwE:
- 	POINTER	SYM(_ZTISt16__numpunct_cacheIwE)
- 	VPTR(_ZNSt16__numpunct_cacheIwED1Ev)
- 	VPTR(_ZNSt16__numpunct_cacheIwED0Ev)
--	.section	.note.GNU-stack,"",@progbits
-+	.section	.note.GNU-stack,"",%progbits
-diff -Naurp a/libstdc++-v3/src/nonshared11/locale-inst.cc b/libstdc++-v3/src/nonshared11/locale-inst.cc
---- a/libstdc++-v3/src/nonshared11/locale-inst.cc	2020-02-06 10:31:53.439807517 +0000
-+++ b/libstdc++-v3/src/nonshared11/locale-inst.cc	2020-02-06 10:30:38.905344733 +0000
-@@ -75,13 +75,13 @@ _GLIBCXX_END_NAMESPACE_VERSION
- 
- #ifndef _GLIBCXX_NONSHARED_CXX11_80
- #ifdef C_is_char
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcjPKS0_S5_");
- #else
- asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcmPKS0_S5_");
- #endif
- #else
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__) || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcjPKS0_S5_");
- #else
- asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcmPKS0_S5_");
-diff -Naurp a/libstdc++-v3/src/nonshared11/snprintf_lite.cc b/libstdc++-v3/src/nonshared11/snprintf_lite.cc
---- a/libstdc++-v3/src/nonshared11/snprintf_lite.cc	2020-02-06 10:31:53.451807108 +0000
-+++ b/libstdc++-v3/src/nonshared11/snprintf_lite.cc	2020-02-06 10:26:44.229333317 +0000
-@@ -30,6 +30,9 @@ asm (".hidden _ZN9__gnu_cxx15__snprintf_
- #elif defined(__powerpc__)
- asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj");
- asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcP13__va_list_tag");
-+#elif defined(__arm__)
-+asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj");
-+asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcSt9__va_list");
- #elif defined(__aarch64__)
- asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm");
- asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcSt9__va_list");
-diff -Naurp a/libstdc++-v3/src/nonshared11/sso_string.cc b/libstdc++-v3/src/nonshared11/sso_string.cc
---- a/libstdc++-v3/src/nonshared11/sso_string.cc	2020-02-06 10:31:53.447807245 +0000
-+++ b/libstdc++-v3/src/nonshared11/sso_string.cc	2020-02-06 10:26:44.230333283 +0000
-@@ -39,7 +39,7 @@ asm (".hidden _ZNSt12__sso_stringD1Ev");
- asm (".hidden _ZNSt12__sso_stringD2Ev");
- asm (".hidden _ZNSt12__sso_stringaSEOS_");
- asm (".hidden _ZNSt12__sso_stringaSERKS_");
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__)  || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZNSt12__sso_stringC1EPKcj");
- asm (".hidden _ZNSt12__sso_stringC2EPKcj");
- #else
-diff -Naurp a/libstdc++-v3/src/nonshared98/char8_t-rtti.S b/libstdc++-v3/src/nonshared98/char8_t-rtti.S
---- a/libstdc++-v3/src/nonshared98/char8_t-rtti.S	2020-02-06 14:28:37.000000000 +0000
-+++ b/libstdc++-v3/src/nonshared98/char8_t-rtti.S	2020-02-06 14:40:31.628979022 +0000
-@@ -21,12 +21,17 @@
-    <http://www.gnu.org/licenses/>.  */
- 
- #if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \
--    || defined __i386__ || defined __powerpc__ || defined __s390__
-+    || defined __i386__ || defined __powerpc__ || defined __s390__ || defined __arm__
- #ifdef __i386__
- #define ALIGN1	.align 4
- #elif defined __x86_64__
- #define ALIGN1	.align 32
- #define ALIGN2	.align 16
-+#elif defined __arm__
-+#define ALIGN1	.align 4
-+#define OBJECT %object
-+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits
-+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits
- #elif defined __ia64__
- #define ALIGN1	.align 8
- #define ALIGN3	.align 8
-@@ -163,4 +168,4 @@ _ZTSPDu:
- _ZTSDu:
- 	STRING	"Du"
- #endif
--	.section	.note.GNU-stack,"",@progbits
-+	.section	.note.GNU-stack,"",%progbits
-diff -Naurp a/libstdc++-v3/src/nonshared98/decimal-rtti.S b/libstdc++-v3/src/nonshared98/decimal-rtti.S
---- a/libstdc++-v3/src/nonshared98/decimal-rtti.S	2020-02-06 10:31:53.383809423 +0000
-+++ b/libstdc++-v3/src/nonshared98/decimal-rtti.S	2020-02-06 10:26:44.231333249 +0000
-@@ -21,7 +21,7 @@
-    <http://www.gnu.org/licenses/>.  */
- 
- #if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \
--    || defined __i386__ || defined __powerpc__ || defined __s390__
-+    || defined __i386__ || defined __powerpc__ || defined __s390__ || defined __arm__
- #ifdef __i386__
- #define ALIGN1	.align 4
- #elif defined __x86_64__
-@@ -43,6 +43,11 @@
- #define ALIGN3	.align 2
- #define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits
- #define SECTION3(x)SECTION2(x)
-+#elif defined __arm__
-+#define ALIGN1	.align 4
-+#define OBJECT %object
-+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits
-+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits
- #elif defined __aarch64__
- #define ALIGN1	.align 3
- #define ALIGN3	.align 3
-@@ -271,4 +276,4 @@ _ZTSPDf:
- _ZTSDf:
- 	STRING	"Df"
- #endif
--	.section	.note.GNU-stack,"",@progbits
-+	.section	.note.GNU-stack,"",%progbits
-diff -Naurp a/libstdc++-v3/src/nonshared98/float128.S b/libstdc++-v3/src/nonshared98/float128.S
---- a/libstdc++-v3/src/nonshared98/float128.S	2020-02-06 10:31:53.376809661 +0000
-+++ b/libstdc++-v3/src/nonshared98/float128.S	2020-02-06 10:26:44.231333249 +0000
-@@ -20,12 +20,17 @@
-    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-    <http://www.gnu.org/licenses/>.  */
- 
--#if defined __x86_64__ || defined __i386__ || defined __ia64__
-+#if defined __x86_64__ || defined __i386__ || defined __ia64__ || defined __arm__
- #ifdef __i386__
- #define ALIGN1	.align 4
- #elif defined __x86_64__
- #define ALIGN1	.align 32
- #define ALIGN2	.align 16
-+#elif defined __arm__
-+#define ALIGN1	.align 4
-+#define OBJECT %object
-+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits
-+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits
- #elif defined __ia64__
- #define ALIGN1	.align 8
- #define ALIGN3	.align 8
-@@ -159,4 +164,4 @@ _ZTSPg:
- _ZTSg:
- 	STRING	"g"
- #endif
--	.section	.note.GNU-stack,"",@progbits
-+	.section	.note.GNU-stack,"",%progbits
-diff -Naurp a/libstdc++-v3/src/nonshared98/int128.S b/libstdc++-v3/src/nonshared98/int128.S
---- a/libstdc++-v3/src/nonshared98/int128.S	2020-02-06 10:31:53.398808912 +0000
-+++ b/libstdc++-v3/src/nonshared98/int128.S	2020-02-06 10:26:44.232333215 +0000
-@@ -213,4 +213,4 @@ _ZTSPo:
- _ZTSo:
- 	STRING	"o"
- #endif
--	.section	.note.GNU-stack,"",@progbits
-+	.section	.note.GNU-stack,"",%progbits
-diff -Naurp a/libstdc++-v3/src/nonshared98/locale_facets.cc b/libstdc++-v3/src/nonshared98/locale_facets.cc
---- a/libstdc++-v3/src/nonshared98/locale_facets.cc	2020-02-06 10:31:53.381809491 +0000
-+++ b/libstdc++-v3/src/nonshared98/locale_facets.cc	2020-02-06 10:26:44.232333215 +0000
-@@ -22,7 +22,7 @@
- 
- #define _GLIBCXX_NONSHARED_CXX11
- #include "../c++98/locale_facets.cc"
--#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
-+#if defined(__i386__)  || defined(__arm__) || (defined(__powerpc__) && !defined(__powerpc64__))
- asm (".hidden _ZSt22__verify_grouping_implPKcjS0_j");
- #else
- asm (".hidden _ZSt22__verify_grouping_implPKcmS0_m");
-diff -Naurp a/libstdc++-v3/src/nonshared98/nullptr-rtti.S b/libstdc++-v3/src/nonshared98/nullptr-rtti.S
---- a/libstdc++-v3/src/nonshared98/nullptr-rtti.S	2020-02-06 10:31:53.396808981 +0000
-+++ b/libstdc++-v3/src/nonshared98/nullptr-rtti.S	2020-02-06 10:26:44.233333181 +0000
-@@ -21,7 +21,7 @@
-    <http://www.gnu.org/licenses/>.  */
- 
- #if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \
--    || defined __i386__ || defined __powerpc__ || defined __s390__
-+    || defined __i386__ || defined __powerpc__ || defined __s390__ || defined __arm__
- #ifdef __i386__
- #define ALIGN1	.align 4
- #elif defined __x86_64__
-@@ -43,6 +43,11 @@
- #define ALIGN3	.align 2
- #define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits
- #define SECTION3(x)SECTION2(x)
-+#elif defined __arm__
-+#define ALIGN1	.align 4
-+#define OBJECT	%object
-+#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",%progbits
-+#define SECTION3(x).section .gnu.linkonce.r.x,"a",%progbits
- #elif defined __aarch64__
- #define ALIGN1	.align 3
- #define ALIGN3	.align 3
-@@ -163,4 +168,4 @@ _ZTSPDn:
- _ZTSDn:
- 	STRING	"Dn"
- #endif
--	.section	.note.GNU-stack,"",@progbits
-+	.section	.note.GNU-stack,"",%progbits
diff --git a/SOURCES/gcc9-libstdc++-compat.patch b/SOURCES/gcc9-libstdc++-compat.patch
index 8d44c4b..05c82fa 100644
--- a/SOURCES/gcc9-libstdc++-compat.patch
+++ b/SOURCES/gcc9-libstdc++-compat.patch
@@ -1159,7 +1159,7 @@
 +#endif
 --- libstdc++-v3/src/nonshared98/locale-inst.cc.jj	2019-05-13 10:20:36.300517168 +0200
 +++ libstdc++-v3/src/nonshared98/locale-inst.cc	2019-05-13 10:20:36.300517168 +0200
-@@ -0,0 +1,40 @@
+@@ -0,0 +1,39 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -1199,7 +1199,6 @@
 +					   ios_base::iostate&) const;
 +
 +}
-+asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
 --- libstdc++-v3/src/nonshared98/stdexcept.cc.jj	2019-05-13 10:20:36.300517168 +0200
 +++ libstdc++-v3/src/nonshared98/stdexcept.cc	2019-05-13 10:20:36.300517168 +0200
 @@ -0,0 +1,44 @@
@@ -2572,7 +2571,7 @@
 +#include "../c++98/compatibility-debug_list-2.cc"
 --- libstdc++-v3/src/nonshared98/eh_alloc.cc.jj	2019-05-13 10:20:36.303517118 +0200
 +++ libstdc++-v3/src/nonshared98/eh_alloc.cc	2019-05-13 10:20:36.303517118 +0200
-@@ -0,0 +1,178 @@
+@@ -0,0 +1,177 @@
 +// -*- C++ -*- Allocate exception objects.
 +// Copyright (C) 2001-2019 Free Software Foundation, Inc.
 +//
@@ -2742,7 +2741,6 @@
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev");
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev");
 +asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv");
-+asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv");
 +asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv");
 +asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv");
 +asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE");
@@ -3404,7 +3402,7 @@
 +} // namespace
 --- libstdc++-v3/src/nonshared11/condition_variable.cc.jj	2019-05-13 10:20:36.305517085 +0200
 +++ libstdc++-v3/src/nonshared11/condition_variable.cc	2019-05-13 10:20:36.305517085 +0200
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,26 @@
 +// condition_variable -*- C++ -*-
 +
 +// Copyright (C) 2008-2019 Free Software Foundation, Inc.
@@ -3431,7 +3429,6 @@
 +
 +#define _GLIBCXX_NONSHARED_CXX11
 +#include "../c++11/condition_variable.cc"
-+asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt");
 --- libstdc++-v3/src/nonshared11/del_opvsa.cc.jj	2019-05-13 10:20:36.305517085 +0200
 +++ libstdc++-v3/src/nonshared11/del_opvsa.cc	2019-05-13 10:20:36.305517085 +0200
 @@ -0,0 +1,23 @@
@@ -3989,7 +3986,7 @@
 +} // namespace
 --- libstdc++-v3/src/nonshared11/debug44.cc.jj	2019-05-13 19:12:25.788286636 +0200
 +++ libstdc++-v3/src/nonshared11/debug44.cc	2019-05-14 16:52:30.605961178 +0200
-@@ -0,0 +1,265 @@
+@@ -0,0 +1,264 @@
 +// Copyright (C) 2003-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -4239,7 +4236,6 @@
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev");
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev");
 +asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv");
-+asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv");
 +asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv");
 +asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv");
 +asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE");
@@ -4367,7 +4363,7 @@
 +#include "../c++11/placeholders.cc"
 --- libstdc++-v3/src/nonshared11/future.cc.jj	2019-05-13 10:20:36.306517068 +0200
 +++ libstdc++-v3/src/nonshared11/future.cc	2019-05-13 10:20:36.306517068 +0200
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,33 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -4394,14 +4390,13 @@
 +#undef _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE
 +#include "../c++11/future.cc"
 +const std::error_category* _ZSt15future_category = &__future_category_instance();
++asm (".hidden _ZNSt13__future_base11_State_base15_M_run_deferredEv");
++asm (".hidden _ZTSNSt13__future_base11_State_baseE");
 +asm (".hidden _ZTSNSt13__future_base12_Result_baseE");
 +asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
 +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
 +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
-+asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt");
 +asm (".hidden _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv");
-+asm (".hidden _ZNSt12future_errorC1ESt10error_code");
-+asm (".hidden _ZNSt12future_errorC2ESt10error_code");
 --- libstdc++-v3/src/nonshared11/cow-string-inst80.cc.jj	2019-05-14 13:33:19.534538731 +0200
 +++ libstdc++-v3/src/nonshared11/cow-string-inst80.cc	2019-05-14 13:37:42.380149925 +0200
 @@ -0,0 +1,24 @@
@@ -4570,7 +4565,7 @@
 +}
 --- libstdc++-v3/src/nonshared11/future48.cc.jj	2019-05-13 10:20:36.306517068 +0200
 +++ libstdc++-v3/src/nonshared11/future48.cc	2019-05-14 16:53:17.575176079 +0200
-@@ -0,0 +1,32 @@
+@@ -0,0 +1,31 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -4595,7 +4590,6 @@
 +
 +#define _GLIBCXX_NONSHARED_CXX11_48
 +#include "../c++11/future.cc"
-+asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt");
 +asm (".hidden _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv");
 +asm (".hidden _ZNSt12future_errorC1ESt10error_code");
 +asm (".hidden _ZNSt12future_errorC2ESt10error_code");
@@ -4801,7 +4795,7 @@
 +}
 --- libstdc++-v3/src/nonshared11/shared_ptr48.cc.jj	2019-05-13 10:20:36.306517068 +0200
 +++ libstdc++-v3/src/nonshared11/shared_ptr48.cc	2019-05-14 17:29:25.088963769 +0200
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,40 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -4833,7 +4827,6 @@
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev");
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev");
 +asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv");
-+asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv");
 +asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv");
 +asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv");
 +asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE");
@@ -5055,7 +5048,7 @@
 +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
 --- libstdc++-v3/src/nonshared11/shared_ptr44.cc.jj	2019-05-13 10:20:36.307517051 +0200
 +++ libstdc++-v3/src/nonshared11/shared_ptr44.cc	2019-05-14 17:29:32.324842951 +0200
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,40 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -5087,7 +5080,6 @@
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev");
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev");
 +asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv");
-+asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv");
 +asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv");
 +asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv");
 +asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE");
@@ -6386,7 +6378,7 @@
 +#include "cow-sstream-inst.cc"
 --- libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc.jj	2019-05-13 10:20:36.309517018 +0200
 +++ libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc	2019-05-14 16:50:55.673547996 +0200
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,39 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -6426,11 +6418,9 @@
 +asm (".hidden _ZZSt9call_onceIMSt6threadFvvEJPS0_EEvRSt9once_flagOT_DpOT0_ENUlvE0_4_FUNEv");
 +asm (".hidden _ZNSt13__future_base19_Async_state_common15_M_run_deferredEv"); 
 +asm (".hidden _ZNSt13__future_base7_ResultIvE10_M_destroyEv");
-+asm (".hidden _ZNSt13__future_base11_State_base15_M_run_deferredEv");
-+asm (".hidden _ZTSNSt13__future_base11_State_baseE");
 --- libstdc++-v3/src/nonshared11/locale-inst.cc.jj	2019-05-13 10:20:36.309517018 +0200
 +++ libstdc++-v3/src/nonshared11/locale-inst.cc	2019-05-14 17:24:20.802045668 +0200
-@@ -0,0 +1,91 @@
+@@ -0,0 +1,90 @@
 +// Locale support -*- C++ -*-
 +
 +// Copyright (C) 1999-2019 Free Software Foundation, Inc.
@@ -6521,7 +6511,6 @@
 +#endif
 +#endif
 +#endif
-+asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
 --- libstdc++-v3/src/nonshared11/cow-wstring-inst44.cc.jj	2019-05-13 10:20:36.309517018 +0200
 +++ libstdc++-v3/src/nonshared11/cow-wstring-inst44.cc	2019-05-13 19:01:54.950686999 +0200
 @@ -0,0 +1,35 @@
@@ -7043,7 +7032,7 @@
 +#include "random.cc"
 --- libstdc++-v3/src/nonshared11/string-io-inst.cc.jj	2019-05-13 10:20:36.310517002 +0200
 +++ libstdc++-v3/src/nonshared11/string-io-inst.cc	2019-05-14 17:31:01.721350318 +0200
-@@ -0,0 +1,56 @@
+@@ -0,0 +1,55 @@
 +// SSO string instantiations for I/O -*- C++ -*-
 +
 +// Copyright (C) 1997-2019 Free Software Foundation, Inc.
@@ -7099,7 +7088,6 @@
 +  I& getline(I&, S&);
 +}
 +
-+asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
 --- libstdc++-v3/src/nonshared11/cow-shim_facets.cc.jj	2019-05-13 10:20:36.310517002 +0200
 +++ libstdc++-v3/src/nonshared11/cow-shim_facets.cc	2019-05-13 10:20:36.310517002 +0200
 @@ -0,0 +1,181 @@
@@ -8397,7 +8385,7 @@
 +asm (".hidden _ZN9__gnu_cxx26__throw_insufficient_spaceEPKcS1_");
 --- libstdc++-v3/src/nonshared11/new_handler.cc.jj	2019-05-13 10:20:36.310517002 +0200
 +++ libstdc++-v3/src/nonshared11/new_handler.cc	2019-05-13 10:20:36.310517002 +0200
-@@ -0,0 +1,72 @@
+@@ -0,0 +1,71 @@
 +// Implementation file for the -*- C++ -*- dynamic memory management header.
 +
 +// Copyright (C) 1996-2019 Free Software Foundation, Inc.
@@ -8461,7 +8449,6 @@
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev");
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev");
 +asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv");
-+asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv");
 +asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv");
 +asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv");
 +asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE");
@@ -9001,7 +8988,7 @@
 +} // namespace
 --- libstdc++-v3/src/nonshared11/eh_terminate.cc.jj	2019-05-13 10:20:36.311516985 +0200
 +++ libstdc++-v3/src/nonshared11/eh_terminate.cc	2019-05-13 10:20:36.311516985 +0200
-@@ -0,0 +1,92 @@
+@@ -0,0 +1,91 @@
 +// Implementation file for the -*- C++ -*- dynamic memory management header.
 +
 +// Copyright (C) 1994-2019 Free Software Foundation, Inc.
@@ -9085,7 +9072,6 @@
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev");
 +asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev");
 +asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv");
-+asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv");
 +asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv");
 +asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv");
 +asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE");
@@ -9160,7 +9146,7 @@
 +#include "../libsupc++/del_opva.cc"
 --- libstdc++-v3/src/nonshared11/functexcept.cc.jj	2019-05-13 10:20:36.312516968 +0200
 +++ libstdc++-v3/src/nonshared11/functexcept.cc	2019-05-13 10:20:36.312516968 +0200
-@@ -0,0 +1,70 @@
+@@ -0,0 +1,72 @@
 +// Copyright (C) 2001-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -9231,6 +9217,8 @@
 +
 +_GLIBCXX_END_NAMESPACE_VERSION
 +} // namespace
++asm (".hidden _ZNSt12future_errorC1ESt10error_code");
++asm (".hidden _ZNSt12future_errorC2ESt10error_code");
 --- libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc.jj	2019-05-14 15:34:40.267016992 +0200
 +++ libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc	2019-05-14 16:52:01.167453250 +0200
 @@ -0,0 +1,24 @@
@@ -9440,7 +9428,7 @@
 +asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED2Ev");
 --- libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc.jj	2019-05-13 10:20:36.312516968 +0200
 +++ libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc	2019-05-14 17:35:35.107785663 +0200
-@@ -0,0 +1,48 @@
+@@ -0,0 +1,47 @@
 +// Copyright (C) 2012-2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -9480,7 +9468,6 @@
 +asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_");
 +#endif
 +asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc");
-+asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
 +asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc");
 +asm (".hidden _ZSt16__convert_from_vRKP15__locale_structPciPKcz");
 +asm (".hidden _ZTISt10money_base");
@@ -9691,7 +9678,7 @@
  } // namespace
 --- libstdc++-v3/src/nonshared17/cow-fs_ops.cc.jj	2019-05-13 10:33:09.443939688 +0200
 +++ libstdc++-v3/src/nonshared17/cow-fs_ops.cc	2019-05-14 19:54:55.667219247 +0200
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,40 @@
 +// Copyright (C) 2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -9727,7 +9714,6 @@
 +asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED2Ev");
 +#ifdef __x86_64__
 +asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEm");
-+asm (".hidden _ZSt13move_backwardINSt10filesystem4pathEESt15_Deque_iteratorIT_RS3_PS3_ES2_IS3_RKS3_PS7_ESA_S6_");
 +asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_m");
 +asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEmb");
 +asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEm");
@@ -9735,7 +9721,7 @@
 +#endif
 --- libstdc++-v3/src/nonshared17/cow-fs_path.cc.jj	2019-05-13 10:33:09.447939622 +0200
 +++ libstdc++-v3/src/nonshared17/cow-fs_path.cc	2019-05-14 18:43:03.283254489 +0200
-@@ -0,0 +1,73 @@
+@@ -0,0 +1,66 @@
 +// Copyright (C) 2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -9767,7 +9753,6 @@
 +asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_");
 +asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_");
 +asm (".hidden _ZNSt10filesystem4path19preferred_separatorE");
-+asm (".hidden _ZNSt10filesystem4path4_CvtIwE10_S_convertEPKwS4_");
 +asm (".hidden _ZNSt10filesystem4path5_List5clearEv");
 +asm (".hidden _ZNSt10filesystem4path5_List5_Impl13_M_erase_fromEPKNS0_5_CmptE");
 +asm (".hidden _ZNSt10filesystem4path5_List7reserveEib");
@@ -9776,9 +9761,6 @@
 +asm (".hidden _ZNSt10filesystem4path5_ListC2Ev");
 +asm (".hidden _ZNSt10filesystem4pathD1Ev");
 +asm (".hidden _ZNSt10filesystem4pathD2Ev");
-+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev");
-+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev");
-+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev");
 +asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_");
 +asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
 +asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEaSEOS6_");
@@ -9797,16 +9779,13 @@
 +asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
 +asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
 +asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
-+asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
 +asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZTSNSt10filesystem16filesystem_errorE");
 +asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
-+asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
 +asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZTSSt19_Sp_make_shared_tag");
 +asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
-+asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
 +asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
 --- libstdc++-v3/src/nonshared17/memory_resource.cc.jj	2019-05-13 10:33:09.463939355 +0200
@@ -9866,7 +9845,7 @@
 +#endif
 --- libstdc++-v3/src/nonshared17/fs_dir.cc.jj	2019-05-13 10:33:09.453939522 +0200
 +++ libstdc++-v3/src/nonshared17/fs_dir.cc	2019-05-14 19:55:29.475655057 +0200
-@@ -0,0 +1,99 @@
+@@ -0,0 +1,101 @@
 +// Copyright (C) 2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -9906,7 +9885,9 @@
 +asm (".hidden _ZNSt10filesystem7__cxx114_DirD2Ev");
 +asm (".hidden _ZNSt10filesystem7__cxx114pathD1Ev");
 +asm (".hidden _ZNSt10filesystem7__cxx114pathD2Ev");
++#ifdef __x86_64__
 +asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code");
++#endif
 +asm (".hidden _ZNSt10filesystem9_Dir_baseC1EPKcbRSt10error_code");
 +asm (".hidden _ZNSt10filesystem9_Dir_baseC2EPKcbRSt10error_code");
 +asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_");
@@ -9995,7 +9976,7 @@
 +#include "fs_path.cc"
 --- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj	2019-05-13 10:33:09.439939755 +0200
 +++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc	2019-05-14 20:00:52.864258362 +0200
-@@ -0,0 +1,97 @@
+@@ -0,0 +1,99 @@
 +// Copyright (C) 2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -10035,7 +10016,9 @@
 +asm (".hidden _ZNSt10filesystem4_DirD2Ev");
 +asm (".hidden _ZNSt10filesystem4pathD1Ev");
 +asm (".hidden _ZNSt10filesystem4pathD2Ev");
++#ifdef __x86_64__
 +asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code");
++#endif
 +asm (".hidden _ZNSt10filesystem9_Dir_baseC1EPKcbRSt10error_code");
 +asm (".hidden _ZNSt10filesystem9_Dir_baseC2EPKcbRSt10error_code");
 +asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_");
@@ -10228,7 +10211,7 @@
 +	$(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
 --- libstdc++-v3/src/nonshared17/fs_path.cc.jj	2019-05-13 10:33:09.459939422 +0200
 +++ libstdc++-v3/src/nonshared17/fs_path.cc	2019-05-14 19:07:12.668093480 +0200
-@@ -0,0 +1,79 @@
+@@ -0,0 +1,73 @@
 +// Copyright (C) 2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -10268,9 +10251,6 @@
 +asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2Ev");
 +asm (".hidden _ZNSt10filesystem7__cxx114pathD1Ev");
 +asm (".hidden _ZNSt10filesystem7__cxx114pathD2Ev");
-+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev");
-+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev");
-+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev");
 +asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS7_");
 +asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
 +asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEaSEOS7_");
@@ -10296,16 +10276,13 @@
 +#endif
 +#endif
 +asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
-+asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
 +asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZTSNSt10filesystem7__cxx1116filesystem_errorE");
 +asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
-+asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
 +asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZTSSt19_Sp_make_shared_tag");
 +asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
-+asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
 +asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
 +asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
 --- libstdc++-v3/src/nonshared17/cow-string-inst.cc.jj	2019-05-13 10:33:09.451939555 +0200
@@ -11127,7 +11104,7 @@
 +.NOEXPORT:
 --- libstdc++-v3/src/nonshared17/fs_ops.cc.jj	2019-05-13 10:33:09.456939472 +0200
 +++ libstdc++-v3/src/nonshared17/fs_ops.cc	2019-05-14 20:00:02.088105705 +0200
-@@ -0,0 +1,53 @@
+@@ -0,0 +1,52 @@
 +// Copyright (C) 2019 Free Software Foundation, Inc.
 +//
 +// This file is part of the GNU ISO C++ Library.  This library is free
@@ -11179,7 +11156,6 @@
 +asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_m");
 +asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEm");
 +asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEm");
-+asm (".hidden _ZSt13move_backwardINSt10filesystem7__cxx114pathEESt15_Deque_iteratorIT_RS4_PS4_ES3_IS4_RKS4_PS8_ESB_S7_");
 +#endif
 --- libstdc++-v3/src/nonshared17/ostream-inst.cc.jj	2019-05-13 10:33:09.466939305 +0200
 +++ libstdc++-v3/src/nonshared17/ostream-inst.cc	2019-05-14 18:43:03.283254489 +0200
@@ -11877,17 +11853,17 @@
    }
  
    void
-@@ -127,6 +129,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
-     _M_mt.seed(_M_strtoul(token));
+@@ -147,6 +149,7 @@
+ #endif
    }
  
 +#ifndef _GLIBCXX_NONSHARED_CXX11_48
    void
    random_device::_M_fini()
    {
-@@ -172,6 +175,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
-   {
+@@ -196,6 +199,7 @@
      return _M_mt();
+ #endif
    }
 +#endif
  
@@ -11931,8 +11907,8 @@
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 11848 "configure"
-+#line 11850 "configure"
+-#line 12051 "configure"
++#line 12053 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
@@ -11940,8 +11916,8 @@
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
--#line 11954 "configure"
-+#line 11956 "configure"
+-#line 12157 "configure"
++#line 12159 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
@@ -11949,8 +11925,8 @@
    # Fake what AC_TRY_COMPILE does.
  
      cat > conftest.$ac_ext << EOF
--#line 15640 "configure"
-+#line 15642 "configure"
+-#line 15843 "configure"
++#line 15845 "configure"
  int main()
  {
    typedef bool atomic_type;
@@ -11958,8 +11934,8 @@
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
--#line 15675 "configure"
-+#line 15677 "configure"
+-#line 15878 "configure"
++#line 15880 "configure"
  int main()
  {
    typedef short atomic_type;
@@ -11967,8 +11943,8 @@
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
--#line 15710 "configure"
-+#line 15712 "configure"
+-#line 15913 "configure"
++#line 15915 "configure"
  int main()
  {
    // NB: _Atomic_word not necessarily int.
@@ -11976,8 +11952,8 @@
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
--#line 15746 "configure"
-+#line 15748 "configure"
+-#line 15949 "configure"
++#line 15951 "configure"
  int main()
  {
    typedef long long atomic_type;
@@ -11985,8 +11961,8 @@
    # unnecessary for this test.
  
      cat > conftest.$ac_ext << EOF
--#line 15899 "configure"
-+#line 15901 "configure"
+-#line 16102 "configure"
++#line 16104 "configure"
  int main()
  {
    _Decimal32 d1;
@@ -11994,8 +11970,8 @@
    # unnecessary for this test.
  
      cat > conftest.$ac_ext << EOF
--#line 15941 "configure"
-+#line 15943 "configure"
+-#line 16144 "configure"
++#line 16146 "configure"
  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
@@ -12003,8 +11979,8 @@
      rm -f conftest*
  
      cat > conftest.$ac_ext << EOF
--#line 15975 "configure"
-+#line 15977 "configure"
+-#line 16178 "configure"
++#line 16180 "configure"
  template<typename T1, typename T2>
    struct same
    { typedef T2 type; };
diff --git a/SOURCES/gcc9-libstdc++-docs.patch b/SOURCES/gcc9-libstdc++-docs.patch
index 4656a79..ce07f32 100644
--- a/SOURCES/gcc9-libstdc++-docs.patch
+++ b/SOURCES/gcc9-libstdc++-docs.patch
@@ -4,7 +4,7 @@
        <a class="link" href="https://www.fsf.org" target="_top">FSF
        </a>
      </p><p>
-+      Release 9.1.1
++      Release 9.3.1
 +    </p><p>
        Permission is granted to copy, distribute and/or modify this
        document under the terms of the GNU Free Documentation
@@ -17,7 +17,7 @@
  </p><p>
 -  The API documentation, rendered into HTML, can be viewed online
 +  The API documentation, rendered into HTML, can be viewed locally
-+  <a class="link" href="api/index.html" target="_top">for the 9.1.1 release</a>,
++  <a class="link" href="api/index.html" target="_top">for the 9.3.1 release</a>,
 +  online
    <a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
    and
diff --git a/SOURCES/gcc9-pr90756.patch b/SOURCES/gcc9-pr90756.patch
deleted file mode 100644
index c43fb18..0000000
--- a/SOURCES/gcc9-pr90756.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-2019-07-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/90756
-	* explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it
-	for VECTOR_TYPE_P.
-
---- gcc/explow.c
-+++ gcc/explow.c
-@@ -892,16 +892,7 @@ promote_ssa_mode (const_tree name, int *punsignedp)
- 
-   tree type = TREE_TYPE (name);
-   int unsignedp = TYPE_UNSIGNED (type);
--  machine_mode mode = TYPE_MODE (type);
--
--  /* Bypass TYPE_MODE when it maps vector modes to BLKmode.  */
--  if (mode == BLKmode)
--    {
--      gcc_assert (VECTOR_TYPE_P (type));
--      mode = type->type_common.mode;
--    }
--
--  machine_mode pmode = promote_mode (type, mode, &unsignedp);
-+  machine_mode pmode = promote_mode (type, TYPE_MODE (type), &unsignedp);
-   if (punsignedp)
-     *punsignedp = unsignedp;
- 
---- /dev/null
-+++ gcc/testsuite/gcc.dg/pr90756.c
-@@ -0,0 +1,26 @@
-+/* PR rtl-optimization/90756 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -Wno-psabi" } */
-+/* { dg-additional-options "-mno-sse" { target ia32 } } */
-+
-+typedef float B __attribute__((vector_size(4 * sizeof (float))));
-+typedef unsigned long long C __attribute__((vector_size(4 * sizeof (long long))));
-+typedef short D __attribute__((vector_size(4 * sizeof (short))));
-+B z;
-+void foo (C);
-+C bar (D);
-+B baz ();
-+D qux (B);
-+
-+void
-+quux (int x)
-+{
-+  B n = z, b = z;
-+  while (1)
-+    switch (x)
-+      {
-+      case 0: n = baz (); /* FALLTHRU */
-+      case 1: { B o = n; n = b; b = o; } /* FALLTHRU */
-+      case 2: { D u = qux (b); C v = bar (u); foo (v); }
-+      }
-+}
diff --git a/SPECS/gcc.spec b/SPECS/gcc.spec
index 95ed60b..ae381af 100644
--- a/SPECS/gcc.spec
+++ b/SPECS/gcc.spec
@@ -2,9 +2,9 @@
 %{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
 %{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
 %{?scl:%scl_package gcc}
-%global DATE 20190605
-%global SVNREV 271961
-%global gcc_version 9.1.1
+%global DATE 20200408
+%global gitrev 3535aa1f5e6c9b2de6a60d84460b8c5945a77ab4
+%global gcc_version 9.3.1
 %global gcc_major 9
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %%{release}, append them after %%{gcc_release} on Release: line.
@@ -113,14 +113,16 @@
 Summary: GCC version 9
 Name: %{?scl_prefix}gcc
 Version: %{gcc_version}
-Release: %{gcc_release}.6%{?dist}
+Release: %{gcc_release}%{?dist}
 # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
 # GCC Runtime Exception.
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
 # The source for this package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
-# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-9-branch@%%{SVNREV} gcc-%%{version}-%%{DATE}
-# tar cf - gcc-%%{version}-%%{DATE} | xz -9e > gcc-%%{version}-%%{DATE}.tar.xz
+# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
+# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev}
+# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz
+# rm -rf gcc-dir.tmp
 Source0: gcc-%{version}-%{DATE}.tar.xz
 Source1: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-%{isl_version}.tar.bz2
 Source2: http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz
@@ -265,9 +267,6 @@ Provides: liblto_plugin.so.0
 %if 0%{?rhel} == 6
 ExclusiveArch: x86_64 %{ix86}
 %endif
-%ifarch %{arm}
-%global oformat OUTPUT_FORMAT(elf32-littlearm)
-%endif
 
 Patch0: gcc9-hack.patch
 Patch1: gcc9-i386-libgomp.patch
@@ -281,7 +280,6 @@ Patch8: gcc9-foffload-default.patch
 Patch9: gcc9-Wno-format-security.patch
 Patch10: gcc9-rh1574936.patch
 Patch11: gcc9-d-shared-libphobos.patch
-Patch12: gcc9-pr90756.patch
 
 Patch1000: gcc9-libstdc++-compat.patch
 Patch1001: gcc9-alt-compat-test.patch
@@ -309,10 +307,6 @@ Patch3014: 0014-Fill-in-missing-array-dimensions-using-the-lower-bou.patch
 Patch3015: 0015-Allow-automatics-in-equivalence.patch
 Patch3016: 0016-Suppress-warning-with-Wno-overwrite-recursive.patch
 
- 
-# specific patches for .el7 armhfp build
-Patch10001: gcc9-dts-arm.patch
-
 %if 0%{?rhel} > 7
 %global nonsharedver 80
 %else
@@ -324,9 +318,7 @@ Patch10001: gcc9-dts-arm.patch
 %endif
 
 %if 0%{?scl:1}
-%ifnarch %{arm}
 %global _gnu %{nil}
-%endif
 %else
 %global _gnu 7E
 %endif
@@ -336,10 +328,7 @@ Patch10001: gcc9-dts-arm.patch
 %ifarch ppc ppc64p7
 %global gcc_target_platform ppc64-%{_vendor}-%{_target_os}%{?_gnu}
 %endif
-%ifarch %{arm}
-%global gcc_target_platform armv7hl-%{_vendor}-%{_target_os}-gnueabi
-%endif
-%ifnarch sparcv9 ppc ppc64p7 %{arm}
+%ifnarch sparcv9 ppc ppc64p7
 %global gcc_target_platform %{_target_platform}
 %endif
 
@@ -639,7 +628,6 @@ This package contains Leak Sanitizer static runtime library.
 %patch10 -p0 -b .rh1574936~
 %endif
 %patch11 -p0 -b .d-shared-libphobos~
-%patch12 -p0 -b .pr90756~
 
 %patch1000 -p0 -b .libstdc++-compat~
 %ifarch %{ix86} x86_64
@@ -681,10 +669,6 @@ cd ..
 %patch3015 -p1 -b .fortran15~
 %patch3016 -p1 -b .fortran16~
 
-%ifarch %{arm}
-%patch10001 -p1 -b .arm1
-%endif
-
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
 
 %if 0%{?rhel} == 6
@@ -723,6 +707,14 @@ fi
 # This test causes fork failures, because it spawns way too many threads
 rm -f gcc/testsuite/go.test/test/chan/goroutines.go
 
+
+# These tests get stuck and don't timeout.
+%ifarch ppc64
+rm -f libgomp/testsuite/libgomp.c/target-32.c
+rm -f libgomp/testsuite/libgomp.c/target-33.c
+rm -f libgomp/testsuite/libgomp.c/target-34.c
+%endif
+
 %build
 
 # Undo the broken autoconf change in recent Fedora versions
@@ -913,10 +905,6 @@ CONFIGURE_OPTS="\
 %ifarch mips64 mips64el
 	--with-arch=mips64r2 --with-abi=64 \
 %endif
-%ifarch armv7hl
-	--with-tune=cortex-a8 --with-arch=armv7-a \
-	--with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux \
-%endif
 %ifnarch sparc sparcv9 ppc
 	--build=%{gcc_target_platform} \
 %endif
@@ -2566,6 +2554,25 @@ fi
 %doc rpm.doc/changelogs/libcc1/ChangeLog*
 
 %changelog
+* Wed Apr  8 2020 Marek Polacek <polacek@redhat.com> 9.3.1-2
+- update from Fedora gcc-9.3.1-2
+
+* Tue Apr 7 2020 Marek Polacek <polacek@redhat.com> 9.3.1-1.1
+- include the c++/93597 fix
+- remove several .hidden symbols from gcc9-libstdc++-compat
+
+* Wed Mar 18 2020 Marek Polacek <polacek@redhat.com> 9.3.1-1
+- update from Fedora gcc-9.3.1-1 (#1812147)
+
+* Thu Feb  6 2020 Marek Polacek <polacek@redhat.com> 9.2.1-3.8
+- remove a few *codecvt_utf8* symbols from gcc9-libstdc++-compat
+
+* Wed Jan 29 2020 Marek Polacek <polacek@redhat.com> 9.2.1-3.7
+- gcc9-libstdc++-compat fix: move _ZSt19__throw_ios_failurePKc
+
+* Wed Jan 29 2020 Marek Polacek <polacek@redhat.com> 9.2.1-3.6
+- update from Fedora gcc-9.2.1-3 (#1783475)
+
 * Thu Nov 21 2019 Marek Polacek <polacek@redhat.com> 9.1.1-2.6
 - fix libgomp_nonshared.a symlink on ppc64