Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
f333f5b1ef | |||
2f56b9f74d |
.gcc-toolset-13-gcc.metadata.gitignore
SOURCES
gcc13-libstdc++-compat.patchgcc13-libstdc++-docs.patchgcc13-pr107071.patchgcc13-testsuite-dwarf.patchgcc13-testsuite-no-ssp.patchgcc13-testsuite-plugin.patchgcc13-vector-merge-1.patchgcc13-vector-merge-2.patchgcc13-vector-merge-3.patchgcc13-znver5.patch
SPECS
@ -1,4 +1,4 @@
|
||||
c6598a786781f7b8a3131f96995641f45e7b96a5 SOURCES/gcc-13.1.1-20230614.tar.xz
|
||||
e1fb4ded21712a1724ce05b86ff738ee6d21256c SOURCES/gcc-13.3.1-20240611.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
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
SOURCES/gcc-13.1.1-20230614.tar.xz
|
||||
SOURCES/gcc-13.3.1-20240611.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
|
||||
|
@ -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,126 @@
|
||||
+// 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_");
|
||||
+#endif
|
||||
+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 _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,32 @@
|
||||
+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");
|
||||
+asm (".hidden _ZNKSt10filesystem7__cxx114path8iteratordeEv");
|
||||
+#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 +9849,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 +9873,8 @@
|
||||
+// <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+#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 +9884,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 +9924,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
|
||||
+#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
|
||||
+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");
|
||||
+asm (".hidden _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format");
|
||||
+#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");
|
||||
+#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 +9995,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 +10085,7 @@
|
||||
+std::__shared_ptr<fs::recursive_directory_iterator::_Dir_stack>::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 +10166,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 +10213,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 +10272,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 +10388,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 +10420,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 +10472,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 +10518,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 +10623,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 +11838,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 +11938,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 +11970,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 @@
|
||||
@ -12032,7 +12050,7 @@
|
||||
+#include "../c++17/string-inst.cc"
|
||||
--- libstdc++-v3/src/nonshared17/floating_to_chars110.cc.jj 2023-05-19 18:08:54.897043256 +0200
|
||||
+++ libstdc++-v3/src/nonshared17/floating_to_chars110.cc 2023-05-19 19:39:17.219738117 +0200
|
||||
@@ -0,0 +1,31 @@
|
||||
@@ -0,0 +1,36 @@
|
||||
+// Copyright (C) 2019-2023 Free Software Foundation, Inc.
|
||||
+//
|
||||
+// This file is part of the GNU ISO C++ Library. This library is free
|
||||
@ -12064,6 +12082,11 @@
|
||||
+#if !defined(__s390x__) && !defined(__aarch64__)
|
||||
+asm (".hidden _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_");
|
||||
+#endif
|
||||
+#if defined(__powerpc64__)
|
||||
+asm (".hidden _ZSt8to_charsPcS_u9__ieee128");
|
||||
+asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_format");
|
||||
+asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_formati");
|
||||
+#endif
|
||||
--- libstdc++-v3/src/nonshared17/string-inst110.cc.jj 2023-05-19 20:14:44.341711057 +0200
|
||||
+++ libstdc++-v3/src/nonshared17/string-inst110.cc 2023-05-19 19:41:57.743474432 +0200
|
||||
@@ -0,0 +1,37 @@
|
||||
@ -12739,8 +12762,8 @@
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 12190 "configure"
|
||||
+#line 12192 "configure"
|
||||
-#line 12192 "configure"
|
||||
+#line 12194 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12748,8 +12771,8 @@
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 12296 "configure"
|
||||
+#line 12298 "configure"
|
||||
-#line 12298 "configure"
|
||||
+#line 12300 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12757,8 +12780,8 @@
|
||||
# Fake what AC_TRY_COMPILE does.
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
-#line 16020 "configure"
|
||||
+#line 16022 "configure"
|
||||
-#line 16036 "configure"
|
||||
+#line 16038 "configure"
|
||||
int main()
|
||||
{
|
||||
typedef bool atomic_type;
|
||||
@ -12766,8 +12789,8 @@
|
||||
rm -f conftest*
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
-#line 16055 "configure"
|
||||
+#line 16057 "configure"
|
||||
-#line 16071 "configure"
|
||||
+#line 16073 "configure"
|
||||
int main()
|
||||
{
|
||||
typedef short atomic_type;
|
||||
@ -12775,8 +12798,8 @@
|
||||
rm -f conftest*
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
-#line 16090 "configure"
|
||||
+#line 16092 "configure"
|
||||
-#line 16106 "configure"
|
||||
+#line 16108 "configure"
|
||||
int main()
|
||||
{
|
||||
// NB: _Atomic_word not necessarily int.
|
||||
@ -12784,8 +12807,8 @@
|
||||
rm -f conftest*
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
-#line 16126 "configure"
|
||||
+#line 16128 "configure"
|
||||
-#line 16142 "configure"
|
||||
+#line 16144 "configure"
|
||||
int main()
|
||||
{
|
||||
typedef long long atomic_type;
|
||||
@ -12793,8 +12816,8 @@
|
||||
# unnecessary for this test.
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
-#line 16282 "configure"
|
||||
+#line 16284 "configure"
|
||||
-#line 16298 "configure"
|
||||
+#line 16300 "configure"
|
||||
int main()
|
||||
{
|
||||
_Decimal32 d1;
|
||||
@ -12802,8 +12825,8 @@
|
||||
# unnecessary for this test.
|
||||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
-#line 16324 "configure"
|
||||
+#line 16326 "configure"
|
||||
-#line 16340 "configure"
|
||||
+#line 16342 "configure"
|
||||
template<typename T1, typename T2>
|
||||
struct same
|
||||
{ typedef T2 type; };
|
||||
|
@ -4,7 +4,7 @@
|
||||
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
||||
</a>
|
||||
</p><p>
|
||||
+ Release 13.1.1
|
||||
+ Release 13.3.1
|
||||
+ </p><p>
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation
|
||||
@ -17,7 +17,7 @@
|
||||
</p><p>
|
||||
- The API documentation, rendered into HTML, can be viewed online
|
||||
+ The API documentation, rendered into HTML, can be viewed locally
|
||||
+ <a class="link" href="api/index.html" target="_top">for the 13.1.1 release</a>,
|
||||
+ <a class="link" href="api/index.html" target="_top">for the 13.3.1 release</a>,
|
||||
+ online
|
||||
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
||||
and
|
||||
|
28
SOURCES/gcc13-pr107071.patch
Normal file
28
SOURCES/gcc13-pr107071.patch
Normal file
@ -0,0 +1,28 @@
|
||||
commit c8c587b854c9e85fc9ce58c8192d532205f0ee1f
|
||||
Author: Tamar Christina <tamar.christina@arm.com>
|
||||
Date: Wed Feb 21 11:42:13 2024 +0000
|
||||
|
||||
AArch64: skip modes_1.f90 [PR107071]
|
||||
|
||||
This test has never worked on AArch64 since the day it was committed. It has
|
||||
a number of issues that prevent it from working on AArch64:
|
||||
|
||||
The testfailures seem to be known and triaged, so until that's fixed there's
|
||||
no point in running this test.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
|
||||
PR fortran/107071
|
||||
* gfortran.dg/ieee/modes_1.f90: skip aarch64, arm.
|
||||
|
||||
diff --git a/gcc/testsuite/gfortran.dg/ieee/modes_1.f90 b/gcc/testsuite/gfortran.dg/ieee/modes_1.f90
|
||||
index 205c47f3800..e29d8c678e6 100644
|
||||
--- a/gcc/testsuite/gfortran.dg/ieee/modes_1.f90
|
||||
+++ b/gcc/testsuite/gfortran.dg/ieee/modes_1.f90
|
||||
@@ -1,5 +1,5 @@
|
||||
! { dg-do run }
|
||||
-!
|
||||
+! { dg-skip-if "PR libfortran/78314" { aarch64*-*-gnu* arm*-*-gnueabi arm*-*-gnueabihf } }
|
||||
! Test IEEE_MODES_TYPE, IEEE_GET_MODES and IEEE_SET_MODES
|
||||
|
||||
|
50
SOURCES/gcc13-testsuite-dwarf.patch
Normal file
50
SOURCES/gcc13-testsuite-dwarf.patch
Normal file
@ -0,0 +1,50 @@
|
||||
commit b6532d0edd50a6086a84ca748fe49c5a9d28f155
|
||||
Author: Marek Polacek <polacek@redhat.com>
|
||||
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:
|
||||
<https://gcc.gnu.org/pipermail/gcc-patches/2016-October/459762.html>
|
||||
|
||||
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;
|
@ -1,46 +0,0 @@
|
||||
From b964d2647b0da15543faed5add5044fd79a85c5c Mon Sep 17 00:00:00 2001
|
||||
From: Marek Polacek <polacek@redhat.com>
|
||||
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
|
||||
|
@ -1,94 +0,0 @@
|
||||
From 2ef902063590ebd7e8b8b8b4d708f6c7dc62a81d Mon Sep 17 00:00:00 2001
|
||||
From: Marek Polacek <polacek@redhat.com>
|
||||
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
|
||||
|
522
SOURCES/gcc13-vector-merge-1.patch
Normal file
522
SOURCES/gcc13-vector-merge-1.patch
Normal file
@ -0,0 +1,522 @@
|
||||
commit 361bfcec901ca882130e338aebaa2ebc6ea2dc3b
|
||||
Author: Kewen Lin <linkw@linux.ibm.com>
|
||||
Date: Thu Jun 20 20:23:56 2024 -0500
|
||||
|
||||
rs6000: Fix wrong RTL patterns for vector merge high/low word on LE
|
||||
|
||||
Commit r12-4496 changes some define_expands and define_insns
|
||||
for vector merge high/low word, which are altivec_vmrg[hl]w,
|
||||
vsx_xxmrg[hl]w_<VSX_W:mode>. These defines are mainly for
|
||||
built-in function vec_merge{h,l}, __builtin_vsx_xxmrghw,
|
||||
__builtin_vsx_xxmrghw_4si and some internal gen function
|
||||
needs. These functions should consider endianness, taking
|
||||
vec_mergeh as example, as PVIPR defines, vec_mergeh "Merges
|
||||
the first halves (in element order) of two vectors", it does
|
||||
note it's in element order. So it's mapped into vmrghw on
|
||||
BE while vmrglw on LE respectively. Although the mapped
|
||||
insns are different, as the discussion in PR106069, the RTL
|
||||
pattern should be still the same, it is conformed before
|
||||
commit r12-4496, define_expand altivec_vmrghw got expanded
|
||||
into:
|
||||
|
||||
(vec_select:VSX_W
|
||||
(vec_concat:<VS_double>
|
||||
(match_operand:VSX_W 1 "register_operand" "wa,v")
|
||||
(match_operand:VSX_W 2 "register_operand" "wa,v"))
|
||||
(parallel [(const_int 0) (const_int 4)
|
||||
(const_int 1) (const_int 5)])))]
|
||||
|
||||
on both BE and LE then. But commit r12-4496 changed it to
|
||||
expand into:
|
||||
|
||||
(vec_select:VSX_W
|
||||
(vec_concat:<VS_double>
|
||||
(match_operand:VSX_W 1 "register_operand" "wa,v")
|
||||
(match_operand:VSX_W 2 "register_operand" "wa,v"))
|
||||
(parallel [(const_int 0) (const_int 4)
|
||||
(const_int 1) (const_int 5)])))]
|
||||
|
||||
on BE, and
|
||||
|
||||
(vec_select:VSX_W
|
||||
(vec_concat:<VS_double>
|
||||
(match_operand:VSX_W 1 "register_operand" "wa,v")
|
||||
(match_operand:VSX_W 2 "register_operand" "wa,v"))
|
||||
(parallel [(const_int 2) (const_int 6)
|
||||
(const_int 3) (const_int 7)])))]
|
||||
|
||||
on LE, although the mapped insn are still vmrghw on BE and
|
||||
vmrglw on LE, the associated RTL pattern is completely
|
||||
wrong and inconsistent with the mapped insn. If optimization
|
||||
passes leave this pattern alone, even if its pattern doesn't
|
||||
represent its mapped insn, it's still fine, that's why simple
|
||||
testing on bif doesn't expose this issue. But once some
|
||||
optimization pass such as combine does some changes basing
|
||||
on this wrong pattern, because the pattern doesn't match the
|
||||
semantics that the expanded insn is intended to represent,
|
||||
it would cause the unexpected result.
|
||||
|
||||
So this patch is to fix the wrong RTL pattern, ensure the
|
||||
associated RTL patterns become the same as before which can
|
||||
have the same semantic as their mapped insns. With the
|
||||
proposed patch, the expanders like altivec_vmrghw expands
|
||||
into altivec_vmrghb_direct_be or altivec_vmrglb_direct_le
|
||||
depending on endianness, "direct" can easily show which
|
||||
insn would be generated, _be and _le are mainly for the
|
||||
different RTL patterns as endianness.
|
||||
|
||||
Co-authored-by: Xionghu Luo <xionghuluo@tencent.com>
|
||||
|
||||
PR target/106069
|
||||
PR target/115355
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
* config/rs6000/altivec.md (altivec_vmrghw_direct_<VSX_W:mode>): Rename
|
||||
to ...
|
||||
(altivec_vmrghw_direct_<VSX_W:mode>_be): ... this. Add the condition
|
||||
BYTES_BIG_ENDIAN.
|
||||
(altivec_vmrghw_direct_<VSX_W:mode>_le): New define_insn.
|
||||
(altivec_vmrglw_direct_<VSX_W:mode>): Rename to ...
|
||||
(altivec_vmrglw_direct_<VSX_W:mode>_be): ... this. Add the condition
|
||||
BYTES_BIG_ENDIAN.
|
||||
(altivec_vmrglw_direct_<VSX_W:mode>_le): New define_insn.
|
||||
(altivec_vmrghw): Adjust by calling gen_altivec_vmrghw_direct_v4si_be
|
||||
for BE and gen_altivec_vmrglw_direct_v4si_le for LE.
|
||||
(altivec_vmrglw): Adjust by calling gen_altivec_vmrglw_direct_v4si_be
|
||||
for BE and gen_altivec_vmrghw_direct_v4si_le for LE.
|
||||
(vec_widen_umult_hi_v8hi): Adjust the call to
|
||||
gen_altivec_vmrghw_direct_v4si by gen_altivec_vmrghw for BE
|
||||
and by gen_altivec_vmrglw for LE.
|
||||
(vec_widen_smult_hi_v8hi): Likewise.
|
||||
(vec_widen_umult_lo_v8hi): Adjust the call to
|
||||
gen_altivec_vmrglw_direct_v4si by gen_altivec_vmrglw for BE
|
||||
and by gen_altivec_vmrghw for LE
|
||||
(vec_widen_smult_lo_v8hi): Likewise.
|
||||
* config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace
|
||||
CODE_FOR_altivec_vmrghw_direct_v4si by
|
||||
CODE_FOR_altivec_vmrghw_direct_v4si_be for BE and
|
||||
CODE_FOR_altivec_vmrghw_direct_v4si_le for LE. And replace
|
||||
CODE_FOR_altivec_vmrglw_direct_v4si by
|
||||
CODE_FOR_altivec_vmrglw_direct_v4si_be for BE and
|
||||
CODE_FOR_altivec_vmrglw_direct_v4si_le for LE.
|
||||
* config/rs6000/vsx.md (vsx_xxmrghw_<VSX_W:mode>): Adjust by calling
|
||||
gen_altivec_vmrghw_direct_v4si_be for BE and
|
||||
gen_altivec_vmrglw_direct_v4si_le for LE.
|
||||
(vsx_xxmrglw_<VSX_W:mode>): Adjust by calling
|
||||
gen_altivec_vmrglw_direct_v4si_be for BE and
|
||||
gen_altivec_vmrghw_direct_v4si_le for LE.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
|
||||
* g++.target/powerpc/pr106069.C: New test.
|
||||
* gcc.target/powerpc/pr115355.c: New test.
|
||||
|
||||
(cherry picked from commit 52c112800d9f44457c4832309a48c00945811313)
|
||||
|
||||
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
|
||||
index ad1224e0b57..92e2e4a4090 100644
|
||||
--- a/gcc/config/rs6000/altivec.md
|
||||
+++ b/gcc/config/rs6000/altivec.md
|
||||
@@ -1212,16 +1212,18 @@ (define_expand "altivec_vmrghw"
|
||||
(use (match_operand:V4SI 2 "register_operand"))]
|
||||
"VECTOR_MEM_ALTIVEC_P (V4SImode)"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx);
|
||||
- fun = BYTES_BIG_ENDIAN ? gen_altivec_vmrghw_direct_v4si
|
||||
- : gen_altivec_vmrglw_direct_v4si;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (gen_altivec_vmrghw_direct_v4si_be (operands[0],
|
||||
+ operands[1],
|
||||
+ operands[2]));
|
||||
+ else
|
||||
+ emit_insn (gen_altivec_vmrglw_direct_v4si_le (operands[0],
|
||||
+ operands[2],
|
||||
+ operands[1]));
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_insn "altivec_vmrghw_direct_<mode>"
|
||||
+(define_insn "altivec_vmrghw_direct_<mode>_be"
|
||||
[(set (match_operand:VSX_W 0 "register_operand" "=wa,v")
|
||||
(vec_select:VSX_W
|
||||
(vec_concat:<VS_double>
|
||||
@@ -1229,7 +1231,21 @@ (define_insn "altivec_vmrghw_direct_<mode>"
|
||||
(match_operand:VSX_W 2 "register_operand" "wa,v"))
|
||||
(parallel [(const_int 0) (const_int 4)
|
||||
(const_int 1) (const_int 5)])))]
|
||||
- "TARGET_ALTIVEC"
|
||||
+ "TARGET_ALTIVEC && BYTES_BIG_ENDIAN"
|
||||
+ "@
|
||||
+ xxmrghw %x0,%x1,%x2
|
||||
+ vmrghw %0,%1,%2"
|
||||
+ [(set_attr "type" "vecperm")])
|
||||
+
|
||||
+(define_insn "altivec_vmrghw_direct_<mode>_le"
|
||||
+ [(set (match_operand:VSX_W 0 "register_operand" "=wa,v")
|
||||
+ (vec_select:VSX_W
|
||||
+ (vec_concat:<VS_double>
|
||||
+ (match_operand:VSX_W 2 "register_operand" "wa,v")
|
||||
+ (match_operand:VSX_W 1 "register_operand" "wa,v"))
|
||||
+ (parallel [(const_int 2) (const_int 6)
|
||||
+ (const_int 3) (const_int 7)])))]
|
||||
+ "TARGET_ALTIVEC && !BYTES_BIG_ENDIAN"
|
||||
"@
|
||||
xxmrghw %x0,%x1,%x2
|
||||
vmrghw %0,%1,%2"
|
||||
@@ -1318,16 +1334,18 @@ (define_expand "altivec_vmrglw"
|
||||
(use (match_operand:V4SI 2 "register_operand"))]
|
||||
"VECTOR_MEM_ALTIVEC_P (V4SImode)"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx);
|
||||
- fun = BYTES_BIG_ENDIAN ? gen_altivec_vmrglw_direct_v4si
|
||||
- : gen_altivec_vmrghw_direct_v4si;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (gen_altivec_vmrglw_direct_v4si_be (operands[0],
|
||||
+ operands[1],
|
||||
+ operands[2]));
|
||||
+ else
|
||||
+ emit_insn (gen_altivec_vmrghw_direct_v4si_le (operands[0],
|
||||
+ operands[2],
|
||||
+ operands[1]));
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_insn "altivec_vmrglw_direct_<mode>"
|
||||
+(define_insn "altivec_vmrglw_direct_<mode>_be"
|
||||
[(set (match_operand:VSX_W 0 "register_operand" "=wa,v")
|
||||
(vec_select:VSX_W
|
||||
(vec_concat:<VS_double>
|
||||
@@ -1335,7 +1353,21 @@ (define_insn "altivec_vmrglw_direct_<mode>"
|
||||
(match_operand:VSX_W 2 "register_operand" "wa,v"))
|
||||
(parallel [(const_int 2) (const_int 6)
|
||||
(const_int 3) (const_int 7)])))]
|
||||
- "TARGET_ALTIVEC"
|
||||
+ "TARGET_ALTIVEC && BYTES_BIG_ENDIAN"
|
||||
+ "@
|
||||
+ xxmrglw %x0,%x1,%x2
|
||||
+ vmrglw %0,%1,%2"
|
||||
+ [(set_attr "type" "vecperm")])
|
||||
+
|
||||
+(define_insn "altivec_vmrglw_direct_<mode>_le"
|
||||
+ [(set (match_operand:VSX_W 0 "register_operand" "=wa,v")
|
||||
+ (vec_select:VSX_W
|
||||
+ (vec_concat:<VS_double>
|
||||
+ (match_operand:VSX_W 2 "register_operand" "wa,v")
|
||||
+ (match_operand:VSX_W 1 "register_operand" "wa,v"))
|
||||
+ (parallel [(const_int 0) (const_int 4)
|
||||
+ (const_int 1) (const_int 5)])))]
|
||||
+ "TARGET_ALTIVEC && !BYTES_BIG_ENDIAN"
|
||||
"@
|
||||
xxmrglw %x0,%x1,%x2
|
||||
vmrglw %0,%1,%2"
|
||||
@@ -3807,13 +3839,13 @@ (define_expand "vec_widen_umult_hi_v8hi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmuleuh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulouh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghw_direct_v4si (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmulouh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmuleuh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghw_direct_v4si (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
@@ -3832,13 +3864,13 @@ (define_expand "vec_widen_umult_lo_v8hi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmuleuh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulouh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglw_direct_v4si (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmulouh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmuleuh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglw_direct_v4si (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
@@ -3857,13 +3889,13 @@ (define_expand "vec_widen_smult_hi_v8hi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmulesh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulosh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghw_direct_v4si (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmulosh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulesh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghw_direct_v4si (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
@@ -3882,13 +3914,13 @@ (define_expand "vec_widen_smult_lo_v8hi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmulesh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulosh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglw_direct_v4si (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrglw (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmulosh (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulesh (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglw_direct_v4si (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrghw (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
|
||||
index 9cfde1a52ea..b3d648312f1 100644
|
||||
--- a/gcc/config/rs6000/rs6000.cc
|
||||
+++ b/gcc/config/rs6000/rs6000.cc
|
||||
@@ -23174,8 +23174,8 @@ altivec_expand_vec_perm_const (rtx target, rtx op0, rtx op1,
|
||||
: CODE_FOR_altivec_vmrglh_direct,
|
||||
{0, 1, 16, 17, 2, 3, 18, 19, 4, 5, 20, 21, 6, 7, 22, 23}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
- BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghw_direct_v4si
|
||||
- : CODE_FOR_altivec_vmrglw_direct_v4si,
|
||||
+ BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghw_direct_v4si_be
|
||||
+ : CODE_FOR_altivec_vmrglw_direct_v4si_le,
|
||||
{0, 1, 2, 3, 16, 17, 18, 19, 4, 5, 6, 7, 20, 21, 22, 23}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglb_direct
|
||||
@@ -23186,8 +23186,8 @@ altivec_expand_vec_perm_const (rtx target, rtx op0, rtx op1,
|
||||
: CODE_FOR_altivec_vmrghh_direct,
|
||||
{8, 9, 24, 25, 10, 11, 26, 27, 12, 13, 28, 29, 14, 15, 30, 31}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
- BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglw_direct_v4si
|
||||
- : CODE_FOR_altivec_vmrghw_direct_v4si,
|
||||
+ BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglw_direct_v4si_be
|
||||
+ : CODE_FOR_altivec_vmrghw_direct_v4si_le,
|
||||
{8, 9, 10, 11, 24, 25, 26, 27, 12, 13, 14, 15, 28, 29, 30, 31}},
|
||||
{OPTION_MASK_P8_VECTOR,
|
||||
BYTES_BIG_ENDIAN ? CODE_FOR_p8_vmrgew_v4sf_direct
|
||||
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
|
||||
index f70d69ee4b9..b9a1bfb5c16 100644
|
||||
--- a/gcc/config/rs6000/vsx.md
|
||||
+++ b/gcc/config/rs6000/vsx.md
|
||||
@@ -4683,12 +4683,14 @@ (define_expand "vsx_xxmrghw_<mode>"
|
||||
(const_int 1) (const_int 5)])))]
|
||||
"VECTOR_MEM_VSX_P (<MODE>mode)"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx);
|
||||
- fun = BYTES_BIG_ENDIAN ? gen_altivec_vmrghw_direct_<mode>
|
||||
- : gen_altivec_vmrglw_direct_<mode>;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (gen_altivec_vmrghw_direct_v4si_be (operands[0],
|
||||
+ operands[1],
|
||||
+ operands[2]));
|
||||
+ else
|
||||
+ emit_insn (gen_altivec_vmrglw_direct_v4si_le (operands[0],
|
||||
+ operands[2],
|
||||
+ operands[1]));
|
||||
DONE;
|
||||
}
|
||||
[(set_attr "type" "vecperm")])
|
||||
@@ -4703,12 +4705,14 @@ (define_expand "vsx_xxmrglw_<mode>"
|
||||
(const_int 3) (const_int 7)])))]
|
||||
"VECTOR_MEM_VSX_P (<MODE>mode)"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx);
|
||||
- fun = BYTES_BIG_ENDIAN ? gen_altivec_vmrglw_direct_<mode>
|
||||
- : gen_altivec_vmrghw_direct_<mode>;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (gen_altivec_vmrglw_direct_v4si_be (operands[0],
|
||||
+ operands[1],
|
||||
+ operands[2]));
|
||||
+ else
|
||||
+ emit_insn (gen_altivec_vmrghw_direct_v4si_le (operands[0],
|
||||
+ operands[2],
|
||||
+ operands[1]));
|
||||
DONE;
|
||||
}
|
||||
[(set_attr "type" "vecperm")])
|
||||
diff --git a/gcc/testsuite/g++.target/powerpc/pr106069.C b/gcc/testsuite/g++.target/powerpc/pr106069.C
|
||||
new file mode 100644
|
||||
index 00000000000..537207d2fe8
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/g++.target/powerpc/pr106069.C
|
||||
@@ -0,0 +1,119 @@
|
||||
+/* { dg-options "-O -fno-tree-forwprop -maltivec" } */
|
||||
+/* { dg-require-effective-target vmx_hw } */
|
||||
+/* { dg-do run } */
|
||||
+
|
||||
+typedef __attribute__ ((altivec (vector__))) unsigned native_simd_type;
|
||||
+
|
||||
+union
|
||||
+{
|
||||
+ native_simd_type V;
|
||||
+ int R[4];
|
||||
+} store_le_vec;
|
||||
+
|
||||
+struct S
|
||||
+{
|
||||
+ S () = default;
|
||||
+ S (unsigned B0)
|
||||
+ {
|
||||
+ native_simd_type val{B0};
|
||||
+ m_simd = val;
|
||||
+ }
|
||||
+ void store_le (unsigned int out[])
|
||||
+ {
|
||||
+ store_le_vec.V = m_simd;
|
||||
+ unsigned int x0 = store_le_vec.R[0];
|
||||
+ __builtin_memcpy (out, &x0, 4);
|
||||
+ }
|
||||
+ S rotl (unsigned int r)
|
||||
+ {
|
||||
+ native_simd_type rot{r};
|
||||
+ return __builtin_vec_rl (m_simd, rot);
|
||||
+ }
|
||||
+ void operator+= (S other)
|
||||
+ {
|
||||
+ m_simd = __builtin_vec_add (m_simd, other.m_simd);
|
||||
+ }
|
||||
+ void operator^= (S other)
|
||||
+ {
|
||||
+ m_simd = __builtin_vec_xor (m_simd, other.m_simd);
|
||||
+ }
|
||||
+ static void transpose (S &B0, S B1, S B2, S B3)
|
||||
+ {
|
||||
+ native_simd_type T0 = __builtin_vec_mergeh (B0.m_simd, B2.m_simd);
|
||||
+ native_simd_type T1 = __builtin_vec_mergeh (B1.m_simd, B3.m_simd);
|
||||
+ native_simd_type T2 = __builtin_vec_mergel (B0.m_simd, B2.m_simd);
|
||||
+ native_simd_type T3 = __builtin_vec_mergel (B1.m_simd, B3.m_simd);
|
||||
+ B0 = __builtin_vec_mergeh (T0, T1);
|
||||
+ B3 = __builtin_vec_mergel (T2, T3);
|
||||
+ }
|
||||
+ S (native_simd_type x) : m_simd (x) {}
|
||||
+ native_simd_type m_simd;
|
||||
+};
|
||||
+
|
||||
+void
|
||||
+foo (unsigned int output[], unsigned state[])
|
||||
+{
|
||||
+ S R00 = state[0];
|
||||
+ S R01 = state[0];
|
||||
+ S R02 = state[2];
|
||||
+ S R03 = state[0];
|
||||
+ S R05 = state[5];
|
||||
+ S R06 = state[6];
|
||||
+ S R07 = state[7];
|
||||
+ S R08 = state[8];
|
||||
+ S R09 = state[9];
|
||||
+ S R10 = state[10];
|
||||
+ S R11 = state[11];
|
||||
+ S R12 = state[12];
|
||||
+ S R13 = state[13];
|
||||
+ S R14 = state[4];
|
||||
+ S R15 = state[15];
|
||||
+ for (int r = 0; r != 10; ++r)
|
||||
+ {
|
||||
+ R09 += R13;
|
||||
+ R11 += R15;
|
||||
+ R05 ^= R09;
|
||||
+ R06 ^= R10;
|
||||
+ R07 ^= R11;
|
||||
+ R07 = R07.rotl (7);
|
||||
+ R00 += R05;
|
||||
+ R01 += R06;
|
||||
+ R02 += R07;
|
||||
+ R15 ^= R00;
|
||||
+ R12 ^= R01;
|
||||
+ R13 ^= R02;
|
||||
+ R00 += R05;
|
||||
+ R01 += R06;
|
||||
+ R02 += R07;
|
||||
+ R15 ^= R00;
|
||||
+ R12 = R12.rotl (8);
|
||||
+ R13 = R13.rotl (8);
|
||||
+ R10 += R15;
|
||||
+ R11 += R12;
|
||||
+ R08 += R13;
|
||||
+ R09 += R14;
|
||||
+ R05 ^= R10;
|
||||
+ R06 ^= R11;
|
||||
+ R07 ^= R08;
|
||||
+ R05 = R05.rotl (7);
|
||||
+ R06 = R06.rotl (7);
|
||||
+ R07 = R07.rotl (7);
|
||||
+ }
|
||||
+ R00 += state[0];
|
||||
+ S::transpose (R00, R01, R02, R03);
|
||||
+ R00.store_le (output);
|
||||
+}
|
||||
+
|
||||
+unsigned int res[1];
|
||||
+unsigned main_state[]{1634760805, 60878, 2036477234, 6,
|
||||
+ 0, 825562964, 1471091955, 1346092787,
|
||||
+ 506976774, 4197066702, 518848283, 118491664,
|
||||
+ 0, 0, 0, 0};
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ foo (res, main_state);
|
||||
+ if (res[0] != 0x41fcef98)
|
||||
+ __builtin_abort ();
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/gcc/testsuite/gcc.target/powerpc/pr115355.c b/gcc/testsuite/gcc.target/powerpc/pr115355.c
|
||||
new file mode 100644
|
||||
index 00000000000..8955126b808
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/powerpc/pr115355.c
|
||||
@@ -0,0 +1,37 @@
|
||||
+/* { dg-do run } */
|
||||
+/* { dg-require-effective-target p9vector_hw } */
|
||||
+/* Force vectorization with -fno-vect-cost-model to have vector unpack
|
||||
+ which exposes the issue in PR115355. */
|
||||
+/* { dg-options "-O2 -mdejagnu-cpu=power9 -fno-vect-cost-model" } */
|
||||
+
|
||||
+/* Verify it runs successfully. */
|
||||
+
|
||||
+__attribute__((noipa))
|
||||
+void setToIdentityGOOD(unsigned long long *mVec, unsigned int mLen)
|
||||
+{
|
||||
+ #pragma GCC novector
|
||||
+ for (unsigned int i = 0; i < mLen; i++)
|
||||
+ mVec[i] = i;
|
||||
+}
|
||||
+
|
||||
+__attribute__((noipa))
|
||||
+void setToIdentityBAD(unsigned long long *mVec, unsigned int mLen)
|
||||
+{
|
||||
+ for (unsigned int i = 0; i < mLen; i++)
|
||||
+ mVec[i] = i;
|
||||
+}
|
||||
+
|
||||
+unsigned long long vec1[100];
|
||||
+unsigned long long vec2[100];
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ unsigned int l = 29;
|
||||
+ setToIdentityGOOD (vec1, 29);
|
||||
+ setToIdentityBAD (vec2, 29);
|
||||
+
|
||||
+ if (__builtin_memcmp (vec1, vec2, l * sizeof (vec1[0])) != 0)
|
||||
+ __builtin_abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
240
SOURCES/gcc13-vector-merge-2.patch
Normal file
240
SOURCES/gcc13-vector-merge-2.patch
Normal file
@ -0,0 +1,240 @@
|
||||
commit ffdd377fc07cdc7b62669d354e23f30940eaaffe
|
||||
Author: Kewen Lin <linkw@linux.ibm.com>
|
||||
Date: Wed Jun 26 02:16:17 2024 -0500
|
||||
|
||||
rs6000: Fix wrong RTL patterns for vector merge high/low char on LE
|
||||
|
||||
Commit r12-4496 changes some define_expands and define_insns
|
||||
for vector merge high/low char, which are altivec_vmrg[hl]b.
|
||||
These defines are mainly for built-in function vec_merge{h,l}
|
||||
and some internal gen function needs. These functions should
|
||||
consider endianness, taking vec_mergeh as example, as PVIPR
|
||||
defines, vec_mergeh "Merges the first halves (in element order)
|
||||
of two vectors", it does note it's in element order. So it's
|
||||
mapped into vmrghb on BE while vmrglb on LE respectively.
|
||||
Although the mapped insns are different, as the discussion in
|
||||
PR106069, the RTL pattern should be still the same, it is
|
||||
conformed before commit r12-4496, but gets changed into
|
||||
different patterns on BE and LE starting from commit r12-4496.
|
||||
Similar to 32-bit element case in commit log of r15-1504, this
|
||||
8-bit element pattern on LE doesn't actually match what the
|
||||
underlying insn is intended to represent, once some optimization
|
||||
like combine does some changes basing on it, it would cause
|
||||
the unexpected consequence. The newly constructed test case
|
||||
pr106069-1.c is a typical example for this issue.
|
||||
|
||||
So this patch is to fix the wrong RTL pattern, ensure the
|
||||
associated RTL patterns become the same as before which can
|
||||
have the same semantic as their mapped insns. With the
|
||||
proposed patch, the expanders like altivec_vmrghb expands
|
||||
into altivec_vmrghb_direct_be or altivec_vmrglb_direct_le
|
||||
depending on endianness, "direct" can easily show which
|
||||
insn would be generated, _be and _le are mainly for the
|
||||
different RTL patterns as endianness.
|
||||
|
||||
Co-authored-by: Xionghu Luo <xionghuluo@tencent.com>
|
||||
|
||||
PR target/106069
|
||||
PR target/115355
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
* config/rs6000/altivec.md (altivec_vmrghb_direct): Rename to ...
|
||||
(altivec_vmrghb_direct_be): ... this. Add condition BYTES_BIG_ENDIAN.
|
||||
(altivec_vmrghb_direct_le): New define_insn.
|
||||
(altivec_vmrglb_direct): Rename to ...
|
||||
(altivec_vmrglb_direct_be): ... this. Add condition BYTES_BIG_ENDIAN.
|
||||
(altivec_vmrglb_direct_le): New define_insn.
|
||||
(altivec_vmrghb): Adjust by calling gen_altivec_vmrghb_direct_be
|
||||
for BE and gen_altivec_vmrglb_direct_le for LE.
|
||||
(altivec_vmrglb): Adjust by calling gen_altivec_vmrglb_direct_be
|
||||
for BE and gen_altivec_vmrghb_direct_le for LE.
|
||||
* config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace
|
||||
CODE_FOR_altivec_vmrghb_direct by
|
||||
CODE_FOR_altivec_vmrghb_direct_be for BE and
|
||||
CODE_FOR_altivec_vmrghb_direct_le for LE. And replace
|
||||
CODE_FOR_altivec_vmrglb_direct by
|
||||
CODE_FOR_altivec_vmrglb_direct_be for BE and
|
||||
CODE_FOR_altivec_vmrglb_direct_le for LE.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
|
||||
* gcc.target/powerpc/pr106069-1.c: New test.
|
||||
|
||||
(cherry picked from commit 62520e4e9f7e2fe8a16ee57a4bd35da2e921ae22)
|
||||
|
||||
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
|
||||
index 92e2e4a4090..47664204bc5 100644
|
||||
--- a/gcc/config/rs6000/altivec.md
|
||||
+++ b/gcc/config/rs6000/altivec.md
|
||||
@@ -1152,15 +1152,16 @@ (define_expand "altivec_vmrghb"
|
||||
(use (match_operand:V16QI 2 "register_operand"))]
|
||||
"TARGET_ALTIVEC"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx) = BYTES_BIG_ENDIAN ? gen_altivec_vmrghb_direct
|
||||
- : gen_altivec_vmrglb_direct;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrghb_direct_be (operands[0], operands[1], operands[2]));
|
||||
+ else
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrglb_direct_le (operands[0], operands[2], operands[1]));
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_insn "altivec_vmrghb_direct"
|
||||
+(define_insn "altivec_vmrghb_direct_be"
|
||||
[(set (match_operand:V16QI 0 "register_operand" "=v")
|
||||
(vec_select:V16QI
|
||||
(vec_concat:V32QI
|
||||
@@ -1174,7 +1175,25 @@ (define_insn "altivec_vmrghb_direct"
|
||||
(const_int 5) (const_int 21)
|
||||
(const_int 6) (const_int 22)
|
||||
(const_int 7) (const_int 23)])))]
|
||||
- "TARGET_ALTIVEC"
|
||||
+ "TARGET_ALTIVEC && BYTES_BIG_ENDIAN"
|
||||
+ "vmrghb %0,%1,%2"
|
||||
+ [(set_attr "type" "vecperm")])
|
||||
+
|
||||
+(define_insn "altivec_vmrghb_direct_le"
|
||||
+ [(set (match_operand:V16QI 0 "register_operand" "=v")
|
||||
+ (vec_select:V16QI
|
||||
+ (vec_concat:V32QI
|
||||
+ (match_operand:V16QI 2 "register_operand" "v")
|
||||
+ (match_operand:V16QI 1 "register_operand" "v"))
|
||||
+ (parallel [(const_int 8) (const_int 24)
|
||||
+ (const_int 9) (const_int 25)
|
||||
+ (const_int 10) (const_int 26)
|
||||
+ (const_int 11) (const_int 27)
|
||||
+ (const_int 12) (const_int 28)
|
||||
+ (const_int 13) (const_int 29)
|
||||
+ (const_int 14) (const_int 30)
|
||||
+ (const_int 15) (const_int 31)])))]
|
||||
+ "TARGET_ALTIVEC && !BYTES_BIG_ENDIAN"
|
||||
"vmrghb %0,%1,%2"
|
||||
[(set_attr "type" "vecperm")])
|
||||
|
||||
@@ -1274,15 +1293,16 @@ (define_expand "altivec_vmrglb"
|
||||
(use (match_operand:V16QI 2 "register_operand"))]
|
||||
"TARGET_ALTIVEC"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx) = BYTES_BIG_ENDIAN ? gen_altivec_vmrglb_direct
|
||||
- : gen_altivec_vmrghb_direct;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrglb_direct_be (operands[0], operands[1], operands[2]));
|
||||
+ else
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrghb_direct_le (operands[0], operands[2], operands[1]));
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_insn "altivec_vmrglb_direct"
|
||||
+(define_insn "altivec_vmrglb_direct_be"
|
||||
[(set (match_operand:V16QI 0 "register_operand" "=v")
|
||||
(vec_select:V16QI
|
||||
(vec_concat:V32QI
|
||||
@@ -1296,7 +1316,25 @@ (define_insn "altivec_vmrglb_direct"
|
||||
(const_int 13) (const_int 29)
|
||||
(const_int 14) (const_int 30)
|
||||
(const_int 15) (const_int 31)])))]
|
||||
- "TARGET_ALTIVEC"
|
||||
+ "TARGET_ALTIVEC && BYTES_BIG_ENDIAN"
|
||||
+ "vmrglb %0,%1,%2"
|
||||
+ [(set_attr "type" "vecperm")])
|
||||
+
|
||||
+(define_insn "altivec_vmrglb_direct_le"
|
||||
+ [(set (match_operand:V16QI 0 "register_operand" "=v")
|
||||
+ (vec_select:V16QI
|
||||
+ (vec_concat:V32QI
|
||||
+ (match_operand:V16QI 2 "register_operand" "v")
|
||||
+ (match_operand:V16QI 1 "register_operand" "v"))
|
||||
+ (parallel [(const_int 0) (const_int 16)
|
||||
+ (const_int 1) (const_int 17)
|
||||
+ (const_int 2) (const_int 18)
|
||||
+ (const_int 3) (const_int 19)
|
||||
+ (const_int 4) (const_int 20)
|
||||
+ (const_int 5) (const_int 21)
|
||||
+ (const_int 6) (const_int 22)
|
||||
+ (const_int 7) (const_int 23)])))]
|
||||
+ "TARGET_ALTIVEC && !BYTES_BIG_ENDIAN"
|
||||
"vmrglb %0,%1,%2"
|
||||
[(set_attr "type" "vecperm")])
|
||||
|
||||
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
|
||||
index b3d648312f1..10088033aa1 100644
|
||||
--- a/gcc/config/rs6000/rs6000.cc
|
||||
+++ b/gcc/config/rs6000/rs6000.cc
|
||||
@@ -23166,8 +23166,8 @@ altivec_expand_vec_perm_const (rtx target, rtx op0, rtx op1,
|
||||
CODE_FOR_altivec_vpkuwum_direct,
|
||||
{2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
- BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghb_direct
|
||||
- : CODE_FOR_altivec_vmrglb_direct,
|
||||
+ BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghb_direct_be
|
||||
+ : CODE_FOR_altivec_vmrglb_direct_le,
|
||||
{0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghh_direct
|
||||
@@ -23178,8 +23178,8 @@ altivec_expand_vec_perm_const (rtx target, rtx op0, rtx op1,
|
||||
: CODE_FOR_altivec_vmrglw_direct_v4si_le,
|
||||
{0, 1, 2, 3, 16, 17, 18, 19, 4, 5, 6, 7, 20, 21, 22, 23}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
- BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglb_direct
|
||||
- : CODE_FOR_altivec_vmrghb_direct,
|
||||
+ BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglb_direct_be
|
||||
+ : CODE_FOR_altivec_vmrghb_direct_le,
|
||||
{8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglh_direct
|
||||
diff --git a/gcc/testsuite/gcc.target/powerpc/pr106069-1.c b/gcc/testsuite/gcc.target/powerpc/pr106069-1.c
|
||||
new file mode 100644
|
||||
index 00000000000..4945d8fedfb
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/powerpc/pr106069-1.c
|
||||
@@ -0,0 +1,39 @@
|
||||
+/* { dg-do run } */
|
||||
+/* { dg-options "-O2" } */
|
||||
+/* { dg-require-effective-target vmx_hw } */
|
||||
+
|
||||
+/* Test vector merge for 8-bit element size,
|
||||
+ it will abort if the RTL pattern isn't expected. */
|
||||
+
|
||||
+#include "altivec.h"
|
||||
+
|
||||
+__attribute__((noipa))
|
||||
+signed char elem_6 (vector signed char a, vector signed char b)
|
||||
+{
|
||||
+ vector signed char c = vec_mergeh (a,b);
|
||||
+ return vec_extract (c, 6);
|
||||
+}
|
||||
+
|
||||
+__attribute__((noipa))
|
||||
+unsigned char elem_15 (vector unsigned char a, vector unsigned char b)
|
||||
+{
|
||||
+ vector unsigned char c = vec_mergel (a,b);
|
||||
+ return vec_extract (c, 15);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ vector unsigned char v1
|
||||
+ = {3, 33, 22, 12, 34, 14, 5, 25, 30, 11, 0, 21, 17, 27, 38, 8};
|
||||
+ vector unsigned char v2
|
||||
+ = {81, 82, 83, 84, 68, 67, 66, 65, 99, 100, 101, 102, 250, 125, 0, 6};
|
||||
+ signed char x1 = elem_6 ((vector signed char) v1, (vector signed char) v2);
|
||||
+ unsigned char x2 = elem_15 (v1, v2);
|
||||
+
|
||||
+ if (x1 != 12 || x2 != 6)
|
||||
+ __builtin_abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
306
SOURCES/gcc13-vector-merge-3.patch
Normal file
306
SOURCES/gcc13-vector-merge-3.patch
Normal file
@ -0,0 +1,306 @@
|
||||
commit bab38d9271ce3f26cb64b8cb712351eb3fedd559
|
||||
Author: Kewen Lin <linkw@linux.ibm.com>
|
||||
Date: Wed Jun 26 02:16:17 2024 -0500
|
||||
|
||||
rs6000: Fix wrong RTL patterns for vector merge high/low short on LE
|
||||
|
||||
Commit r12-4496 changes some define_expands and define_insns
|
||||
for vector merge high/low short, which are altivec_vmrg[hl]h.
|
||||
These defines are mainly for built-in function vec_merge{h,l}
|
||||
and some internal gen function needs. These functions should
|
||||
consider endianness, taking vec_mergeh as example, as PVIPR
|
||||
defines, vec_mergeh "Merges the first halves (in element order)
|
||||
of two vectors", it does note it's in element order. So it's
|
||||
mapped into vmrghh on BE while vmrglh on LE respectively.
|
||||
Although the mapped insns are different, as the discussion in
|
||||
PR106069, the RTL pattern should be still the same, it is
|
||||
conformed before commit r12-4496, but gets changed into
|
||||
different patterns on BE and LE starting from commit r12-4496.
|
||||
Similar to 32-bit element case in commit log of r15-1504, this
|
||||
16-bit element pattern on LE doesn't actually match what the
|
||||
underlying insn is intended to represent, once some optimization
|
||||
like combine does some changes basing on it, it would cause
|
||||
the unexpected consequence. The newly constructed test case
|
||||
pr106069-2.c is a typical example for this issue on element type
|
||||
short.
|
||||
|
||||
So this patch is to fix the wrong RTL pattern, ensure the
|
||||
associated RTL patterns become the same as before which can
|
||||
have the same semantic as their mapped insns. With the
|
||||
proposed patch, the expanders like altivec_vmrghh expands
|
||||
into altivec_vmrghh_direct_be or altivec_vmrglh_direct_le
|
||||
depending on endianness, "direct" can easily show which
|
||||
insn would be generated, _be and _le are mainly for the
|
||||
different RTL patterns as endianness.
|
||||
|
||||
Co-authored-by: Xionghu Luo <xionghuluo@tencent.com>
|
||||
|
||||
PR target/106069
|
||||
PR target/115355
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
* config/rs6000/altivec.md (altivec_vmrghh_direct): Rename to ...
|
||||
(altivec_vmrghh_direct_be): ... this. Add condition BYTES_BIG_ENDIAN.
|
||||
(altivec_vmrghh_direct_le): New define_insn.
|
||||
(altivec_vmrglh_direct): Rename to ...
|
||||
(altivec_vmrglh_direct_be): ... this. Add condition BYTES_BIG_ENDIAN.
|
||||
(altivec_vmrglh_direct_le): New define_insn.
|
||||
(altivec_vmrghh): Adjust by calling gen_altivec_vmrghh_direct_be
|
||||
for BE and gen_altivec_vmrglh_direct_le for LE.
|
||||
(altivec_vmrglh): Adjust by calling gen_altivec_vmrglh_direct_be
|
||||
for BE and gen_altivec_vmrghh_direct_le for LE.
|
||||
(vec_widen_umult_hi_v16qi): Adjust the call to
|
||||
gen_altivec_vmrghh_direct by gen_altivec_vmrghh for BE
|
||||
and by gen_altivec_vmrglh for LE.
|
||||
(vec_widen_smult_hi_v16qi): Likewise.
|
||||
(vec_widen_umult_lo_v16qi): Adjust the call to
|
||||
gen_altivec_vmrglh_direct by gen_altivec_vmrglh for BE
|
||||
and by gen_altivec_vmrghh for LE.
|
||||
(vec_widen_smult_lo_v16qi): Likewise.
|
||||
* config/rs6000/rs6000.cc (altivec_expand_vec_perm_const): Replace
|
||||
CODE_FOR_altivec_vmrghh_direct by
|
||||
CODE_FOR_altivec_vmrghh_direct_be for BE and
|
||||
CODE_FOR_altivec_vmrghh_direct_le for LE. And replace
|
||||
CODE_FOR_altivec_vmrglh_direct by
|
||||
CODE_FOR_altivec_vmrglh_direct_be for BE and
|
||||
CODE_FOR_altivec_vmrglh_direct_le for LE.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
|
||||
* gcc.target/powerpc/pr106069-2.c: New test.
|
||||
|
||||
(cherry picked from commit 812c70bf4981958488331d4ea5af8709b5321da1)
|
||||
|
||||
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
|
||||
index 47664204bc5..6557393a97c 100644
|
||||
--- a/gcc/config/rs6000/altivec.md
|
||||
+++ b/gcc/config/rs6000/altivec.md
|
||||
@@ -1203,17 +1203,18 @@ (define_expand "altivec_vmrghh"
|
||||
(use (match_operand:V8HI 2 "register_operand"))]
|
||||
"TARGET_ALTIVEC"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx) = BYTES_BIG_ENDIAN ? gen_altivec_vmrghh_direct
|
||||
- : gen_altivec_vmrglh_direct;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrghh_direct_be (operands[0], operands[1], operands[2]));
|
||||
+ else
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrglh_direct_le (operands[0], operands[2], operands[1]));
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_insn "altivec_vmrghh_direct"
|
||||
+(define_insn "altivec_vmrghh_direct_be"
|
||||
[(set (match_operand:V8HI 0 "register_operand" "=v")
|
||||
- (vec_select:V8HI
|
||||
+ (vec_select:V8HI
|
||||
(vec_concat:V16HI
|
||||
(match_operand:V8HI 1 "register_operand" "v")
|
||||
(match_operand:V8HI 2 "register_operand" "v"))
|
||||
@@ -1221,7 +1222,21 @@ (define_insn "altivec_vmrghh_direct"
|
||||
(const_int 1) (const_int 9)
|
||||
(const_int 2) (const_int 10)
|
||||
(const_int 3) (const_int 11)])))]
|
||||
- "TARGET_ALTIVEC"
|
||||
+ "TARGET_ALTIVEC && BYTES_BIG_ENDIAN"
|
||||
+ "vmrghh %0,%1,%2"
|
||||
+ [(set_attr "type" "vecperm")])
|
||||
+
|
||||
+(define_insn "altivec_vmrghh_direct_le"
|
||||
+ [(set (match_operand:V8HI 0 "register_operand" "=v")
|
||||
+ (vec_select:V8HI
|
||||
+ (vec_concat:V16HI
|
||||
+ (match_operand:V8HI 2 "register_operand" "v")
|
||||
+ (match_operand:V8HI 1 "register_operand" "v"))
|
||||
+ (parallel [(const_int 4) (const_int 12)
|
||||
+ (const_int 5) (const_int 13)
|
||||
+ (const_int 6) (const_int 14)
|
||||
+ (const_int 7) (const_int 15)])))]
|
||||
+ "TARGET_ALTIVEC && !BYTES_BIG_ENDIAN"
|
||||
"vmrghh %0,%1,%2"
|
||||
[(set_attr "type" "vecperm")])
|
||||
|
||||
@@ -1344,15 +1359,16 @@ (define_expand "altivec_vmrglh"
|
||||
(use (match_operand:V8HI 2 "register_operand"))]
|
||||
"TARGET_ALTIVEC"
|
||||
{
|
||||
- rtx (*fun) (rtx, rtx, rtx) = BYTES_BIG_ENDIAN ? gen_altivec_vmrglh_direct
|
||||
- : gen_altivec_vmrghh_direct;
|
||||
- if (!BYTES_BIG_ENDIAN)
|
||||
- std::swap (operands[1], operands[2]);
|
||||
- emit_insn (fun (operands[0], operands[1], operands[2]));
|
||||
+ if (BYTES_BIG_ENDIAN)
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrglh_direct_be (operands[0], operands[1], operands[2]));
|
||||
+ else
|
||||
+ emit_insn (
|
||||
+ gen_altivec_vmrghh_direct_le (operands[0], operands[2], operands[1]));
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_insn "altivec_vmrglh_direct"
|
||||
+(define_insn "altivec_vmrglh_direct_be"
|
||||
[(set (match_operand:V8HI 0 "register_operand" "=v")
|
||||
(vec_select:V8HI
|
||||
(vec_concat:V16HI
|
||||
@@ -1362,7 +1378,21 @@ (define_insn "altivec_vmrglh_direct"
|
||||
(const_int 5) (const_int 13)
|
||||
(const_int 6) (const_int 14)
|
||||
(const_int 7) (const_int 15)])))]
|
||||
- "TARGET_ALTIVEC"
|
||||
+ "TARGET_ALTIVEC && BYTES_BIG_ENDIAN"
|
||||
+ "vmrglh %0,%1,%2"
|
||||
+ [(set_attr "type" "vecperm")])
|
||||
+
|
||||
+(define_insn "altivec_vmrglh_direct_le"
|
||||
+ [(set (match_operand:V8HI 0 "register_operand" "=v")
|
||||
+ (vec_select:V8HI
|
||||
+ (vec_concat:V16HI
|
||||
+ (match_operand:V8HI 2 "register_operand" "v")
|
||||
+ (match_operand:V8HI 1 "register_operand" "v"))
|
||||
+ (parallel [(const_int 0) (const_int 8)
|
||||
+ (const_int 1) (const_int 9)
|
||||
+ (const_int 2) (const_int 10)
|
||||
+ (const_int 3) (const_int 11)])))]
|
||||
+ "TARGET_ALTIVEC && !BYTES_BIG_ENDIAN"
|
||||
"vmrglh %0,%1,%2"
|
||||
[(set_attr "type" "vecperm")])
|
||||
|
||||
@@ -3777,13 +3807,13 @@ (define_expand "vec_widen_umult_hi_v16qi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmuleub (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmuloub (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghh_direct (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmuloub (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmuleub (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghh_direct (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
@@ -3802,13 +3832,13 @@ (define_expand "vec_widen_umult_lo_v16qi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmuleub (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmuloub (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglh_direct (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmuloub (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmuleub (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglh_direct (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
@@ -3827,13 +3857,13 @@ (define_expand "vec_widen_smult_hi_v16qi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmulesb (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulosb (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghh_direct (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmulosb (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulesb (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrghh_direct (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
@@ -3852,13 +3882,13 @@ (define_expand "vec_widen_smult_lo_v16qi"
|
||||
{
|
||||
emit_insn (gen_altivec_vmulesb (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulosb (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglh_direct (operands[0], ve, vo));
|
||||
+ emit_insn (gen_altivec_vmrglh (operands[0], ve, vo));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_insn (gen_altivec_vmulosb (ve, operands[1], operands[2]));
|
||||
emit_insn (gen_altivec_vmulesb (vo, operands[1], operands[2]));
|
||||
- emit_insn (gen_altivec_vmrglh_direct (operands[0], vo, ve));
|
||||
+ emit_insn (gen_altivec_vmrghh (operands[0], ve, vo));
|
||||
}
|
||||
DONE;
|
||||
})
|
||||
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
|
||||
index 10088033aa1..76eb89ad529 100644
|
||||
--- a/gcc/config/rs6000/rs6000.cc
|
||||
+++ b/gcc/config/rs6000/rs6000.cc
|
||||
@@ -23170,8 +23170,8 @@ altivec_expand_vec_perm_const (rtx target, rtx op0, rtx op1,
|
||||
: CODE_FOR_altivec_vmrglb_direct_le,
|
||||
{0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
- BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghh_direct
|
||||
- : CODE_FOR_altivec_vmrglh_direct,
|
||||
+ BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghh_direct_be
|
||||
+ : CODE_FOR_altivec_vmrglh_direct_le,
|
||||
{0, 1, 16, 17, 2, 3, 18, 19, 4, 5, 20, 21, 6, 7, 22, 23}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghw_direct_v4si_be
|
||||
@@ -23182,8 +23182,8 @@ altivec_expand_vec_perm_const (rtx target, rtx op0, rtx op1,
|
||||
: CODE_FOR_altivec_vmrghb_direct_le,
|
||||
{8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
- BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglh_direct
|
||||
- : CODE_FOR_altivec_vmrghh_direct,
|
||||
+ BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglh_direct_be
|
||||
+ : CODE_FOR_altivec_vmrghh_direct_le,
|
||||
{8, 9, 24, 25, 10, 11, 26, 27, 12, 13, 28, 29, 14, 15, 30, 31}},
|
||||
{OPTION_MASK_ALTIVEC,
|
||||
BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrglw_direct_v4si_be
|
||||
diff --git a/gcc/testsuite/gcc.target/powerpc/pr106069-2.c b/gcc/testsuite/gcc.target/powerpc/pr106069-2.c
|
||||
new file mode 100644
|
||||
index 00000000000..283e3290fb3
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/powerpc/pr106069-2.c
|
||||
@@ -0,0 +1,37 @@
|
||||
+/* { dg-do run } */
|
||||
+/* { dg-options "-O2" } */
|
||||
+/* { dg-require-effective-target vmx_hw } */
|
||||
+
|
||||
+/* Test vector merge for 16-bit element size,
|
||||
+ it will abort if the RTL pattern isn't expected. */
|
||||
+
|
||||
+#include "altivec.h"
|
||||
+
|
||||
+__attribute__((noipa))
|
||||
+signed short elem_2 (vector signed short a, vector signed short b)
|
||||
+{
|
||||
+ vector signed short c = vec_mergeh (a,b);
|
||||
+ return vec_extract (c, 2);
|
||||
+}
|
||||
+
|
||||
+__attribute__((noipa))
|
||||
+unsigned short elem_7 (vector unsigned short a, vector unsigned short b)
|
||||
+{
|
||||
+ vector unsigned short c = vec_mergel (a,b);
|
||||
+ return vec_extract (c, 7);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ vector unsigned short v1 = {3, 22, 12, 34, 5, 25, 30, 11};
|
||||
+ vector unsigned short v2 = {84, 168, 267, 966, 65, 399, 999, 99};
|
||||
+ signed short x1 = elem_2 ((vector signed short) v1, (vector signed short) v2);
|
||||
+ unsigned short x2 = elem_7 (v1, v2);
|
||||
+
|
||||
+ if (x1 != 22 || x2 != 99)
|
||||
+ __builtin_abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
2246
SOURCES/gcc13-znver5.patch
Normal file
2246
SOURCES/gcc13-znver5.patch
Normal file
File diff suppressed because it is too large
Load Diff
216
SPECS/gcc.spec
216
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 20240611
|
||||
%global gitrev 03b1a31f9807251f378fcecb29c4669eed357eb2
|
||||
%global gcc_version 13.3.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 2
|
||||
%global nvptx_tools_gitrev aa3404ad5a496cda5d79a50bedb1344fd63e8763
|
||||
%global newlib_cygwin_gitrev 9e09d6ed83cce4777a5950412647ccc603040409
|
||||
%global mpc_version 1.0.3
|
||||
%global isl_version 0.24
|
||||
@ -146,10 +146,10 @@ BuildRequires: scl-utils-build
|
||||
%else
|
||||
%global build_annobin_plugin 0
|
||||
%endif
|
||||
Summary: GCC version 13
|
||||
Summary: GCC version %{gcc_major}
|
||||
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,11 @@ Patch8: gcc13-no-add-needed.patch
|
||||
Patch9: gcc13-Wno-format-security.patch
|
||||
Patch10: gcc13-rh1574936.patch
|
||||
Patch11: gcc13-d-shared-libphobos.patch
|
||||
Patch12: gcc13-znver5.patch
|
||||
Patch13: gcc13-pr107071.patch
|
||||
Patch14: gcc13-vector-merge-1.patch
|
||||
Patch15: gcc13-vector-merge-2.patch
|
||||
Patch16: gcc13-vector-merge-3.patch
|
||||
|
||||
Patch50: isl-rh2155127.patch
|
||||
|
||||
@ -358,9 +363,8 @@ 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
|
||||
|
||||
%if 0%{?rhel} == 9
|
||||
%global nonsharedver 110
|
||||
@ -391,10 +395,11 @@ Patch3022: gcc13-testsuite-plugin.patch
|
||||
%endif
|
||||
|
||||
%description
|
||||
The %{?scl_prefix}gcc%{!?scl:13} package contains the GNU Compiler Collection version 10.
|
||||
The %{?scl_prefix}gcc%{!?scl:13} package contains the GNU Compiler Collection
|
||||
version %{gcc_major}.
|
||||
|
||||
%package -n libgcc
|
||||
Summary: GCC version 13 shared support library
|
||||
Summary: GCC version %{gcc_major} shared support library
|
||||
Autoreq: false
|
||||
|
||||
%description -n libgcc
|
||||
@ -402,7 +407,7 @@ This package contains GCC shared support library which is needed
|
||||
e.g. for exception handling support.
|
||||
|
||||
%package c++
|
||||
Summary: C++ support for GCC version 13
|
||||
Summary: C++ support for GCC version %{gcc_major}
|
||||
Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release}
|
||||
Requires: libstdc++
|
||||
Requires: %{?scl_prefix}libstdc++%{!?scl:13}-devel = %{version}-%{release}
|
||||
@ -410,8 +415,8 @@ Autoreq: true
|
||||
|
||||
%description c++
|
||||
This package adds C++ support to the GNU Compiler Collection
|
||||
version 13. It includes support for most of the current C++ specification
|
||||
and a lot of support for the upcoming C++ specification.
|
||||
version %{gcc_major}. It includes support for most of the current C++
|
||||
specification and a lot of support for the upcoming C++ specification.
|
||||
|
||||
%package -n libstdc++
|
||||
Summary: GNU Standard C++ Library
|
||||
@ -441,7 +446,7 @@ Manual, doxygen generated API information and Frequently Asked Questions
|
||||
for the GNU standard C++ library.
|
||||
|
||||
%package gfortran
|
||||
Summary: Fortran support for GCC 13
|
||||
Summary: Fortran support for GCC %{gcc_major}
|
||||
Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release}
|
||||
%if 0%{?rhel} > 7
|
||||
Requires: libgfortran >= 8.1.1
|
||||
@ -464,18 +469,18 @@ programs with the GNU Compiler Collection.
|
||||
|
||||
|
||||
%package gdb-plugin
|
||||
Summary: GCC 13 plugin for GDB
|
||||
Summary: GCC %{gcc_major} plugin for GDB
|
||||
Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release}
|
||||
|
||||
%description gdb-plugin
|
||||
This package contains GCC 13 plugin for GDB C expression evaluation.
|
||||
This package contains GCC %{gcc_major} plugin for GDB C expression evaluation.
|
||||
|
||||
%package -n %{?scl_prefix}libgccjit
|
||||
Summary: Library for embedding GCC inside programs and libraries
|
||||
Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release}
|
||||
|
||||
%description -n %{?scl_prefix}libgccjit
|
||||
This package contains shared library with GCC 13 JIT front-end.
|
||||
This package contains shared library with GCC %{gcc_major} JIT front-end.
|
||||
|
||||
%package -n %{?scl_prefix}libgccjit-devel
|
||||
Summary: Support for embedding GCC inside programs and libraries
|
||||
@ -485,7 +490,7 @@ Requires: %{?scl_prefix}libgccjit = %{version}-%{release}
|
||||
#Requires: %%{?scl_prefix}libgccjit-docs = %%{version}-%%{release}
|
||||
|
||||
%description -n %{?scl_prefix}libgccjit-devel
|
||||
This package contains header files for GCC 13 JIT front end.
|
||||
This package contains header files for GCC %{gcc_major} JIT front end.
|
||||
|
||||
%package -n %{?scl_prefix}libgccjit-docs
|
||||
Summary: Documentation for embedding GCC inside programs and libraries
|
||||
@ -499,10 +504,10 @@ Requires(post): /sbin/install-info
|
||||
Requires(preun): /sbin/install-info
|
||||
|
||||
%description -n %{?scl_prefix}libgccjit-docs
|
||||
This package contains documentation for GCC 13 JIT front-end.
|
||||
This package contains documentation for GCC %{gcc_major} JIT front-end.
|
||||
|
||||
%package -n libquadmath
|
||||
Summary: GCC 13 __float128 shared support library
|
||||
Summary: GCC %{gcc_major} __float128 shared support library
|
||||
Requires(post): /sbin/install-info
|
||||
Requires(preun): /sbin/install-info
|
||||
|
||||
@ -511,7 +516,7 @@ This package contains GCC shared support library which is needed
|
||||
for __float128 math support and for Fortran REAL*16 support.
|
||||
|
||||
%package -n %{?scl_prefix}libquadmath-devel
|
||||
Summary: GCC 13 __float128 support
|
||||
Summary: GCC %{gcc_major} __float128 support
|
||||
Group: Development/Libraries
|
||||
%if 0%{!?scl:1}
|
||||
Requires: %{?scl_prefix}libquadmath%{_isa} = %{version}-%{release}
|
||||
@ -552,7 +557,7 @@ Requires: libmpc-devel >= 0.8.1
|
||||
|
||||
%description plugin-devel
|
||||
This package contains header files and other support files
|
||||
for compiling GCC 13 plugins. The GCC plugin ABI is currently
|
||||
for compiling GCC %{gcc_major} plugins. The GCC plugin ABI is currently
|
||||
not stable, so plugins must be rebuilt any time GCC is updated.
|
||||
|
||||
%package -n libatomic
|
||||
@ -574,10 +579,10 @@ Requires: libatomic%{_isa} >= 4.8.0
|
||||
This package contains GNU Atomic static libraries.
|
||||
|
||||
%package -n libasan8
|
||||
Summary: The Address Sanitizer runtime library from GCC 13
|
||||
Summary: The Address Sanitizer runtime library from GCC %{gcc_major}
|
||||
|
||||
%description -n libasan8
|
||||
This package contains the Address Sanitizer library from GCC 13
|
||||
This package contains the Address Sanitizer library from GCC %{gcc_major}
|
||||
which is used for -fsanitize=address instrumented programs.
|
||||
|
||||
%package -n %{?scl_prefix}libasan-devel
|
||||
@ -694,6 +699,11 @@ so that there cannot be any synchronization problems.
|
||||
%patch -P10 -p0 -b .rh1574936~
|
||||
%endif
|
||||
%patch -P11 -p0 -b .d-shared-libphobos~
|
||||
%patch -P12 -p1 -b .znver5~
|
||||
%patch -P13 -p1 -b .pr107071~
|
||||
%patch -P14 -p1 -b .vector-merge-1~
|
||||
%patch -P15 -p1 -b .vector-merge-2~
|
||||
%patch -P16 -p1 -b .vector-merge-3~
|
||||
|
||||
%if 0%{?rhel} >= 6
|
||||
%patch -P100 -p1 -b .fortran-fdec-duplicates~
|
||||
@ -739,9 +749,8 @@ 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~
|
||||
|
||||
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
|
||||
|
||||
@ -797,6 +806,10 @@ rm -rf libgomp/testsuite/libgomp.fortran/pr90030.f90
|
||||
rm -f libstdc++-v3/testsuite/30_threads/future/members/poll.cc
|
||||
%endif
|
||||
|
||||
# Disable jQuery use (CVE-2020-11023).
|
||||
sed -i '/^SEARCHENGINE/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in
|
||||
sed -i '/^GENERATE_TREEVIEW/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in
|
||||
|
||||
%build
|
||||
|
||||
# Undo the broken autoconf change in recent Fedora versions
|
||||
@ -925,7 +938,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
|
||||
@ -1179,7 +1192,8 @@ CC="`$ANNOBIN_FLAGS --build-cc`" CXX="`$ANNOBIN_FLAGS --build-cxx`" \
|
||||
CFLAGS="$ANNOBIN_CFLAGS1 $ANNOBIN_CFLAGS2 $ANNOBIN_LDFLAGS" \
|
||||
CXXFLAGS="$ANNOBIN_CFLAGS1 `$ANNOBIN_FLAGS --build-includes` $ANNOBIN_CFLAGS2 $ANNOBIN_LDFLAGS" \
|
||||
./configure --with-gcc-plugin-dir=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin \
|
||||
--without-annocheck --without-tests --without-docs --disable-rpath --without-debuginfod
|
||||
--without-annocheck --without-tests --without-docs --disable-rpath --without-debuginfod \
|
||||
--without-clang-plugin --without-llvm-plugin
|
||||
make
|
||||
cd ../..
|
||||
%endif
|
||||
@ -1363,6 +1377,9 @@ cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
|
||||
mkdir -p %{buildroot}%{_mandir}/man3
|
||||
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
|
||||
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
|
||||
# We don't want to ship jQuery in the libstdc++-docs package.
|
||||
find ../rpm.doc/libstdc++-v3 -name jquery.js | xargs rm
|
||||
find ../rpm.doc/libstdc++-v3/html -name '*.html' | xargs sed -i '/<script type="text.javascript" src="jquery.js"><.script>/d'
|
||||
%endif
|
||||
|
||||
%ifarch sparcv9 sparc64
|
||||
@ -1824,7 +1841,7 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major
|
||||
%if 0%{?_enable_debug_packages}
|
||||
mkdir -p $RPM_BUILD_ROOT%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
|
||||
adirs="$FULLPATH"
|
||||
if [ $FULLLPATH -ne $FULLPATH ]; then
|
||||
if [ "$FULLLPATH" != "$FULLPATH" ]; then
|
||||
adirs="$adirs $FULLLPATH"
|
||||
fi
|
||||
for f in `find $adirs -maxdepth 1 -a \
|
||||
@ -1944,7 +1961,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 +2633,7 @@ fi
|
||||
|
||||
%files gfortran
|
||||
%{_prefix}/bin/gfortran
|
||||
%{_prefix}/bin/f95
|
||||
%if 0%{?scl:1}
|
||||
%{_mandir}/man1/gfortran.1*
|
||||
%{_infodir}/gfortran*
|
||||
@ -2904,6 +2922,142 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Feb 14 2025 Marek Polacek <polacek@redhat.com> 13.3.1-2.3
|
||||
- bump for another rebuild (RHEL-78382)
|
||||
|
||||
* Fri Feb 7 2025 Marek Polacek <polacek@redhat.com> 13.3.1-2.2
|
||||
- disable jQuery use, don't ship jquery.js (CVE-2020-11023, RHEL-78382)
|
||||
|
||||
* Fri Jul 12 2024 Marek Polacek <polacek@redhat.com> 13.3.1-2.1
|
||||
- fix wrong RTL patterns for vector merge high/low word on LE (RHEL-45190)
|
||||
|
||||
* Tue Jun 11 2024 Marek Polacek <polacek@redhat.com> 13.3.1-2
|
||||
- update from releases/gcc-13 branch
|
||||
- PRs ada/114398, ada/114708, c/114493, c++/111529, c++/113598,
|
||||
fortran/110415, fortran/114827, fortran/115150, libstdc++/114940,
|
||||
libstdc++/115269, middle-end/108789, rtl-optimization/114902,
|
||||
rtl-optimization/115092, target/113281, target/113719, target/115297,
|
||||
target/115317, target/115324, tree-optimization/115192,
|
||||
tree-optimization/115307, tree-optimization/115337
|
||||
- fix a shell condition (RHEL-40722)
|
||||
- backport a fix for modes_1.f90 (RHEL-40234)
|
||||
- fix up pointer types to may_alias structures (PR c/114493, RHEL-40244)
|
||||
|
||||
* Thu May 30 2024 Marek Polacek <polacek@redhat.com> 13.3.1-1
|
||||
- update from releases/gcc-13 branch
|
||||
- GCC 13.3 release
|
||||
- PRs analyzer/104042, analyzer/108171, analyzer/109251, analyzer/109577,
|
||||
analyzer/110014, analyzer/110112, analyzer/110700, analyzer/110882,
|
||||
analyzer/111289, analyzer/112790, analyzer/112889, analyzer/112969,
|
||||
analyzer/113253, analyzer/113333, analyzer/114408, analyzer/114473,
|
||||
bootstrap/106472, bootstrap/114369, c/112571, c/114780, c++/89224,
|
||||
c++/97990, c++/100667, c++/103825, c++/110006, c++/111284, c++/112769,
|
||||
c++/113141, c++/113966, c++/114303, c++/114377, c++/114537,
|
||||
c++/114561, c++/114562, c++/114572, c++/114580, c++/114634,
|
||||
c++/114691, c++/114709, debug/112718, driver/111700, fortran/36337,
|
||||
fortran/50410, fortran/55978, fortran/89462, fortran/93678,
|
||||
fortran/95374, fortran/101135, fortran/102003, fortran/103707,
|
||||
fortran/103715, fortran/103716, fortran/104352, fortran/106987,
|
||||
fortran/106999, fortran/107426, fortran/110987, fortran/112407,
|
||||
fortran/113799, fortran/113866, fortran/113885, fortran/113956,
|
||||
fortran/114001, fortran/114474, fortran/114535, fortran/114739,
|
||||
fortran/114825, fortran/115039, gcov-profile/114115,
|
||||
gcov-profile/114715, ipa/92606, ipa/108007, ipa/111571, ipa/112616,
|
||||
ipa/113359, ipa/113907, ipa/113964, jit/110466, libgcc/111731,
|
||||
libquadmath/114533, libstdc++/66146, libstdc++/93672,
|
||||
libstdc++/104606, libstdc++/107800, libstdc++/108976,
|
||||
libstdc++/110050, libstdc++/110054, libstdc++/113841,
|
||||
libstdc++/114147, libstdc++/114316, libstdc++/114359,
|
||||
libstdc++/114367, libstdc++/114401, libstdc++/114750,
|
||||
libstdc++/114803, libstdc++/114863, libstdc++/115063, lto/114655,
|
||||
middle-end/110027, middle-end/111151, middle-end/111632,
|
||||
middle-end/111683, middle-end/112684, middle-end/112732,
|
||||
middle-end/113396, middle-end/113622, middle-end/114070,
|
||||
middle-end/114348, middle-end/114552, middle-end/114599,
|
||||
middle-end/114734, middle-end/114753, middle-end/114907,
|
||||
rtl-optimization/54052, rtl-optimization/114415,
|
||||
rtl-optimization/114768, rtl-optimization/114924, sanitizer/97696,
|
||||
sanitizer/114687, sanitizer/114743, sanitizer/114956,
|
||||
sanitizer/115172, target/88309, target/101865, target/105522,
|
||||
target/110621, target/111234, target/111600, target/111610,
|
||||
target/111822, target/112397, target/113095, target/113233,
|
||||
target/113950, target/114049, target/114130, target/114160,
|
||||
target/114172, target/114175, target/114272, target/114747,
|
||||
target/114752, target/114794, target/114837, target/114848,
|
||||
target/114981, testsuite/111066, testsuite/112297, testsuite/114034,
|
||||
testsuite/114036, testsuite/114662, tree-optimization/91838,
|
||||
tree-optimization/109925, tree-optimization/110838,
|
||||
tree-optimization/111009, tree-optimization/111268,
|
||||
tree-optimization/111407, tree-optimization/111736,
|
||||
tree-optimization/111882, tree-optimization/112281,
|
||||
tree-optimization/112303, tree-optimization/112793,
|
||||
tree-optimization/112961, tree-optimization/112991,
|
||||
tree-optimization/113552, tree-optimization/113630,
|
||||
tree-optimization/113670, tree-optimization/113831,
|
||||
tree-optimization/113910, tree-optimization/114027,
|
||||
tree-optimization/114115, tree-optimization/114121,
|
||||
tree-optimization/114203, tree-optimization/114231,
|
||||
tree-optimization/114246, tree-optimization/114375,
|
||||
tree-optimization/114396, tree-optimization/114485,
|
||||
tree-optimization/114566, tree-optimization/114672,
|
||||
tree-optimization/114733, tree-optimization/114736,
|
||||
tree-optimization/114749, tree-optimization/114787,
|
||||
tree-optimization/114799, tree-optimization/114876,
|
||||
tree-optimization/114965, tree-optimization/115143,
|
||||
tree-optimization/115152, tree-optimization/115154
|
||||
- add --without-clang-plugin --without-llvm-plugin to annobin configure
|
||||
options
|
||||
|
||||
* Tue Jan 9 2024 Marek Polacek <polacek@redhat.com> 13.2.1-6.3
|
||||
- use the system dir in --with-libstdcxx-zoneinfo (RHEL-21093)
|
||||
|
||||
* Fri Dec 15 2023 Marek Polacek <polacek@redhat.com> 13.2.1-6.2
|
||||
- fix for libstdc++_nonshared.a on ppc64le (RHEL-17960)
|
||||
|
||||
* Mon Dec 11 2023 Marek Polacek <polacek@redhat.com> 13.2.1-6.1
|
||||
- add f95 (RHEL-17655)
|
||||
|
||||
* Wed Dec 6 2023 Marek Polacek <polacek@redhat.com> 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 <polacek@redhat.com> 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 <polacek@redhat.com> 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
|
||||
|
||||
* Thu Jul 6 2023 Marek Polacek <polacek@redhat.com> 13.1.1-4.3
|
||||
- fix utf-1.C with -gdwarf-4 (#2217506)
|
||||
|
||||
* Tue Jun 27 2023 Marek Polacek <polacek@redhat.com> 13.1.1-4.2
|
||||
- fix switch to -gdwarf-4 on RHEL 8 (#2217938)
|
||||
- apply some testsuite fixes (#2217498)
|
||||
|
Loading…
Reference in New Issue
Block a user