diff --git a/GCC14-1004-riscv-lib64.patch b/GCC14-1004-riscv-lib64.patch new file mode 100644 index 0000000000000000000000000000000000000000..8a86015d485ab3ed0ac59730b2ed1aeee070168c --- /dev/null +++ b/GCC14-1004-riscv-lib64.patch @@ -0,0 +1,66 @@ +From 8c8e61a37b253317a55031527a351f433a4192f7 Mon Sep 17 00:00:00 2001 +From: YunQiang Su +Date: Mon, 14 Oct 2024 10:09:46 +0800 +Subject: [PATCH 3/3] RISC-V: Install libstdc++/libcc1 etc to /lib64 instead of + lib + +The problem is that if we are configured with `--disable-multilib`, + gcc -print-multi-os-directory +outputs + . +Thus the dest to install libraries is set to + /usr/lib/. +While other platforms (x86-64, arm64) it will be + /usr/lib/../lib64 +Let's sync riscv64 with them + +Another problem is that + gcc -print-file-name=libzstd.so.1 +will output + /usr/lib64/lp64d/../lib64/libzstd.so.1 +which is also need to patched. +--- + gcc/config.gcc | 3 +++ + gcc/config/riscv/linux.h | 2 ++ + gcc/config/riscv/t-openEuler | 2 ++ + 3 files changed, 7 insertions(+) + create mode 100644 gcc/config/riscv/t-openEuler + +diff --git a/gcc/config.gcc b/gcc/config.gcc +index 95c91ee02..531e7fa45 100644 +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -2490,6 +2490,9 @@ riscv*-*-linux*) + xyes) tmake_file="${tmake_file} riscv/t-linux-multilib" ;; + *) echo "Unknown value for enable_multilib"; exit 1 + esac ++ case "x${target_vendor}" in ++ xopenEuler) tmake_file="${tmake_file} riscv/t-openEuler" ++ esac + tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux" + tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" + gnu_ld=yes +diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h +index 3c3562271..2acbdc688 100644 +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -62,6 +62,8 @@ along with GCC; see the file COPYING3. If not see + %{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}" + + #define STARTFILE_PREFIX_SPEC \ ++ "/lib" XLEN_SPEC "/ " \ ++ "/usr/lib" XLEN_SPEC "/ " \ + "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ + "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ + "/lib/ " \ +diff --git a/gcc/config/riscv/t-openEuler b/gcc/config/riscv/t-openEuler +new file mode 100644 +index 000000000..26541dd08 +--- /dev/null ++++ b/gcc/config/riscv/t-openEuler +@@ -0,0 +1,2 @@ ++MULTILIB_OPTIONS = mabi=lp64d ++MULTILIB_DIRNAMES = ../lib64 +-- +2.43.0 + diff --git a/GCC14-1005-libstdc-compat-Update-symbol-list-for-RISC-V-64.patch b/GCC14-1005-libstdc-compat-Update-symbol-list-for-RISC-V-64.patch new file mode 100644 index 0000000000000000000000000000000000000000..5be830ef9ac99e0f92049f8efdc24e29d84cfca3 --- /dev/null +++ b/GCC14-1005-libstdc-compat-Update-symbol-list-for-RISC-V-64.patch @@ -0,0 +1,826 @@ +From aab55352512fe713b7eac5c41d2467e0601d02eb Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Mon, 9 Dec 2024 15:16:01 +0800 +Subject: [PATCH 2/2] libstdc++-compat: Update symbol list for RISC-V 64 + +--- + libstdc++-v3/src/nonshared11/codecvt80.cc | 2 + + .../src/nonshared11/cow-sstream-inst80.cc | 4 ++ + .../src/nonshared11/cxx11-ios_failure80.cc | 12 ++++++ + .../src/nonshared11/sstream-inst80.cc | 4 ++ + libstdc++-v3/src/nonshared17/cow-fs_dir.cc | 12 +++++- + libstdc++-v3/src/nonshared17/cow-fs_ops.cc | 10 +++++ + libstdc++-v3/src/nonshared17/cow-fs_path.cc | 18 +++++++++ + .../src/nonshared17/cow-string-inst110.cc | 8 ++++ + .../src/nonshared17/floating_from_chars.cc | 2 + + .../src/nonshared17/floating_from_chars110.cc | 2 + + .../src/nonshared17/floating_to_chars110.cc | 2 + + libstdc++-v3/src/nonshared17/fs_dir.cc | 16 +++++++- + libstdc++-v3/src/nonshared17/fs_ops80.cc | 10 +++++ + libstdc++-v3/src/nonshared17/fs_path80.cc | 26 ++++++++++++ + .../src/nonshared17/memory_resource.cc | 10 +++++ + .../src/nonshared17/string-inst110.cc | 8 ++++ + libstdc++-v3/src/nonshared20/tzdb110.cc | 2 + + libstdc++-v3/src/nonshared20/tzdb80.cc | 40 +++++++++++++++++++ + libstdc++-v3/src/nonshared98/extfloat.S | 5 ++- + 19 files changed, 190 insertions(+), 3 deletions(-) + +diff --git a/libstdc++-v3/src/nonshared11/codecvt80.cc b/libstdc++-v3/src/nonshared11/codecvt80.cc +index c903548a8..fb42c0451 100644 +--- a/libstdc++-v3/src/nonshared11/codecvt80.cc ++++ b/libstdc++-v3/src/nonshared11/codecvt80.cc +@@ -22,6 +22,7 @@ + + #define _GLIBCXX_NONSHARED_CXX11_80 + #include "../c++11/codecvt.cc" ++#ifndef __riscv + asm (".hidden _ZTISt12codecvt_base"); + asm (".hidden _ZTSSt12codecvt_base"); + asm (".hidden _ZTISt23__codecvt_abstract_baseIDic11__mbstate_tE"); +@@ -36,3 +37,4 @@ asm (".hidden _ZTSSt23__codecvt_abstract_baseIDiDu11__mbstate_tE"); + asm (".hidden _ZTSSt23__codecvt_abstract_baseIDsDu11__mbstate_tE"); + asm (".hidden _ZTVSt23__codecvt_abstract_baseIDiDu11__mbstate_tE"); + asm (".hidden _ZTVSt23__codecvt_abstract_baseIDsDu11__mbstate_tE"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc b/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc +index bc72608d3..889637988 100644 +--- a/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc ++++ b/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc +@@ -47,7 +47,11 @@ _GLIBCXX_END_NAMESPACE_VERSION + + asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); + asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++#endif + asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev"); + asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED2Ev"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc b/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc +index 514cd21d4..c768a493d 100644 +--- a/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc ++++ b/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc +@@ -24,9 +24,12 @@ + asm (".hidden _ZNKSt19__iosfail_type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv"); + asm (".hidden _ZNSt13__ios_failureD0Ev"); + asm (".hidden _ZNSt13__ios_failureD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt13__ios_failureD2Ev"); ++#endif + asm (".hidden _ZNSt19__iosfail_type_infoD0Ev"); + asm (".hidden _ZNSt19__iosfail_type_infoD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt19__iosfail_type_infoD2Ev"); + asm (".hidden _ZTISt13__ios_failure"); + asm (".hidden _ZTISt19__iosfail_type_info"); +@@ -36,15 +39,24 @@ asm (".hidden _ZTVSt13__ios_failure"); + asm (".hidden _ZTVSt19__iosfail_type_info"); + asm (".hidden _ZNSt8ios_base7failureB5cxx11D2Ev"); + asm (".hidden _ZTVNSt8ios_base7failureB5cxx11E"); ++#endif + asm (".hidden _ZNSt8ios_base7failureB5cxx11D1Ev"); + asm (".hidden _ZNSt8ios_base7failureB5cxx11D0Ev"); + asm (".hidden _ZNKSt8ios_base7failureB5cxx114whatEv"); ++#ifndef __riscv + asm (".hidden _ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++#endif + asm (".hidden _ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++#ifndef __riscv + asm (".hidden _ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code"); ++#endif + asm (".hidden _ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code"); ++#ifndef __riscv + asm (".hidden _ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code"); ++#endif + asm (".hidden _ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code"); ++#ifndef __riscv + asm (".hidden _ZTSNSt8ios_base7failureB5cxx11E"); + asm (".hidden _ZTINSt8ios_base7failureB5cxx11E"); ++#endif + asm (".hidden _ZSt19__throw_ios_failurePKc"); +diff --git a/libstdc++-v3/src/nonshared11/sstream-inst80.cc b/libstdc++-v3/src/nonshared11/sstream-inst80.cc +index 574f86d59..8082817f2 100644 +--- a/libstdc++-v3/src/nonshared11/sstream-inst80.cc ++++ b/libstdc++-v3/src/nonshared11/sstream-inst80.cc +@@ -49,7 +49,11 @@ _GLIBCXX_END_NAMESPACE_VERSION + + asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); + asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++#endif + asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev"); + asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev"); ++#endif +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_dir.cc b/libstdc++-v3/src/nonshared17/cow-fs_dir.cc +index 59538ebfa..9525952b0 100644 +--- a/libstdc++-v3/src/nonshared17/cow-fs_dir.cc ++++ b/libstdc++-v3/src/nonshared17/cow-fs_dir.cc +@@ -21,18 +21,23 @@ + // . + + #include "../c++17/cow-fs_dir.cc" ++#ifndef __riscv + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE3getEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++#endif + //asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++#ifndef __riscv + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE3getEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++#endif + //asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); + asm (".hidden _ZNSt10filesystem4_Dir7advanceEbRSt10error_code"); + asm (".hidden _ZNSt10filesystem4_DirD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem4_DirD2Ev"); + #ifdef __i386__ + asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code"); +@@ -61,11 +66,15 @@ asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gn + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++#endif + asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++#ifndef __riscv + asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++#endif + //asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE16_M_push_back_auxIIRP11__dirstreamRKNS0_4pathEEEEvDpOT_"); + //asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE16_M_push_back_auxIJRP11__dirstreamRKNS0_4pathEEEEvDpOT_"); + asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EED2Ev"); + asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); +@@ -85,7 +94,8 @@ asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_"); + #endif + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); +-#ifndef __i386__ ++#endif ++#if !defined(__i386__) && !defined(__riscv) + //asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEmb"); + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); + #endif +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_ops.cc b/libstdc++-v3/src/nonshared17/cow-fs_ops.cc +index 775f18db5..100565f43 100644 +--- a/libstdc++-v3/src/nonshared17/cow-fs_ops.cc ++++ b/libstdc++-v3/src/nonshared17/cow-fs_ops.cc +@@ -21,22 +21,30 @@ + // . + + #include "../c++17/cow-fs_ops.cc" ++#ifndef __riscv + asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++#endif + //asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIJRKS1_EEEvDpOT_"); + //asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIIRKS1_EEEvDpOT_"); + //asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); + //asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); + asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED2Ev"); ++#endif + asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev"); ++#endif + asm (".hidden _ZSt14__copy_move_a1ILb1EPNSt10filesystem4pathES1_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS6_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSC_PSC_EE6__typeES6_S6_SF_"); + asm (".hidden _ZSt23__copy_move_backward_a1ILb1EPNSt10filesystem4pathES1_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS6_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSC_PSC_EE6__typeES6_S6_SF_"); + //asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_EEvT_S6_"); + asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_"); ++#ifndef __riscv + asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_"); ++#endif + #ifndef __i386__ + //asm (".hidden _ZNSs9_M_mutateEmmm"); + asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEm"); +@@ -47,8 +55,10 @@ asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_fron + //asm (".hidden _ZNSs6resizeEmc"); + //asm (".hidden _ZNSt10filesystem4pathD1Ev"); + //asm (".hidden _ZNSt10filesystem4pathD2Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); + #endif ++#endif + #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_"); +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_path.cc b/libstdc++-v3/src/nonshared17/cow-fs_path.cc +index b22ac70da..630646d8e 100644 +--- a/libstdc++-v3/src/nonshared17/cow-fs_path.cc ++++ b/libstdc++-v3/src/nonshared17/cow-fs_path.cc +@@ -21,18 +21,23 @@ + // . + + #include "../c++17/cow-fs_path.cc" ++#ifndef __riscv + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE3getEv"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++#endif + asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_"); + asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem4path19preferred_separatorE"); ++#endif + asm (".hidden _ZNSt10filesystem4path5_List5clearEv"); + asm (".hidden _ZNSt10filesystem4path5_List5_Impl13_M_erase_fromEPKNS0_5_CmptE"); + asm (".hidden _ZNSt10filesystem4path5_List7reserveEib"); + asm (".hidden _ZNSt10filesystem4path5_ListaSERKS1_"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem4path5_ListC2ERKS1_"); + asm (".hidden _ZNSt10filesystem4path5_ListC2Ev"); + asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_"); +@@ -61,14 +66,19 @@ asm (".hidden _ZTSSt19_Sp_make_shared_tag"); + asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++#endif + asm (".hidden _ZNSt10filesystem16filesystem_error5_Impl9make_whatESt17basic_string_viewIcSt11char_traitsIcEEPKNS_4pathES8_"); + asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev"); ++#endif + asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKSs"); ++#ifndef __riscv + asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKSs"); + asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EEEED1Ev"); + asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++#endif + asm (".hidden _ZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_"); + asm (".hidden _ZNSt10filesystem8__detail24__throw_conversion_errorEv"); + //asm (".hidden _ZTIZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt"); +@@ -80,7 +90,9 @@ asm (".hidden _ZNSt10filesystem8__detail24__throw_conversion_errorEv"); + asm (".hidden _ZNKSt10filesystem4path5_List5_Impl4copyEv"); + //asm (".hidden _ZNSs6appendERKSs"); + #ifndef __i386__ ++#ifndef __riscv + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++#endif + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw"); + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm"); + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm"); +@@ -89,8 +101,10 @@ asm (".hidden _ZNSs6resizeEmc"); + asm (".hidden _ZNSs7reserveEm"); + asm (".hidden _ZNSs9_M_mutateEmmm"); + asm (".hidden _ZNSsC1ERKSsmm"); ++#ifndef __riscv + asm (".hidden _ZNSsC2ERKSsmm"); + asm (".hidden _ZNSt10filesystem4pathD2Ev"); ++#endif + asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RmT3_"); + //asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RmT3_"); + #endif +@@ -116,9 +130,12 @@ asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc1 + #endif + asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED0Ev"); + asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED2Ev"); ++#endif + asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev"); + asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev"); + asm (".hidden _ZTINSt10filesystem4path8_CodecvtIwEE"); + asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); +@@ -126,6 +143,7 @@ asm (".hidden _ZTSNSt10filesystem4path8_CodecvtIwEE"); + asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); + asm (".hidden _ZTVNSt10filesystem4path8_CodecvtIwEE"); + asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++#endif + //asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem4path5_CmptEEEvT_S6_"); + //asm (".hidden _ZNSt10filesystem4path5_CmptD1Ev"); + //asm (".hidden _ZNSt10filesystem4path5_CmptD2Ev"); +diff --git a/libstdc++-v3/src/nonshared17/cow-string-inst110.cc b/libstdc++-v3/src/nonshared17/cow-string-inst110.cc +index 26bb5d6ef..f24d16381 100644 +--- a/libstdc++-v3/src/nonshared17/cow-string-inst110.cc ++++ b/libstdc++-v3/src/nonshared17/cow-string-inst110.cc +@@ -21,16 +21,24 @@ + // . + + #include "../c++17/cow-string-inst.cc" ++#ifndef __riscv + asm (".hidden _ZNSsC2ENSs12__sv_wrapperERKSaIcE"); ++#endif + asm (".hidden _ZNSsC1ENSs12__sv_wrapperERKSaIcE"); ++#ifndef __riscv + asm (".hidden _ZNSs12__sv_wrapperC2ESt17basic_string_viewIcSt11char_traitsIcEE"); ++#endif + asm (".hidden _ZNSs12__sv_wrapperC1ESt17basic_string_viewIcSt11char_traitsIcEE"); + asm (".hidden _ZNSs17_S_to_string_viewESt17basic_string_viewIcSt11char_traitsIcEE"); + asm (".hidden _ZNKSscvSt17basic_string_viewIcSt11char_traitsIcEEEv"); + asm (".hidden _ZNSs4dataEv"); ++#ifndef __riscv + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEEC2ENS2_12__sv_wrapperERKS1_"); ++#endif + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEEC1ENS2_12__sv_wrapperERKS1_"); ++#ifndef __riscv + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12__sv_wrapperC2ESt17basic_string_viewIwS0_E"); ++#endif + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12__sv_wrapperC1ESt17basic_string_viewIwS0_E"); + asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS0_E"); + asm (".hidden _ZNKSbIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS0_EEv"); +diff --git a/libstdc++-v3/src/nonshared17/floating_from_chars.cc b/libstdc++-v3/src/nonshared17/floating_from_chars.cc +index b82540753..4ef0871a4 100644 +--- a/libstdc++-v3/src/nonshared17/floating_from_chars.cc ++++ b/libstdc++-v3/src/nonshared17/floating_from_chars.cc +@@ -45,5 +45,7 @@ asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphi + #else + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm"); + #endif ++#ifndef __riscv + asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); ++#endif + asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i"); +diff --git a/libstdc++-v3/src/nonshared17/floating_from_chars110.cc b/libstdc++-v3/src/nonshared17/floating_from_chars110.cc +index c687e0e3e..3c7cd9610 100644 +--- a/libstdc++-v3/src/nonshared17/floating_from_chars110.cc ++++ b/libstdc++-v3/src/nonshared17/floating_from_chars110.cc +@@ -32,5 +32,7 @@ asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphi + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm"); + #endif ++#ifndef __riscv + asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); ++#endif + asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i"); +diff --git a/libstdc++-v3/src/nonshared17/floating_to_chars110.cc b/libstdc++-v3/src/nonshared17/floating_to_chars110.cc +index ff2c57c5c..de9465513 100644 +--- a/libstdc++-v3/src/nonshared17/floating_to_chars110.cc ++++ b/libstdc++-v3/src/nonshared17/floating_to_chars110.cc +@@ -24,7 +24,9 @@ + #include "../c++17/floating_to_chars.cc" + //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_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"); ++#ifndef __riscv + asm (".hidden _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_"); ++#endif + #if !defined(__i386__) + asm (".hidden _ZSt12__to_chars_iIoESt15to_chars_resultPcS1_T_i"); + #endif +diff --git a/libstdc++-v3/src/nonshared17/fs_dir.cc b/libstdc++-v3/src/nonshared17/fs_dir.cc +index e73ae6bee..655b04794 100644 +--- a/libstdc++-v3/src/nonshared17/fs_dir.cc ++++ b/libstdc++-v3/src/nonshared17/fs_dir.cc +@@ -21,6 +21,7 @@ + // . + + #include "../c++17/fs_dir.cc" ++#ifndef __riscv + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE3getEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); +@@ -30,16 +31,20 @@ asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_L + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE3getEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); + asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++#endif + //asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); + asm (".hidden _ZNSt10filesystem7__cxx114_Dir7advanceEbRSt10error_code"); + asm (".hidden _ZNSt10filesystem7__cxx114_DirD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114_DirD2Ev"); ++#endif + #ifdef __x86_64__ + asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code"); + //asm (".hidden _ZNSt10filesystem9_Dir_baseC1EPKcbRSt10error_code"); + //asm (".hidden _ZNSt10filesystem9_Dir_baseC2EPKcbRSt10error_code"); + #endif + asm (".hidden _ZNSt10filesystem7__cxx114pathC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_EERKT_NS1_6formatE"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114pathC2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_EERKT_NS1_6formatE"); + asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_"); + asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); +@@ -65,14 +70,20 @@ asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++#endif + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE12emplace_backIIS2_EEERS2_DpOT_"); ++#ifndef __riscv + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_"); ++#endif + //asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE16_M_push_back_auxIIRP11__dirstreamRKNS1_4pathEEEEvDpOT_"); + //asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE16_M_push_back_auxIJRP11__dirstreamRKNS1_4pathEEEEvDpOT_"); + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EED2Ev"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_"); ++#ifndef __riscv + asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); +@@ -87,12 +98,15 @@ asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2 + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); + asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); +-#ifndef __i386__ ++#endif ++#if !defined__i386__ && !defined __riscv + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); + //asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE17_M_reallocate_mapEmb"); + #endif + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++#endif + #ifdef __i386__ + asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code"); + #endif +diff --git a/libstdc++-v3/src/nonshared17/fs_ops80.cc b/libstdc++-v3/src/nonshared17/fs_ops80.cc +index eed139f91..9035d3f77 100644 +--- a/libstdc++-v3/src/nonshared17/fs_ops80.cc ++++ b/libstdc++-v3/src/nonshared17/fs_ops80.cc +@@ -23,27 +23,37 @@ + #include "../c++17/fs_ops.cc" + asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED0Ev"); + asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev"); ++#endif + asm (".hidden _ZNSt10filesystem12do_copy_fileEPKcS1_NS_26copy_options_existing_fileEP4statS4_RSt10error_code"); ++#ifndef __riscv + asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++#endif + //asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIJRKS2_EEEvDpOT_"); + //asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIIRKS2_EEEvDpOT_"); + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EED2Ev"); + asm (".hidden _ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE"); + asm (".hidden _ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE"); + asm (".hidden _ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE"); ++#endif + asm (".hidden _ZNKSt10filesystem7__cxx114path8filenameEv"); + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++#endif + asm (".hidden _ZSt14__copy_move_a1ILb1EPNSt10filesystem7__cxx114pathES2_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS7_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSD_PSD_EE6__typeES7_S7_SG_"); + asm (".hidden _ZSt23__copy_move_backward_a1ILb1EPNSt10filesystem7__cxx114pathES2_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS7_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSD_PSD_EE6__typeES7_S7_SG_"); + //asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_EEvT_S7_"); + #ifndef __i386__ + asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodem"); ++#ifndef __riscv + asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodem"); ++#endif + asm (".hidden _ZNSt10filesystem8do_spaceEPKcRmS2_S2_RSt10error_code"); + asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEm"); + asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_m"); +diff --git a/libstdc++-v3/src/nonshared17/fs_path80.cc b/libstdc++-v3/src/nonshared17/fs_path80.cc +index 0100106a3..16576bbd3 100644 +--- a/libstdc++-v3/src/nonshared17/fs_path80.cc ++++ b/libstdc++-v3/src/nonshared17/fs_path80.cc +@@ -21,18 +21,23 @@ + // . + + #include "../c++17/fs_path.cc" ++#ifndef __riscv + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE3getEv"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); + asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++#endif + asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_"); + asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE"); ++#endif + asm (".hidden _ZNSt10filesystem7__cxx114path5_List5clearEv"); + asm (".hidden _ZNSt10filesystem7__cxx114path5_List5_Impl13_M_erase_fromEPKNS1_5_CmptE"); + asm (".hidden _ZNSt10filesystem7__cxx114path5_List7reserveEib"); + asm (".hidden _ZNSt10filesystem7__cxx114path5_ListaSERKS2_"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2ERKS2_"); + asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2Ev"); + asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS7_"); +@@ -62,13 +67,18 @@ asm (".hidden _ZTSSt19_Sp_make_shared_tag"); + asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++#endif + asm (".hidden _ZNSt10filesystem7__cxx1116filesystem_error5_Impl9make_whatESt17basic_string_viewIcSt11char_traitsIcEEPKNS0_4pathES9_"); + asm (".hidden _ZNSt10filesystem7__cxx114path5_CmptD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114path5_CmptD2Ev"); ++#endif + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); + asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS4_ELN9__gnu_cxx12_Lock_policyE2EEEED1Ev"); + asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS4_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev"); ++#endif + #if !defined (__aarch64__) && !defined (__x86_64__) + #ifndef __i386__ + //asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IISt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_"); +@@ -91,15 +101,21 @@ asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); + asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); + asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); // bad ppc64le + #endif ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev"); ++#endif + asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev"); + asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++#endif + asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); + asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); ++#ifndef __riscv + asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE"); + asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE"); + asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE"); ++#endif + asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv"); + //asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); + //asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); +@@ -108,7 +124,9 @@ asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv"); + //asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev"); + //asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev"); + asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++#ifndef __riscv + asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++#endif + //asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); + asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); + #ifndef __i386__ +@@ -118,7 +136,9 @@ asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); + //asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm"); + //asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm"); ++#ifndef __riscv + //asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++#endif + //asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_"); + asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); + #endif +@@ -142,9 +162,12 @@ asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw"); + #endif + asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev"); + asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev"); ++#endif + //asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev"); + //asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev"); ++#ifndef __riscv + //asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev"); + asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE"); + //asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); +@@ -152,6 +175,9 @@ asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE"); + //asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); + asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE"); + //asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++#endif + asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); ++#ifndef __riscv + asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); + asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE"); ++#endif +diff --git a/libstdc++-v3/src/nonshared17/memory_resource.cc b/libstdc++-v3/src/nonshared17/memory_resource.cc +index b94792bd5..36bfac568 100644 +--- a/libstdc++-v3/src/nonshared17/memory_resource.cc ++++ b/libstdc++-v3/src/nonshared17/memory_resource.cc +@@ -26,20 +26,28 @@ asm (".hidden _ZNKSt3pmr28unsynchronized_pool_resource11do_is_equalERKNS_15memor + asm (".hidden _ZNSt3pmr15__pool_resource14_M_alloc_poolsEv"); + asm (".hidden _ZNSt3pmr15__pool_resource7releaseEv"); + asm (".hidden _ZNSt3pmr15__pool_resourceC1ERKNS_12pool_optionsEPNS_15memory_resourceE"); ++#ifndef __riscv + asm (".hidden _ZNSt3pmr15__pool_resourceC2ERKNS_12pool_optionsEPNS_15memory_resourceE"); ++#endif + asm (".hidden _ZNSt3pmr15__pool_resourceD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt3pmr15__pool_resourceD2Ev"); ++#endif + asm (".hidden _ZNSt3pmr26synchronized_pool_resource15_M_alloc_tpoolsERSt10lock_guardISt12shared_mutexE"); + asm (".hidden _ZNSt3pmr26synchronized_pool_resource22_M_alloc_shared_tpoolsERSt10lock_guardISt12shared_mutexE"); + asm (".hidden _ZNSt3pmr26synchronized_pool_resource24_M_thread_specific_poolsEv"); + asm (".hidden _ZNSt3pmr26synchronized_pool_resource7_TPoolsD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt3pmr26synchronized_pool_resource7_TPoolsD2Ev"); ++#endif + asm (".hidden _ZNSt3pmr26synchronized_pool_resourceD0Ev"); + asm (".hidden _ZNSt3pmr28unsynchronized_pool_resourceD0Ev"); ++#ifndef __riscv + asm (".hidden _ZTSNSt3pmr26synchronized_pool_resourceE"); + asm (".hidden _ZTSNSt3pmr28unsynchronized_pool_resourceE"); + asm (".hidden _ZTVNSt3pmr26synchronized_pool_resourceE"); + asm (".hidden _ZTVNSt3pmr28unsynchronized_pool_resourceE"); ++#endif + asm (".hidden _ZNKSt3pmr25monotonic_buffer_resource11do_is_equalERKNS_15memory_resourceE"); + asm (".hidden _ZNSt3pmr15__pool_resource5_Pool12try_allocateEv"); + asm (".hidden _ZNSt3pmr15__pool_resource5_Pool9replenishEPNS_15memory_resourceERKNS_12pool_optionsE"); +@@ -71,5 +79,7 @@ asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_ + asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIJRjS7_EEEvDpOT_"); + #else + asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIIRmS7_EEEvDpOT_"); ++#ifndef __riscv + asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIJRmS7_EEEvDpOT_"); + #endif ++#endif +diff --git a/libstdc++-v3/src/nonshared17/string-inst110.cc b/libstdc++-v3/src/nonshared17/string-inst110.cc +index a317ca76e..a3c6d1900 100644 +--- a/libstdc++-v3/src/nonshared17/string-inst110.cc ++++ b/libstdc++-v3/src/nonshared17/string-inst110.cc +@@ -21,16 +21,24 @@ + // . + + #include "../c++17/string-inst.cc" ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ENS4_12__sv_wrapperERKS3_"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ENS4_12__sv_wrapperERKS3_"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12__sv_wrapperC2ESt17basic_string_viewIcS2_E"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12__sv_wrapperC1ESt17basic_string_viewIcS2_E"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_S_to_string_viewESt17basic_string_viewIcS2_E"); + asm (".hidden _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ENS4_12__sv_wrapperERKS3_"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ENS4_12__sv_wrapperERKS3_"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12__sv_wrapperC2ESt17basic_string_viewIwS2_E"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12__sv_wrapperC1ESt17basic_string_viewIwS2_E"); + asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS2_E"); + asm (".hidden _ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS2_EEv"); +diff --git a/libstdc++-v3/src/nonshared20/tzdb110.cc b/libstdc++-v3/src/nonshared20/tzdb110.cc +index 4be193df7..e4b54a8e9 100644 +--- a/libstdc++-v3/src/nonshared20/tzdb110.cc ++++ b/libstdc++-v3/src/nonshared20/tzdb110.cc +@@ -24,4 +24,6 @@ + #include "tzdb80.cc" + asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); + asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++#endif +diff --git a/libstdc++-v3/src/nonshared20/tzdb80.cc b/libstdc++-v3/src/nonshared20/tzdb80.cc +index dc123a2ae..1e88dba3b 100644 +--- a/libstdc++-v3/src/nonshared20/tzdb80.cc ++++ b/libstdc++-v3/src/nonshared20/tzdb80.cc +@@ -23,33 +23,51 @@ + #include "../c++20/tzdb.cc" + asm (".hidden _ZNKSt6chrono9time_zone4nameEv"); + asm (".hidden _ZNKSt6chrono14time_zone_link4nameEv"); ++#ifndef __riscv + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++#endif + asm (".hidden _ZNKSt6chrono14year_month_day19_M_days_since_epochEv"); + asm (".hidden _ZNSt6chronossERKNS_14time_zone_linkES2_"); ++#ifndef __riscv + asm (".hidden _ZNSt6chrono9time_zoneC2ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE"); ++#endif + asm (".hidden _ZNSt6chrono9time_zoneC1ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE"); ++#ifndef __riscv + asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_cacheE"); + asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED2Ev"); ++#endif + asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_ownerE"); ++#endif + asm (".hidden _ZNSt6chrono9tzdb_list5_Node15_S_replace_headESt10shared_ptrIS1_ES3_"); + //asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIJRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_"); + //asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIIRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_"); ++#ifndef __riscv + asm (".hidden _ZNSt6chrono9time_zoneD2Ev"); ++#endif + asm (".hidden _ZNSt6chrono9time_zoneD1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); + asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEJRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"); ++#endif + asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEIRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"); ++#ifndef __riscv + asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++#endif + asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++#ifndef __riscv + asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED2Ev"); ++#endif + asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED1Ev"); + asm (".hidden _ZNSt6chrono9tzdb_list5_Node20_S_read_leap_secondsEv"); ++#ifndef __riscv + asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++#endif + asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); + asm (".hidden _ZSt23__atomic_notify_addressIiEvPKT_b"); + 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_"); +@@ -58,18 +76,30 @@ asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono9time + 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_"); ++#ifndef __riscv + asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++#endif + asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++#ifndef __riscv + asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++#endif + asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++#ifndef __riscv + asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++#endif + asm (".hidden _ZNSt6chrono9tzdb_list5_Node12_S_init_tzdbEv"); ++#ifndef __riscv + asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE"); ++#endif ++#ifndef __riscv + 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"); ++#endif + //asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev"); + //asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); +@@ -82,7 +112,9 @@ asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceE + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj"); + #else + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_"); ++#ifndef __riscv + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_"); ++#endif + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm"); + asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm"); +@@ -109,14 +141,21 @@ asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono1 + 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_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); + #endif ++#ifndef __riscv + asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++#endif + #ifndef __i386__ ++#ifndef __riscv + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); + #endif ++#endif + asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_"); ++#ifndef __riscv + asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++#endif + asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++#ifndef __riscv + asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); + asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); +@@ -124,4 +163,5 @@ 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 _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_appendIJRS2_RS6_EEEvDpOT_"); ++#endif + asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_appendIIRS2_RS6_EEEvDpOT_"); +diff --git a/libstdc++-v3/src/nonshared98/extfloat.S b/libstdc++-v3/src/nonshared98/extfloat.S +index c6270e618..b6e4164b5 100644 +--- a/libstdc++-v3/src/nonshared98/extfloat.S ++++ b/libstdc++-v3/src/nonshared98/extfloat.S +@@ -53,8 +53,11 @@ + #elif defined __s390__ + #define ALIGN1 .align 4 + #define ALIGN3 .align 2 ++#elif defined __riscv && __riscv_xlen == 64 ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 + #endif +-#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ || (defined __riscv && __riscv_xlen == 64) + #define SIZE1 32 + #define SIZE2 16 + #define OFF 16 +-- +2.43.0 + diff --git a/gcc-14.spec b/gcc-14.spec index da2064a86a1b1910dff4eae151d5c1ee1e44f21d..04d4ee0fc4ac260a7e9cfef2bf3ca0cbab584443 100644 --- a/gcc-14.spec +++ b/gcc-14.spec @@ -90,7 +90,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: %{?_scl_prefix}gcc%{gcc_ver} Version: 14.2.1 -Release: 5 +Release: 6 # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -172,6 +172,8 @@ Provides: %{?_scl_prefix}gcc%{gcc_ver}(major) = %{gcc_major} Patch1001: GCC14-1001-libstdc++-compat.patch Patch1002: GCC14-1002-change-gcc-version.patch Patch1003: GCC14-1003-i386-Add-non-optimize-prefetchi-intrins.patch +Patch1004: GCC14-1004-riscv-lib64.patch +Patch1005: GCC14-1005-libstdc-compat-Update-symbol-list-for-RISC-V-64.patch # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. %global nonsharedver 80 @@ -530,7 +532,7 @@ CONFIGURE_OPTS="\ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ --with-bugurl=https://gitee.com/src-openeuler/gcc-14/issues \ --enable-shared --enable-threads=posix --enable-checking=release --with-isl \ -%ifarch aarch64 riscv64 +%ifarch aarch64 --enable-multilib \ %else --disable-multilib \ @@ -2201,6 +2203,9 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Wed Aug 28 2024 YunQiang Su - 14.2.1-6 +- Fix build on RISC-V 64. + * Wed Aug 28 2024 zhaoshujian - 14.2.1-5 - Change stdc++_nonshared_48 to stdc++_nonshared_80.