diff --git a/.gcc-toolset-13-gcc.metadata b/.gcc-toolset-13-gcc.metadata
index f61addb..717c2cc 100644
--- a/.gcc-toolset-13-gcc.metadata
+++ b/.gcc-toolset-13-gcc.metadata
@@ -1,4 +1,4 @@
-c6598a786781f7b8a3131f96995641f45e7b96a5 SOURCES/gcc-13.1.1-20230614.tar.xz
+8ebd6709d853b5be064b5a0499927c721ac172f8 SOURCES/gcc-13.2.1-20231205.tar.xz
ae5fbb33bcb442121fbbf482a93f6b3c84d489ee SOURCES/isl-0.24.tar.bz2
003af8bc05476507f4dd02340b727b72b404e275 SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
-efdf76a82380d621f0318f3ddf582e033ffd0f75 SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz
+6bfe7ac1b208935ee2c0939bb47cfe775c1c81b3 SOURCES/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz
diff --git a/.gitignore b/.gitignore
index 0d6bc47..0eedc39 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-SOURCES/gcc-13.1.1-20230614.tar.xz
+SOURCES/gcc-13.2.1-20231205.tar.xz
SOURCES/isl-0.24.tar.bz2
SOURCES/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
-SOURCES/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz
+SOURCES/nvptx-tools-aa3404ad5a496cda5d79a50bedb1344fd63e8763.tar.xz
diff --git a/SOURCES/gcc13-libstdc++-compat.patch b/SOURCES/gcc13-libstdc++-compat.patch
index d75acda..c3fc803 100644
--- a/SOURCES/gcc13-libstdc++-compat.patch
+++ b/SOURCES/gcc13-libstdc++-compat.patch
@@ -8535,7 +8535,7 @@
+#include "../c++20/sstream-inst.cc"
--- libstdc++-v3/src/nonshared20/sstream-inst80.cc.jj 2023-05-19 12:22:56.772881680 +0200
+++ libstdc++-v3/src/nonshared20/sstream-inst80.cc 2023-05-19 19:36:15.480300978 +0200
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,36 @@
+// Copyright (C) 2012-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -8563,16 +8563,18 @@
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
+//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv");
+//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_");
-+#if defined(__powerpc__) && !defined(__powerpc64__)
++#if defined(__i386__)
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj");
+#endif
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv");
+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv");
++#if defined(__x86_64__) || defined(__aarch64__)
+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm");
++#endif
--- libstdc++-v3/src/nonshared20/tzdb.cc.jj 2023-05-19 14:48:48.951405987 +0200
+++ libstdc++-v3/src/nonshared20/tzdb.cc 2023-05-19 20:27:30.804879166 +0200
-@@ -0,0 +1,91 @@
+@@ -0,0 +1,96 @@
+// Copyright The GNU Toolchain Authors.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -8638,23 +8640,23 @@
+asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
+asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
+asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
++#if !defined(__i386__)
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++#endif
+asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZNSt6chrono9tzdb_list5_Node12_S_init_tzdbEv");
+asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE");
+asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZTSSt19_Sp_make_shared_tag");
-+#ifndef __i386__
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
-+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
-+#endif
+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
+asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev");
+asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev");
@@ -8664,6 +8666,11 @@
+asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
+asm (".hidden _ZZNSt8__detail18__waiter_pool_base6_S_forEPKvE3__w");
++#if defined(__i386__)
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
++#endif
--- libstdc++-v3/src/nonshared20/Makefile.am.jj 2023-05-19 12:22:56.772881680 +0200
+++ libstdc++-v3/src/nonshared20/Makefile.am 2023-05-19 20:25:37.592479213 +0200
@@ -0,0 +1,128 @@
@@ -8797,7 +8804,7 @@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
--- libstdc++-v3/src/nonshared20/tzdb80.cc.jj 2023-05-19 20:25:50.447297532 +0200
+++ libstdc++-v3/src/nonshared20/tzdb80.cc 2023-05-19 19:51:19.200552634 +0200
-@@ -0,0 +1,124 @@
+@@ -0,0 +1,128 @@
+// Copyright The GNU Toolchain Authors.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -8855,9 +8862,6 @@
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_");
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_");
+asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono9time_zoneEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_");
-+#if defined(__x86_64__) || defined(__aarch64__)
-+asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_");
-+#endif
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_");
+asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono14time_zone_linkEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_");
+asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_");
@@ -8865,52 +8869,33 @@
+asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
+asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
+asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
++#if !defined(__i386__)
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm");
++#endif
+asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZNSt6chrono9tzdb_list5_Node12_S_init_tzdbEv");
+asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE");
+asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
++#if 0
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev");
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
-+asm (".hidden _ZTSSt19_Sp_make_shared_tag");
-+#ifdef __i386__
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
-+asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj");
-+#endif
-+#ifndef __i386__
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm");
-+asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm");
-+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
-+asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
+#endif
++asm (".hidden _ZTSSt19_Sp_make_shared_tag");
+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
+asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev");
+asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev");
@@ -8920,8 +8905,34 @@
+asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
+asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
+asm (".hidden _ZZNSt8__detail18__waiter_pool_base6_S_forEPKvE3__w");
-+asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv");
++#if defined(__aarch64__) || defined(__powerpc64__) || defined(__x86_64__)
+asm (".hidden _ZNKSt10filesystem7__cxx114path8iteratordeEv");
++#endif
++#if defined(__aarch64__) || defined(__x86_64__)
++asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_");
++#endif
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_");
++asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_");
++#if defined(__i386__)
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj");
++asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_");
++#endif
--- libstdc++-v3/src/nonshared20/Makefile.in.jj 2023-05-19 12:22:56.773881666 +0200
+++ libstdc++-v3/src/nonshared20/Makefile.in 2023-05-19 20:27:53.348560551 +0200
@@ -0,0 +1,791 @@
@@ -9840,7 +9851,7 @@
} // namespace std
--- libstdc++-v3/src/nonshared17/floating_from_chars.cc.jj 2023-05-19 12:22:56.798881312 +0200
+++ libstdc++-v3/src/nonshared17/floating_from_chars.cc 2023-05-19 19:52:38.332436134 +0200
-@@ -0,0 +1,44 @@
+@@ -0,0 +1,47 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -9864,7 +9875,8 @@
+// .
+
+#include "../c++17/floating_from_chars.cc"
-+#if !defined(__i386__) && !defined(__aarch64__)
++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
++#else
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm");
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
+#endif
@@ -9874,20 +9886,22 @@
+#if !defined(__i386__)
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++#if !defined(__aarch64__)
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm");
++#endif
+#endif
+//asm (".hidden _ZZNSt8__detail25__from_chars_alnum_to_valILb0EEEhhE7__table");
+#ifdef __i386__
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERjj");
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj");
-+//asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
-+//asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
-+#endif
-+#ifndef __s390x__
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm");
++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
+#endif
+asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE");
--- libstdc++-v3/src/nonshared17/floating_from_chars110.cc.jj 2023-05-19 18:08:44.662186963 +0200
+++ libstdc++-v3/src/nonshared17/floating_from_chars110.cc 2023-05-19 19:46:37.242530879 +0200
-@@ -0,0 +1,47 @@
+@@ -0,0 +1,53 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -9912,32 +9926,38 @@
+
+#define _GLIBCXX_NONSHARED_CXX11_110
+#include "../c++17/floating_from_chars.cc"
-+#if !defined(__i386__)
++#ifndef __s390x__
++#ifndef __i386__
++#if !defined(__aarch64__)
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm");
++#endif
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
+#endif
-+#if defined(__x86_64__) || defined(__powerpc64__)
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm");
+#endif
-+asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE");
-+#if defined(__powerpc64__)
-+asm (".hidden _ZSt8to_charsPcS_u9__ieee128");
-+asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_format");
-+asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_formati");
++#if defined (__s390x__)
++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++#endif
++#if defined (__powerpc64__)
+asm (".hidden _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format");
++//asm (".hidden _ZSt8to_charsPcS_u9__ieee128");
++//asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_format");
++//asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_formati");
+#endif
-+#if defined(__i386__)
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERjj");
-+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj");
++asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE");
++#ifdef __i386__
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERjj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj");
+#endif
--- libstdc++-v3/src/nonshared17/cow-fs_ops.cc.jj 2023-05-19 12:22:56.799881298 +0200
+++ libstdc++-v3/src/nonshared17/cow-fs_ops.cc 2023-05-19 19:21:04.451145483 +0200
-@@ -0,0 +1,82 @@
+@@ -0,0 +1,83 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -9977,46 +9997,47 @@
+//asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_EEvT_S6_");
+asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_");
+asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_");
-+//asm (".hidden _ZNSs4swapERSs");
+#ifndef __i386__
-+//asm (".hidden _ZNSs9_M_mutateEmmm");
+asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEm");
+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");
+asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEm");
-+//asm (".hidden _ZNSs6resizeEmc");
-+//asm (".hidden _ZNSt10filesystem4pathD1Ev");
-+//asm (".hidden _ZNSt10filesystem4pathD2Ev");
+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++asm (".hidden _ZNSs9_M_mutateEmmm");
++asm (".hidden _ZNSs6resizeEmc");
+#endif
++asm (".hidden _ZNSt10filesystem4pathD2Ev");
++asm (".hidden _ZNSt10filesystem4pathD1Ev");
+#if defined(__x86_64__)
+//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
+//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
+#endif
+#ifdef __i386__
-+//asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEj");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_j");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEjb");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEj");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEj");
++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_j");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEjb");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEj");
+//asm (".hidden _ZNSs6resizeEjc");
+//asm (".hidden _ZNSs9_M_mutateEjjj");
+//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
+//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
+#endif
+#if defined(__s390x__)
-+//asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
++asm (".hidden _ZNSs4swapERSs");
++asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
+//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
+#endif
+#ifdef __aarch64__
++asm (".hidden _ZNSs4swapERSs");
+//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
+//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
+//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
+#endif
+asm (".hidden _ZNKSt10filesystem4path8filenameEv");
+#ifdef __powerpc64__
-+//asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
++asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
+//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
+//asm (".hidden _ZNSs4swapERSs");
+#endif
@@ -10066,7 +10087,7 @@
+std::__shared_ptr::operator bool () const noexcept;
--- libstdc++-v3/src/nonshared17/cow-fs_path.cc.jj 2023-05-19 12:22:56.799881298 +0200
+++ libstdc++-v3/src/nonshared17/cow-fs_path.cc 2023-05-19 19:54:08.960157436 +0200
-@@ -0,0 +1,130 @@
+@@ -0,0 +1,128 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -10147,42 +10168,40 @@
+//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD1Ev");
+//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD2Ev");
+asm (".hidden _ZNKSt10filesystem4path5_List5_Impl4copyEv");
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv");
-+//asm (".hidden _ZNSs12_M_leak_hardEv");
-+//asm (".hidden _ZNSs4swapERSs");
-+//asm (".hidden _ZNSs6appendERKSs");
-+//asm (".hidden _ZNSt10filesystem4path5_List5beginEv");
-+//asm (".hidden _ZNSt10filesystem4path7_Parser4nextEv");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv");
++asm (".hidden _ZNSs12_M_leak_hardEv");
++asm (".hidden _ZNSs4swapERSs");
++asm (".hidden _ZNSs6appendERKSs");
++asm (".hidden _ZNSt10filesystem4path5_List5beginEv");
++asm (".hidden _ZNSt10filesystem4path7_Parser4nextEv");
++asm (".hidden _ZNSt10filesystem4pathD1Ev");
++asm (".hidden _ZNSt10filesystem4pathD2Ev");
+#ifndef __i386__
++asm (".hidden _ZNSs6resizeEmc");
++asm (".hidden _ZNSs9_M_mutateEmmm");
++asm (".hidden _ZNSs6insertEmPKcm");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm");
++asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RmT3_");
++asm (".hidden _ZNSsC2ERKSsmm");
++asm (".hidden _ZNSsC1ERKSsmm");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm");
++asm (".hidden _ZNSs7reserveEm");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw");
+asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
+asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RmT3_");
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw");
-+//asm (".hidden _ZNSs7reserveEm");
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm");
-+//asm (".hidden _ZNSsC1ERKSsmm");
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm");
-+//asm (".hidden _ZNSs6insertEmPKcm");
-+//asm (".hidden _ZNSs6resizeEmc");
-+//asm (".hidden _ZNSs9_M_mutateEmmm");
-+//asm (".hidden _ZNSsC2ERKSsmm");
-+//asm (".hidden _ZNSt10filesystem4pathD1Ev");
-+//asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RmT3_");
-+#endif
-+#if defined(__aarch64__) || defined(__x86_64__)
-+//asm (".hidden _ZNSt10filesystem4pathD2Ev");
+#endif
+#ifdef __i386__
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw");
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj");
-+//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj");
-+//asm (".hidden _ZNSs6insertEjPKcj");
-+//asm (".hidden _ZNSs6resizeEjc");
-+//asm (".hidden _ZNSs7reserveEj");
-+//asm (".hidden _ZNSs9_M_mutateEjjj");
-+//asm (".hidden _ZNSsC1ERKSsjj");
-+//asm (".hidden _ZNSsC2ERKSsjj");
-+//asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_");
-+//asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj");
++asm (".hidden _ZNSs6insertEjPKcj");
++asm (".hidden _ZNSs6resizeEjc");
++asm (".hidden _ZNSs7reserveEj");
++asm (".hidden _ZNSs9_M_mutateEjjj");
++asm (".hidden _ZNSsC1ERKSsjj");
++asm (".hidden _ZNSsC2ERKSsjj");
++asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_");
++asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_");
+#endif
+asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED0Ev");
+asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED1Ev");
@@ -10196,7 +10215,7 @@
+asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
+asm (".hidden _ZTVNSt10filesystem4path8_CodecvtIwEE");
+asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
-+asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem4path5_CmptEEEvT_S6_");
++//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem4path5_CmptEEEvT_S6_");
--- libstdc++-v3/src/nonshared17/memory_resource.cc.jj 2023-05-19 12:22:56.799881298 +0200
+++ libstdc++-v3/src/nonshared17/memory_resource.cc 2023-05-19 19:21:05.014137551 +0200
@@ -0,0 +1,68 @@
@@ -10255,19 +10274,19 @@
+asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRmS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
+#endif
+#ifdef __i386__
-+//asm (".hidden _ZNSt3pmr15__pool_resource10deallocateEPvjj");
++asm (".hidden _ZNSt3pmr15__pool_resource10deallocateEPvjj");
+//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv");
-+//asm (".hidden _ZNSt3pmr15__pool_resource8allocateEjj");
-+//asm (".hidden _ZNSt3pmr25monotonic_buffer_resource11do_allocateEjj");
-+//asm (".hidden _ZNSt3pmr25monotonic_buffer_resource13do_deallocateEPvjj");
-+//asm (".hidden _ZNSt3pmr28unsynchronized_pool_resource12_M_find_poolEj");
-+//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIIRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
-+//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
++asm (".hidden _ZNSt3pmr15__pool_resource8allocateEjj");
++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource11do_allocateEjj");
++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource13do_deallocateEPvjj");
++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resource12_M_find_poolEj");
++asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIIRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
++asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
+#endif
+#ifdef __powerpc64__
+//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv");
+#endif
-+//asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv");
++asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv");
--- libstdc++-v3/src/nonshared17/fs_dir.cc.jj 2023-05-19 12:22:56.799881298 +0200
+++ libstdc++-v3/src/nonshared17/fs_dir.cc 2023-05-19 19:49:09.012389503 +0200
@@ -0,0 +1,103 @@
@@ -10371,12 +10390,12 @@
+asm (".hidden _ZNKSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stack12current_pathEv");
+asm (".hidden _ZNSt10filesystem7__cxx1128recursive_directory_iterator7__eraseEPSt10error_code");
+//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir16dir_and_pathnameEv");
-+//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir7currentEv");
++asm (".hidden _ZNKSt10filesystem7__cxx114_Dir7currentEv");
+asm (".hidden _ZNSt10filesystem7__cxx114_DirC1ERKNS0_4pathEbbbRSt10error_code");
+asm (".hidden _ZNSt10filesystem7__cxx114_DirC2ERKNS0_4pathEbbbRSt10error_code");
--- libstdc++-v3/src/nonshared17/fs_ops80.cc.jj 2023-05-19 12:22:56.800881284 +0200
+++ libstdc++-v3/src/nonshared17/fs_ops80.cc 2023-05-19 19:23:32.266062865 +0200
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,39 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -10403,24 +10422,22 @@
+#include "fs_ops.cc"
+#ifndef __i386__
+//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc");
+#endif
+#if defined(__s390x__) || defined(__powerpc64__)
-+//asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_");
++asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_");
+//asm (".hidden _ZSt4copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_");
+#endif
-+#if defined(__x86_64__) || defined(__s390x__)
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc");
-+#endif
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_");
+#ifdef __i386__
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc");
+//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_");
+//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_");
+#endif
--- libstdc++-v3/src/nonshared17/fs_path80.cc.jj 2023-05-19 12:22:56.800881284 +0200
+++ libstdc++-v3/src/nonshared17/fs_path80.cc 2023-05-19 19:53:32.875666566 +0200
-@@ -0,0 +1,79 @@
+@@ -0,0 +1,80 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -10457,33 +10474,34 @@
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
+#ifndef __i386__
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc");
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm");
+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm");
+//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
+asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_");
+asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc");
+#endif
-+#if defined(__aarch64__) || defined(__x86_64__)
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm");
++#if defined(__aarch64__)
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm");
+#endif
++asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
++asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
+#ifdef __powerpc64__
+//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
+//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
+#endif
-+#ifdef __x86_64__
-+//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
-+//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
-+#endif
+#ifdef __i386__
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc");
+//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
+//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj");
-+//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw");
+#endif
+asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev");
+asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev");
@@ -10502,7 +10520,7 @@
+asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE");
--- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj 2023-05-19 12:22:56.800881284 +0200
+++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc 2023-05-19 19:48:43.710746491 +0200
-@@ -0,0 +1,107 @@
+@@ -0,0 +1,109 @@
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
@@ -10607,9 +10625,11 @@
+//asm (".hidden _ZNSt10filesystem4pathC1ISsS0_EERKT_NS0_6formatE");
+asm (".hidden _ZNSt10filesystem28recursive_directory_iterator7__eraseEPSt10error_code");
+//asm (".hidden _ZNKSt10filesystem4_Dir16dir_and_pathnameEv");
-+//asm (".hidden _ZNSt10filesystem4pathD1Ev");
-+//asm (".hidden _ZNSt10filesystem4pathD2Ev");
-+//asm (".hidden _ZNKSt10filesystem4_Dir7currentEv");
++#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
++asm (".hidden _ZNSt10filesystem4pathD1Ev");
++asm (".hidden _ZNSt10filesystem4pathD2Ev");
++#endif
++asm (".hidden _ZNKSt10filesystem4_Dir7currentEv");
--- libstdc++-v3/src/nonshared17/Makefile.am.jj 2023-05-19 12:22:56.800881284 +0200
+++ libstdc++-v3/src/nonshared17/Makefile.am 2023-05-19 20:24:10.011717009 +0200
@@ -0,0 +1,148 @@
@@ -11820,14 +11840,14 @@
+//asm (".hidden _ZSt13__copy_move_aILb0ENSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET1_T0_S9_S8_");
+#endif
+#ifdef __i386__
-+//asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodej");
-+//asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodej");
-+//asm (".hidden _ZNSt10filesystem8do_spaceEPKcRyS2_S2_RSt10error_code");
-+//asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEj");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_j");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE17_M_reallocate_mapEjb");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEj");
-+//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEj");
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodej");
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodej");
++asm (".hidden _ZNSt10filesystem8do_spaceEPKcRyS2_S2_RSt10error_code");
++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_j");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE17_M_reallocate_mapEjb");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEj");
+#endif
+#ifdef __aarch64__
+//asm (".hidden _ZSt4copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_");
@@ -11920,19 +11940,14 @@
+//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+#endif
-+#if defined (__i386__) || defined (__s390x__)
-+//asm (".hidden _ZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_i");
-+#endif
+#if defined (__powerpc64__) || defined (__s390x__)
+//asm (".hidden _ZSt8to_charsPcS_g");
+//asm (".hidden _ZSt8to_charsPcS_gSt12chars_format");
+//asm (".hidden _ZSt8to_charsPcS_gSt12chars_formati");
+#endif
-+#if !defined (__powerpc64__) && !defined (__s390x__) && !defined (__i386__)
++#if !defined (__powerpc64__) && !defined (__s390x__)
+//asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
+//asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
-+asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
-+asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+//asm (".hidden _ZZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
+//asm (".hidden _ZZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
+//asm (".hidden _ZZNSt8__detail10__to_charsIoEESt15to_chars_resultPcS2_T_iE8__digits");
@@ -11957,13 +11972,18 @@
+#endif
+#endif
+#if !defined(__i386__)
++asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_");
++asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
+//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
++asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i");
+#endif
+//asm (".hidden _ZZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_iE8__digits");
-+asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_");
++#if defined(__i386__)
++asm (".hidden _ZNSt8__detail18__to_chars_10_implIyEEvPcjT_");
++#endif
--- libstdc++-v3/src/nonshared17/cow-string-inst110.cc.jj 2023-05-19 20:14:11.168179686 +0200
+++ libstdc++-v3/src/nonshared17/cow-string-inst110.cc 2023-05-19 19:43:15.764373602 +0200
@@ -0,0 +1,37 @@
diff --git a/SOURCES/gcc13-libstdc++-docs.patch b/SOURCES/gcc13-libstdc++-docs.patch
index 6dffae6..ce94f5d 100644
--- a/SOURCES/gcc13-libstdc++-docs.patch
+++ b/SOURCES/gcc13-libstdc++-docs.patch
@@ -4,7 +4,7 @@
FSF
-+ Release 13.1.1
++ Release 13.2.1
+
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 13.1.1 release,
++ for the 13.2.1 release,
+ online
for each GCC release
and
diff --git a/SOURCES/gcc13-pr110792.patch b/SOURCES/gcc13-pr110792.patch
new file mode 100644
index 0000000..ce129f9
--- /dev/null
+++ b/SOURCES/gcc13-pr110792.patch
@@ -0,0 +1,163 @@
+PR target/110792: Early clobber issues with rot32di2_doubleword on i386.
+
+This patch is a conservative fix for PR target/110792, a wrong-code
+regression affecting doubleword rotations by BITS_PER_WORD, which
+effectively swaps the highpart and lowpart words, when the source to be
+rotated resides in memory. The issue is that if the register used to
+hold the lowpart of the destination is mentioned in the address of
+the memory operand, the current define_insn_and_split unintentionally
+clobbers it before reading the highpart.
+
+Hence, for the testcase, the incorrectly generated code looks like:
+
+ salq $4, %rdi // calculate address
+ movq WHIRL_S+8(%rdi), %rdi // accidentally clobber addr
+ movq WHIRL_S(%rdi), %rbp // load (wrong) lowpart
+
+Traditionally, the textbook way to fix this would be to add an
+explicit early clobber to the instruction's constraints.
+
+ (define_insn_and_split "32di2_doubleword"
+- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
++ [(set (match_operand:DI 0 "register_operand" "=r,r,&r")
+ (any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o")
+ (const_int 32)))]
+
+but unfortunately this currently generates significantly worse code,
+due to a strange choice of reloads (effectively memcpy), which ends up
+looking like:
+
+ salq $4, %rdi // calculate address
+ movdqa WHIRL_S(%rdi), %xmm0 // load the double word in SSE reg.
+ movaps %xmm0, -16(%rsp) // store the SSE reg back to the stack
+ movq -8(%rsp), %rdi // load highpart
+ movq -16(%rsp), %rbp // load lowpart
+
+Note that reload's "&" doesn't distinguish between the memory being
+early clobbered, vs the registers used in an addressing mode being
+early clobbered.
+
+The fix proposed in this patch is to remove the third alternative, that
+allowed offsetable memory as an operand, forcing reload to place the
+operand into a register before the rotation. This results in:
+
+ salq $4, %rdi
+ movq WHIRL_S(%rdi), %rax
+ movq WHIRL_S+8(%rdi), %rdi
+ movq %rax, %rbp
+
+I believe there's a more advanced solution, by swapping the order of
+the loads (if first destination register is mentioned in the address),
+or inserting a lea insn (if both destination registers are mentioned
+in the address), but this fix is a minimal "safe" solution, that
+should hopefully be suitable for backporting.
+
+2023-08-06 Roger Sayle
+
+gcc/testsuite/ChangeLog
+ PR target/110792
+ * gcc.target/i386/pr110792.c: Remove dg-final scan-assembler-not.
+
+2023-08-03 Roger Sayle
+
+gcc/ChangeLog
+ PR target/110792
+ * config/i386/i386.md (ti3): For rotations by 64 bits
+ place operand in a register before gen_64ti2_doubleword.
+ (di3): Likewise, for rotations by 32 bits, place
+ operand in a register before gen_32di2_doubleword.
+ (32di2_doubleword): Constrain operand to be in register.
+ (64ti2_doubleword): Likewise.
+
+gcc/testsuite/ChangeLog
+ PR target/110792
+ * g++.target/i386/pr110792.C: New 32-bit C++ test case.
+ * gcc.target/i386/pr110792.c: New 64-bit C test case.
+
+--- gcc/config/i386/i386.md
++++ gcc/config/i386/i386.md
+@@ -15341,7 +15341,10 @@ (define_expand "ti3"
+ emit_insn (gen_ix86_ti3_doubleword
+ (operands[0], operands[1], operands[2]));
+ else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64)
+- emit_insn (gen_64ti2_doubleword (operands[0], operands[1]));
++ {
++ operands[1] = force_reg (TImode, operands[1]);
++ emit_insn (gen_64ti2_doubleword (operands[0], operands[1]));
++ }
+ else
+ {
+ rtx amount = force_reg (QImode, operands[2]);
+@@ -15376,7 +15379,10 @@ (define_expand "di3"
+ emit_insn (gen_ix86_di3_doubleword
+ (operands[0], operands[1], operands[2]));
+ else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 32)
+- emit_insn (gen_32di2_doubleword (operands[0], operands[1]));
++ {
++ operands[1] = force_reg (DImode, operands[1]);
++ emit_insn (gen_32di2_doubleword (operands[0], operands[1]));
++ }
+ else
+ FAIL;
+
+@@ -15544,8 +15550,8 @@ (define_insn_and_split "ix86_rotr3_doubleword"
+ })
+
+ (define_insn_and_split "32di2_doubleword"
+- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
+- (any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o")
++ [(set (match_operand:DI 0 "register_operand" "=r,r")
++ (any_rotate:DI (match_operand:DI 1 "register_operand" "0,r")
+ (const_int 32)))]
+ "!TARGET_64BIT"
+ "#"
+@@ -15562,8 +15568,8 @@ (define_insn_and_split "32di2_doubleword"
+ })
+
+ (define_insn_and_split "64ti2_doubleword"
+- [(set (match_operand:TI 0 "register_operand" "=r,r,r")
+- (any_rotate:TI (match_operand:TI 1 "nonimmediate_operand" "0,r,o")
++ [(set (match_operand:TI 0 "register_operand" "=r,r")
++ (any_rotate:TI (match_operand:TI 1 "register_operand" "0,r")
+ (const_int 64)))]
+ "TARGET_64BIT"
+ "#"
+--- gcc/testsuite/g++.target/i386/pr110792.C
++++ gcc/testsuite/g++.target/i386/pr110792.C
+@@ -0,0 +1,16 @@
++/* { dg-do compile { target ia32 } } */
++/* { dg-options "-O2" } */
++
++template
++inline T rotr(T input)
++{
++ return static_cast((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
++}
++
++unsigned long long WHIRL_S[256] = {0x18186018C07830D8};
++unsigned long long whirl(unsigned char x0)
++{
++ const unsigned long long s4 = WHIRL_S[x0&0xFF];
++ return rotr<32>(s4);
++}
++/* { dg-final { scan-assembler-not "movl\tWHIRL_S\\+4\\(,%eax,8\\), %eax" } } */
+--- gcc/testsuite/gcc.target/i386/pr110792.c
++++ gcc/testsuite/gcc.target/i386/pr110792.c
+@@ -0,0 +1,17 @@
++/* { dg-do compile { target int128 } } */
++/* { dg-options "-O2" } */
++
++static inline unsigned __int128 rotr(unsigned __int128 input)
++{
++ return ((input >> 64) | (input << (64)));
++}
++
++unsigned __int128 WHIRL_S[256] = {((__int128)0x18186018C07830D8) << 64 |0x18186018C07830D8};
++unsigned __int128 whirl(unsigned char x0)
++{
++ register int t __asm("rdi") = x0&0xFF;
++ const unsigned __int128 s4 = WHIRL_S[t];
++ register unsigned __int128 tt __asm("rdi") = rotr(s4);
++ asm("":::"memory");
++ return tt;
++}
diff --git a/SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch b/SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch
new file mode 100644
index 0000000..01ca906
--- /dev/null
+++ b/SOURCES/gcc13-testsuite-aarch64-add-fno-stack-protector.patch
@@ -0,0 +1,500 @@
+From 3439b79cb7f97464d65316a94d40d49505fb2150 Mon Sep 17 00:00:00 2001
+From: Marek Polacek
+Date: Wed, 6 Dec 2023 15:34:24 -0500
+Subject: [PATCH] aarch64: add -fno-stack-protector to tests
+
+These tests fail when the testsuite is executed with -fstack-protector-strong.
+To avoid this, this patch adds -fno-stack-protector to dg-options.
+
+The list of FAILs is appended. As you can see, it's mostly about
+scan-assembler-* which are sort of expected to fail with the stack
+protector on.
+
+FAIL: gcc.target/aarch64/ldp_stp_unaligned_2.c scan-assembler-not mov\\tx[0-9]+, sp
+FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler-times stp\\\\tx29, x30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/shadow_call_stack_5.c scan-assembler ldr\\\\tx29, \\\\[sp\\\\]
+FAIL: gcc.target/aarch64/shadow_call_stack_6.c scan-assembler-times str\\\\tx30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler-times stp\\\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
+FAIL: gcc.target/aarch64/shadow_call_stack_7.c scan-assembler ldr\\\\tx19, \\\\[sp\\\\], [0-9]+
+FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler-times stp\\\\tx19, x20, \\\\[sp, -[0-9]+\\\\]! 1
+FAIL: gcc.target/aarch64/shadow_call_stack_8.c scan-assembler ldp\\\\tx19, x20, \\\\[sp\\\\], [0-9]+
+FAIL: gcc.target/aarch64/stack-check-12.c scan-assembler-times str\\\\txzr, 2
+FAIL: gcc.target/aarch64/stack-check-prologue-11.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-12.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-13.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-14.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-15.c scan-assembler-times str\\\\s+x30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test1
+FAIL: gcc.target/aarch64/stack-check-prologue-17.c check-function-bodies test2
+FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test1
+FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test2
+FAIL: gcc.target/aarch64/stack-check-prologue-18.c check-function-bodies test3
+FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test1
+FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test2
+FAIL: gcc.target/aarch64/stack-check-prologue-19.c check-function-bodies test3
+FAIL: gcc.target/aarch64/stack-check-prologue-2.c scan-assembler-times str\\\\s+xzr, 0
+FAIL: gcc.target/aarch64/stack-check-prologue-5.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-6.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/stack-check-prologue-8.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 2
+FAIL: gcc.target/aarch64/stack-check-prologue-9.c scan-assembler-times str\\\\s+xzr, \\\\[sp, 1024\\\\] 1
+FAIL: gcc.target/aarch64/test_frame_1.c scan-assembler-times str\\tx30, \\\\[sp, -[0-9]+\\\\]! 2
+FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler-times stp\\tx19, x30, \\\\[sp, [0-9]+\\\\] 1
+FAIL: gcc.target/aarch64/test_frame_10.c scan-assembler ldp\\tx19, x30, \\\\[sp, [0-9]+\\\\]
+FAIL: gcc.target/aarch64/test_frame_11.c scan-assembler-times stp\\tx29, x30, \\\\[sp, -[0-9]+\\\\]! 2
+FAIL: gcc.target/aarch64/test_frame_13.c scan-assembler-times stp\\tx29, x30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/test_frame_15.c scan-assembler-times stp\\tx29, x30, \\\\[sp, [0-9]+\\\\] 1
+FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
+FAIL: gcc.target/aarch64/test_frame_2.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
+FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler-times stp\\tx19, x30, \\\\[sp, -[0-9]+\\\\]! 1
+FAIL: gcc.target/aarch64/test_frame_4.c scan-assembler ldp\\tx19, x30, \\\\[sp\\\\], [0-9]+
+FAIL: gcc.target/aarch64/test_frame_6.c scan-assembler-times str\\tx30, \\\\[sp\\\\] 1
+FAIL: gcc.target/aarch64/test_frame_7.c scan-assembler-times stp\\tx19, x30, \\\\[sp] 1
+FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler-times str\\tx30, \\\\[sp, [0-9]+\\\\] 1
+FAIL: gcc.target/aarch64/test_frame_8.c scan-assembler ldr\\tx30, \\\\[sp, [0-9]+\\\\]
+FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\\\s+x[0-9]+, 61440 4
+FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\\\s+x[0-9]+, x[0-9]+, 61440 4
+FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times cmp\\s+x[0-9]+, 61440 4
+FAIL: gcc.target/aarch64/sve/struct_vect_24.c scan-assembler-times sub\\s+x[0-9]+, x[0-9]+, 61440 4
+
+gcc/testsuite/ChangeLog:
+
+ * gcc.target/aarch64/ldp_stp_unaligned_2.c: Use -fno-stack-protector.
+ * gcc.target/aarch64/shadow_call_stack_5.c: Likewise.
+ * gcc.target/aarch64/shadow_call_stack_6.c: Likewise.
+ * gcc.target/aarch64/shadow_call_stack_7.c: Likewise.
+ * gcc.target/aarch64/shadow_call_stack_8.c: Likewise.
+ * gcc.target/aarch64/stack-check-12.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-11.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-12.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-13.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-14.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-15.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-17.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-18.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-19.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-2.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-5.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-6.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-8.c: Likewise.
+ * gcc.target/aarch64/stack-check-prologue-9.c: Likewise.
+ * gcc.target/aarch64/sve/struct_vect_24.c: Likewise.
+ * gcc.target/aarch64/test_frame_1.c: Likewise.
+ * gcc.target/aarch64/test_frame_10.c: Likewise.
+ * gcc.target/aarch64/test_frame_11.c: Likewise.
+ * gcc.target/aarch64/test_frame_13.c: Likewise.
+ * gcc.target/aarch64/test_frame_15.c: Likewise.
+ * gcc.target/aarch64/test_frame_2.c: Likewise.
+ * gcc.target/aarch64/test_frame_4.c: Likewise.
+ * gcc.target/aarch64/test_frame_6.c: Likewise.
+ * gcc.target/aarch64/test_frame_7.c: Likewise.
+ * gcc.target/aarch64/test_frame_8.c: Likewise.
+---
+ gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-12.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c | 4 ++--
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c | 4 ++--
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_1.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_10.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_11.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_13.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_15.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_2.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_4.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_6.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_7.c | 2 +-
+ gcc/testsuite/gcc.target/aarch64/test_frame_8.c | 2 +-
+ 30 files changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c b/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c
+index 1e46755a39a..50d7d7a2d5d 100644
+--- a/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c
++++ b/gcc/testsuite/gcc.target/aarch64/ldp_stp_unaligned_2.c
+@@ -1,4 +1,4 @@
+-/* { dg-options "-O2 -fomit-frame-pointer" } */
++/* { dg-options "-O2 -fomit-frame-pointer -fno-stack-protector" } */
+
+ /* Check that we split unaligned LDP/STP into base and aligned offset. */
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c
+index d88357ca04d..d7f82984ff5 100644
+--- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c
++++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_5.c
+@@ -7,7 +7,7 @@
+ * optimized code should use "ldr x29, [sp]" to restore x29 only. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fno-omit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
++/* { dg-options "-O2 -fno-omit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c
+index 83b74834c6a..8d088aecc20 100644
+--- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c
++++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_6.c
+@@ -7,7 +7,7 @@
+ * optimized code should not restore x30 in epilogue. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c
+index 5537fb3293a..a2f376e0091 100644
+--- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c
++++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_7.c
+@@ -7,7 +7,7 @@
+ * optimized code should use "ldr x19, [sp], x" to restore x19 only. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c
+index b03f26f7bcf..5162cbb3917 100644
+--- a/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c
++++ b/gcc/testsuite/gcc.target/aarch64/shadow_call_stack_8.c
+@@ -9,7 +9,7 @@
+ * optimized code should not restore x30 in epilogue. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O0 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps" } */
++/* { dg-options "-O0 -fomit-frame-pointer -fsanitize=shadow-call-stack -fno-exceptions -ffixed-x18 --save-temps -fno-stack-protector" } */
+
+ int func1 (void)
+ {
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-12.c b/gcc/testsuite/gcc.target/aarch64/stack-check-12.c
+index be5a57a9ec6..e1a4c67b041 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-12.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-12.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-asynchronous-unwind-tables -fno-unwind-tables" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ typedef unsigned __attribute__((mode(DI))) uint64_t;
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c
+index 741f2f5fadc..d57aece05bb 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-11.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ #define SIZE (6 * 64 * 1024) + (1 * 32 * 1024)
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c
+index ece68003ade..895d130e4fa 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-12.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ void
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c
+index 0fc900c6943..1f1a6c497be 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-13.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ void h (void) __attribute__ ((noreturn));
+@@ -17,4 +17,4 @@ f (void)
+
+ /* SIZE is more than 1 guard-size, but only one 64KB page is used, expect only 1
+ probe. Leaf function and omitting leaf pointers, tail call to noreturn which
+- may only omit an epilogue and not a prologue. Checking for LR saving. */
+\ No newline at end of file
++ may only omit an epilogue and not a prologue. Checking for LR saving. */
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
+index ea733f861e7..facb3cb72a7 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-14.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ void h (void) __attribute__ ((noreturn));
+@@ -21,4 +21,4 @@ f (void)
+ probe at 1024 and one implicit probe due to LR being saved. Leaf function
+ and omitting leaf pointers, tail call to noreturn which may only omit an
+ epilogue and not a prologue and control flow in between. Checking for
+- LR saving. */
+\ No newline at end of file
++ LR saving. */
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
+index 63df4a5609a..f2ac60a6214 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-15.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ void g (volatile int *x) ;
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
+index f0ec1389771..1cf6fbbb085 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c
+@@ -1,4 +1,4 @@
+-/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
++/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fno-stack-protector" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+
+ void f(int, ...);
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
+index 6383bec5ebc..2e06346c158 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c
+@@ -1,4 +1,4 @@
+-/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */
++/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fno-stack-protector" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+
+ void f(int, ...);
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c
+index 562039b5e9b..38eab4d36ab 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c
+@@ -1,4 +1,4 @@
+-/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18" } */
++/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18 -fno-stack-protector" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+
+ void f(int, ...);
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
+index 61c52a251a7..b37f62cad27 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-2.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ #define SIZE 2 * 1024
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c
+index 2ee16350127..34a438671d0 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-5.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ #define SIZE 64 * 1024
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c
+index 3c9b606cbe0..a4e34e2fe6a 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-6.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ #define SIZE 65 * 1024
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c
+index 333f5fcc360..277dce4c71e 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-8.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ #define SIZE 128 * 1024
+diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c
+index a3ff89b5581..a21305541c1 100644
+--- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c
++++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-9.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O2 -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+
+ #define SIZE 6 * 64 * 1024
+diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c
+index 68a9d5e3d2e..19be6de0c2e 100644
+--- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c
++++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_24.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
+-/* { dg-options "-O3 -fopenmp-simd -fstack-clash-protection --param stack-clash-protection-guard-size=16" } */
++/* { dg-options "-O3 -fopenmp-simd -fstack-clash-protection --param stack-clash-protection-guard-size=16 -fno-stack-protector" } */
+
+ #include
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
+index f906b073545..c9b8822b4b1 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_1.c
+@@ -6,7 +6,7 @@
+ * optimized code should use "str !" for stack adjustment. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c
+index c54ab2d0ccb..fe5cbd9ed05 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_10.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_10.c
+@@ -7,7 +7,7 @@
+ * Use a single stack adjustment, no writeback. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_11.c b/gcc/testsuite/gcc.target/aarch64/test_frame_11.c
+index f162cc091e0..11cf471168d 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_11.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_11.c
+@@ -5,7 +5,7 @@
+ * optimized code should use "stp !" for stack adjustment. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 --save-temps" } */
++/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_13.c b/gcc/testsuite/gcc.target/aarch64/test_frame_13.c
+index 74b3370fa46..ec56963c038 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_13.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_13.c
+@@ -5,7 +5,7 @@
+ * Use a single stack adjustment, no writeback. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 --save-temps" } */
++/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_15.c b/gcc/testsuite/gcc.target/aarch64/test_frame_15.c
+index bed6714b4fe..4247008de8e 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_15.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_15.c
+@@ -6,7 +6,7 @@
+ * Use a single stack adjustment, no writeback. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 --save-temps" } */
++/* { dg-options "-O2 --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
+index 0d715314cb8..9c4243b6480 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_2.c
+@@ -6,7 +6,7 @@
+ * optimized code should use "stp !" for stack adjustment. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
+index b41229c42f4..8d0bed93e44 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_4.c
+@@ -6,7 +6,7 @@
+ * we can use "stp !" to optimize stack adjustment. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
+index 56259c945d2..2944a8bbe16 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_6.c
+@@ -6,7 +6,7 @@
+ * use a single stack adjustment, no writeback. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c
+index 5702656a5da..ca371632d81 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_7.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_7.c
+@@ -6,7 +6,7 @@
+ * use a single stack adjustment, no writeback. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+diff --git a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c
+index 75a68b41e08..084e8fac373 100644
+--- a/gcc/testsuite/gcc.target/aarch64/test_frame_8.c
++++ b/gcc/testsuite/gcc.target/aarch64/test_frame_8.c
+@@ -5,7 +5,7 @@
+ * number of callee-saved reg == 1. */
+
+ /* { dg-do run } */
+-/* { dg-options "-O2 -fomit-frame-pointer --save-temps" } */
++/* { dg-options "-O2 -fomit-frame-pointer --save-temps -fno-stack-protector" } */
+
+ #include "test_frame_common.h"
+
+
+base-commit: 1bd15d87031e8bf8fe9585fbc166b315303f676c
+--
+2.43.0
+
diff --git a/SOURCES/gcc13-testsuite-dwarf.patch b/SOURCES/gcc13-testsuite-dwarf.patch
new file mode 100644
index 0000000..27e5716
--- /dev/null
+++ b/SOURCES/gcc13-testsuite-dwarf.patch
@@ -0,0 +1,50 @@
+commit b6532d0edd50a6086a84ca748fe49c5a9d28f155
+Author: Marek Polacek
+Date: Wed Jul 5 17:43:31 2023 -0400
+
+ testsuite: fix dwarf2/utf-1.C with DWARF4
+
+ Running
+ $ make check-c++ RUNTESTFLAGS='--target_board=unix\{-gdwarf-5,-gdwarf-4\} dwarf2.exp=utf-1.C'
+ shows
+ FAIL: g++.dg/debug/dwarf2/utf-1.C -std=gnu++20 scan-assembler-times DW_AT_encoding \\(0x10\\) 3
+ because with -gdwarf-4 the output is:
+
+ .byte 0x10 # DW_AT_encoding
+
+ but with -gdwarf-5 the output is the expected:
+
+ # DW_AT_encoding (0x10)
+
+ The difference is caused by the DWARF5 optimize_implicit_const
+ optimization:
+
+
+ I suppose we could do what testsuite/rust/debug/chartype.rs does
+ and just run the test with -gdwarf-4.
+
+ gcc/testsuite/ChangeLog:
+
+ * g++.dg/debug/dwarf2/utf-1.C: Use -gdwarf-4. Adjust expected
+ output.
+
+diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/utf-1.C b/gcc/testsuite/g++.dg/debug/dwarf2/utf-1.C
+index 43b354f1bb5..0ce4d8727d6 100644
+--- a/gcc/testsuite/g++.dg/debug/dwarf2/utf-1.C
++++ b/gcc/testsuite/g++.dg/debug/dwarf2/utf-1.C
+@@ -1,8 +1,13 @@
+ // { dg-do compile { target c++20 } }
+-// { dg-options { -gdwarf -dA } }
++// { dg-options { -gdwarf-4 -dA } }
+
+ // Test that all three use DW_ATE_UTF.
+-// { dg-final { scan-assembler-times {DW_AT_encoding \(0x10\)} 3 } }
++// This test uses -gdwarf-4 since in DWARF5 optimize_implicit_const
++// would optimize the output from:
++// .byte 0x10 # DW_AT_encoding
++// into:
++// # DW_AT_encoding (0x10)
++// { dg-final { scan-assembler-times "0x10\[ \t]\[^\n\r]* DW_AT_encoding" 3 } }
+
+ char8_t c8;
+ char16_t c16;
diff --git a/SOURCES/gcc13-testsuite-no-ssp.patch b/SOURCES/gcc13-testsuite-no-ssp.patch
deleted file mode 100644
index b041a65..0000000
--- a/SOURCES/gcc13-testsuite-no-ssp.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From b964d2647b0da15543faed5add5044fd79a85c5c Mon Sep 17 00:00:00 2001
-From: Marek Polacek
-Date: Thu, 29 Jun 2023 15:59:29 -0400
-Subject: [PATCH] i386: add -fno-stack-protector to two tests
-
-These tests fail when the testsuite is executed with -fstack-protector-strong.
-To avoid this, this patch adds -fno-stack-protector to dg-options.
-
-Tested on x86_64-pc-linux-gnu, ok for trunk?
-
-gcc/testsuite/ChangeLog:
-
- * gcc.target/i386/pr104610.c: Use -fno-stack-protector.
- * gcc.target/i386/pr69482-1.c: Likewise.
----
- gcc/testsuite/gcc.target/i386/pr104610.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr69482-1.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.target/i386/pr104610.c b/gcc/testsuite/gcc.target/i386/pr104610.c
-index fe39cbe5b8a..5173fc8898c 100644
---- a/gcc/testsuite/gcc.target/i386/pr104610.c
-+++ b/gcc/testsuite/gcc.target/i386/pr104610.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256" } */
-+/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256 -fno-stack-protector" } */
- /* { dg-final { scan-assembler-times {(?n)vptest.*ymm} 1 } } */
- /* { dg-final { scan-assembler-times {sete} 1 } } */
- /* { dg-final { scan-assembler-not {(?n)je.*L[0-9]} } } */
-diff --git a/gcc/testsuite/gcc.target/i386/pr69482-1.c b/gcc/testsuite/gcc.target/i386/pr69482-1.c
-index f192261b104..99bb6ad5a37 100644
---- a/gcc/testsuite/gcc.target/i386/pr69482-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr69482-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O3" } */
-+/* { dg-options "-O3 -fno-stack-protector" } */
-
- static inline void memset_s(void* s, int n) {
- volatile unsigned char * p = s;
-
-base-commit: 070a6bf0bdc6761ad77ac97404c98f00a7007d54
---
-2.41.0
-
diff --git a/SOURCES/gcc13-testsuite-plugin.patch b/SOURCES/gcc13-testsuite-plugin.patch
deleted file mode 100644
index a1e0e69..0000000
--- a/SOURCES/gcc13-testsuite-plugin.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 2ef902063590ebd7e8b8b8b4d708f6c7dc62a81d Mon Sep 17 00:00:00 2001
-From: Marek Polacek
-Date: Thu, 29 Jun 2023 14:57:48 -0400
-Subject: [PATCH] testsuite: Use -fno-report-bug in gcc.dg/plugin/
-
-Certain downstream compilers (for example, in Fedora) default to
--freport-bug. The extra output breaks the following tests. We can use
--fno-report-bug to fix that. Patch verified with:
-
-$ make check RUNTESTFLAGS='--target_board=unix\{,-freport-bug\} plugin.exp'
-
-Tested x86_64-pc-linux-gnu, ok for trunk/13?
-
-gcc/testsuite/ChangeLog:
-
- * gcc.dg/plugin/crash-test-ice-sarif.c: Use -fno-report-bug. Adjust
- scan-sarif-file.
- * gcc.dg/plugin/crash-test-ice-stderr.c: Use -fno-report-bug.
- * gcc.dg/plugin/crash-test-write-though-null-sarif.c: Use
- -fno-report-bug. Adjust scan-sarif-file.
- * gcc.dg/plugin/crash-test-write-though-null-stderr.c: Use
- -fno-report-bug.
----
- gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c | 3 ++-
- gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c | 1 +
- .../gcc.dg/plugin/crash-test-write-though-null-sarif.c | 3 ++-
- .../gcc.dg/plugin/crash-test-write-though-null-stderr.c | 1 +
- 4 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
-index 3b773a9a84c..84a4347a17e 100644
---- a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
-+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
-@@ -1,5 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-fdiagnostics-format=sarif-file" } */
-+/* { dg-additional-options "-fno-report-bug" } */
-
- extern void inject_ice (void);
-
-@@ -56,7 +57,7 @@ void test_inject_ice (void)
- { dg-final { scan-sarif-file "\"contextRegion\": " } }
- { dg-final { scan-sarif-file "\"artifactLocation\": " } }
- { dg-final { scan-sarif-file "\"region\": " } }
-- { dg-final { scan-sarif-file "\"startLine\": 8" } }
-+ { dg-final { scan-sarif-file "\"startLine\": 9" } }
- { dg-final { scan-sarif-file "\"startColumn\": 3" } }
- { dg-final { scan-sarif-file "\"endColumn\": 16" } }
- { dg-final { scan-sarif-file "\"message\": " } }
-diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
-index cee701b135c..0064d3bc447 100644
---- a/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
-+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
-@@ -1,4 +1,5 @@
- /* { dg-do compile } */
-+/* { dg-additional-options "-fno-report-bug" } */
-
- extern void inject_ice (void);
-
-diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
-index 57caa20155f..83b38d2ffb5 100644
---- a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
-+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
-@@ -1,5 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-fdiagnostics-format=sarif-file" } */
-+/* { dg-additional-options "-fno-report-bug" } */
-
- extern void inject_write_through_null (void);
-
-@@ -56,7 +57,7 @@ void test_inject_write_through_null (void)
- { dg-final { scan-sarif-file "\"contextRegion\": " } }
- { dg-final { scan-sarif-file "\"artifactLocation\": " } }
- { dg-final { scan-sarif-file "\"region\": " } }
-- { dg-final { scan-sarif-file "\"startLine\": 8" } }
-+ { dg-final { scan-sarif-file "\"startLine\": 9" } }
- { dg-final { scan-sarif-file "\"startColumn\": 3" } }
- { dg-final { scan-sarif-file "\"endColumn\": 31" } }
- { dg-final { scan-sarif-file "\"message\": " } }
-diff --git a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
-index 7b43e423633..a9a211a3b1f 100644
---- a/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
-+++ b/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
-@@ -1,4 +1,5 @@
- /* { dg-do compile } */
-+/* { dg-additional-options "-fno-report-bug" } */
-
- extern void inject_write_through_null (void);
-
-
-base-commit: 070a6bf0bdc6761ad77ac97404c98f00a7007d54
---
-2.41.0
-
diff --git a/SPECS/gcc.spec b/SPECS/gcc.spec
index a083b34..a9978f6 100644
--- a/SPECS/gcc.spec
+++ b/SPECS/gcc.spec
@@ -5,14 +5,14 @@ BuildRequires: scl-utils-build
%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
%{?scl:%scl_package gcc}
-%global DATE 20230614
-%global gitrev 0d7019741b037c7e9c4e57d6de3bce6bb2ed8026
-%global gcc_version 13.1.1
+%global DATE 20231205
+%global gitrev f783814ad6a04ae5ef44595216596a2b75eda15b
+%global gcc_version 13.2.1
%global gcc_major 13
# 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 4
-%global nvptx_tools_gitrev 93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b
+%global gcc_release 6
+%global nvptx_tools_gitrev aa3404ad5a496cda5d79a50bedb1344fd63e8763
%global newlib_cygwin_gitrev 9e09d6ed83cce4777a5950412647ccc603040409
%global mpc_version 1.0.3
%global isl_version 0.24
@@ -149,7 +149,7 @@ BuildRequires: scl-utils-build
Summary: GCC version 13
Name: %{?scl_prefix}gcc
Version: %{gcc_version}
-Release: %{gcc_release}.2%{?dist}
+Release: %{gcc_release}.3%{?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
@@ -329,6 +329,7 @@ Patch8: gcc13-no-add-needed.patch
Patch9: gcc13-Wno-format-security.patch
Patch10: gcc13-rh1574936.patch
Patch11: gcc13-d-shared-libphobos.patch
+Patch12: gcc13-pr110792.patch
Patch50: isl-rh2155127.patch
@@ -358,9 +359,9 @@ Patch3016: 0019-xfails.patch
Patch3017: 0020-more-fixes.patch
Patch3018: 0021-libstdc++-disable-tests.patch
Patch3019: 0022-libstdc++-revert-behavior.patch
-Patch3020: gcc13-testsuite-no-ssp.patch
Patch3021: gcc13-testsuite-p10.patch
-Patch3022: gcc13-testsuite-plugin.patch
+Patch3023: gcc13-testsuite-dwarf.patch
+Patch3024: gcc13-testsuite-aarch64-add-fno-stack-protector.patch
%if 0%{?rhel} == 9
%global nonsharedver 110
@@ -694,6 +695,7 @@ so that there cannot be any synchronization problems.
%patch -P10 -p0 -b .rh1574936~
%endif
%patch -P11 -p0 -b .d-shared-libphobos~
+%patch -P12 -p0 -b .pr110792~
%if 0%{?rhel} >= 6
%patch -P100 -p1 -b .fortran-fdec-duplicates~
@@ -739,9 +741,9 @@ rm -f libphobos/testsuite/libphobos.gc/forkgc2.d
%if 0%{?rhel} <= 7
%patch -P3019 -p1 -b .dts-test-19~
%endif
-%patch -P3020 -p1 -b .dts-test-20~
%patch -P3021 -p1 -b .dts-test-21~
-%patch -P3022 -p1 -b .dts-test-22~
+%patch -P3023 -p1 -b .dts-test-23~
+%patch -P3024 -p1 -b .dts-test-24~
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
@@ -925,7 +927,7 @@ CONFIGURE_OPTS="\
%endif
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
--enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \
- --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=%{_datadir}/zoneinfo \
+ --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=%{_root_datadir}/zoneinfo \
%ifnarch %{mips}
--with-linker-hash-style=gnu \
%endif
@@ -1944,7 +1946,7 @@ rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || :
rm -f %{buildroot}/lib/cpp
rm -f %{buildroot}/%{_lib}/libgcc_s*
-rm -f %{buildroot}%{_prefix}/bin/{f95,gccbug,gnatgcc*}
+rm -f %{buildroot}%{_prefix}/bin/{gccbug,gnatgcc*}
rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gfortran
%if 0%{!?scl:1}
rm -f %{buildroot}%{_prefix}/bin/{*c++*,cc,cpp}
@@ -2616,6 +2618,7 @@ fi
%files gfortran
%{_prefix}/bin/gfortran
+%{_prefix}/bin/f95
%if 0%{?scl:1}
%{_mandir}/man1/gfortran.1*
%{_infodir}/gfortran*
@@ -2904,9 +2907,59 @@ fi
%endif
%changelog
-* Fri Sep 22 2023 MSVSphere Packaging Team - 13.1.1-4.2
+* Tue Jan 9 2024 Marek Polacek 13.2.1-6.3
+- use the system dir in --with-libstdcxx-zoneinfo (RHEL-21093)
+
+* Fri Dec 15 2023 Marek Polacek 13.2.1-6.2
+- fix for libstdc++_nonshared.a on ppc64le (RHEL-17960)
+
+* Mon Dec 11 2023 Marek Polacek 13.2.1-6.1
+- add f95 (RHEL-17655)
+
+* Wed Dec 6 2023 Marek Polacek 13.2.1-6
+- update from releases/gcc-13 branch
+ - PRs c++/33799, c++/102191, c++/111703, c++/112269, c++/112301, c++/112633,
+ c/112339, fortran/111880, fortran/112764, libgomp/111413,
+ libstdc++/112348, libstdc++/112491, libstdc++/112607,
+ middle-end/111497, target/53372, target/110411, target/111408,
+ target/111815, target/111828, target/112672, tree-optimization/111137,
+ tree-optimization/111465, tree-optimization/111967,
+ tree-optimization/112496
+- add -fno-stack-protector to aarch64 tests (RHEL-17684)
+
+* Mon Nov 13 2023 Marek Polacek 13.2.1-5
+- update from releases/gcc-13 branch
+ - PRs c++/89038, c/111884, d/110712, d/112270, fortran/67740, fortran/97245,
+ fortran/111837, fortran/112316, libbacktrace/111315,
+ libbacktrace/112263, libstdc++/110944, libstdc++/111172,
+ libstdc++/111936, libstdc++/112089, libstdc++/112314,
+ middle-end/111253, middle-end/111818, modula2/111756, modula2/112110,
+ target/101177, target/110170, target/111001, target/111366,
+ target/111367, target/111380, target/111935, target/112443,
+ tree-optimization/111397, tree-optimization/111445,
+ tree-optimization/111489, tree-optimization/111583,
+ tree-optimization/111614, tree-optimization/111622,
+ tree-optimization/111694, tree-optimization/111764,
+ tree-optimization/111820, tree-optimization/111833,
+ tree-optimization/111917
+ - fix aarch64 RA ICE (#2241139, PR target/111528)
+- fix ia32 doubleword rotates (#2238781, PR target/110792)
+
+* Thu Nov 9 2023 Marek Polacek 13.2.1-4
+- update from releases/gcc-13 branch
+ - PRs ada/110488, ada/111434, c++/99631, c++/111471, c++/111485, c++/111493,
+ c++/111512, fortran/68155, fortran/92586, fortran/111674,
+ libstdc++/108046, libstdc++/111050, libstdc++/111102,
+ libstdc++/111511, middle-end/111699, modula2/111510, target/111121,
+ target/111411, tree-optimization/110315, tree-optimization/110386,
+ tree-optimization/111331, tree-optimization/111519
+
+* Fri Sep 22 2023 MSVSphere Packaging Team - 13.1.1-4.3
- Rebuilt for MSVSphere 9.3 beta
+* Thu Jul 6 2023 Marek Polacek 13.1.1-4.3
+- fix utf-1.C with -gdwarf-4 (#2217506)
+
* Tue Jun 27 2023 Marek Polacek 13.1.1-4.2
- fix switch to -gdwarf-4 on RHEL 8 (#2217938)
- apply some testsuite fixes (#2217498)