Compare commits

...

11 Commits

Author SHA1 Message Date
openeuler-ci-bot
09af1edc99
!13 Fix build on RISC-V 64
From: @wzssyqa 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
2024-12-11 03:02:59 +00:00
YunQiang Su
c5c2de5151 Fix build on RISC-V 64
Update symbol list for RISC-V 64 in GCC14-1001-libstdc++-compat.patch
New patch: GCC14-1004-riscv-lib64.patch. See: https://gitee.com/openeuler/gcc/pulls/241
Disable multilib.
2024-12-10 17:42:12 +08:00
openeuler-ci-bot
c09e0f4af0
!9 同步24.09创新版本分支代码到24.03-LTS-LTS-SP1分支
From: @zhaoshujian 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
2024-11-13 14:19:37 +00:00
openeuler-ci-bot
26b81d3862
!7 [bugfix] Change libstdc++_nonshared48.a to libstdc++_nonshared80.a
From: @zhaoshujian 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
2024-09-04 03:51:01 +00:00
zhaoshujian
b697dcb9e7 Change stdc++_nonshared_48 to stdc++_nonshared_80.
Signed-off-by: zhaoshujian <zhaoshujian@huawei.com>
2024-08-30 16:03:25 +08:00
openeuler-ci-bot
67f5a1cd4e
!6 [bugfix] Change libsupc++.a, libstdc++exp.a package path
From: @zhaoshujian 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
2024-08-27 06:16:57 +00:00
zhaoshujian
127f68a221 [bugfix] Change libsupc++.a, libstdc++exp.a package path
Signed-off-by: zhaoshujian <zhaoshujian@huawei.com>
2024-08-27 12:49:41 +08:00
openeuler-ci-bot
97249458ad
!4 【openEuler-24.09】【Bugfix】Change libfortran, libgcc_s package path and readme.md
From: @zhaoshujian 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
2024-08-24 11:03:56 +00:00
zhaoshujian
bc0e181af6 [bugfix] Change libgomp, libfortran, libgcc_s, libitm, libatomic package path.
Add gcc-toolset-14 Readme.

Signed-off-by: zhaoshujian <zhaoshujian@huawei.com>
2024-08-24 17:39:24 +08:00
openeuler-ci-bot
0cbc374124
!3 [Backport] Backport patch from gcc-14.3.0
From: @lin-4682 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
2024-08-22 12:05:51 +00:00
Hu, Lin1
c439b088c6 [Backport] Backport patch from gcc-14.3.0 2024-08-22 16:23:27 +08:00
6 changed files with 2003 additions and 5745 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,88 @@
From b4524c4430ba9771265bd9fc31e69a3f35dfe117 Mon Sep 17 00:00:00 2001
From: Haochen Jiang <haochen.jiang@intel.com>
Date: Thu, 25 Jul 2024 16:16:05 +0800
Subject: [PATCH] i386: Add non-optimize prefetchi intrins
Under -O0, with the "newly" introduced intrins, the variable will be
transformed as mem instead of the origin symbol_ref. The compiler will
then treat the operand as invalid and turn the operation into nop, which
is not expected. Use macro for non-optimize to keep the variable as
symbol_ref just as how prefetch intrin does.
gcc/ChangeLog:
* config/i386/prfchiintrin.h
(_m_prefetchit0): Add macro for non-optimized option.
(_m_prefetchit1): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/prefetchi-1b.c: New test.
---
gcc/config/i386/prfchiintrin.h | 9 +++++++
gcc/testsuite/gcc.target/i386/prefetchi-1b.c | 26 ++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/i386/prefetchi-1b.c
diff --git a/gcc/config/i386/prfchiintrin.h b/gcc/config/i386/prfchiintrin.h
index dfca89c7d16..d6580e504c0 100644
--- a/gcc/config/i386/prfchiintrin.h
+++ b/gcc/config/i386/prfchiintrin.h
@@ -37,6 +37,7 @@
#define __DISABLE_PREFETCHI__
#endif /* __PREFETCHI__ */
+#ifdef __OPTIMIZE__
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_prefetchit0 (void* __P)
@@ -50,6 +51,14 @@ _m_prefetchit1 (void* __P)
{
__builtin_ia32_prefetchi (__P, 2);
}
+#else
+#define _m_prefetchit0(P) \
+ __builtin_ia32_prefetchi(P, 3)
+
+#define _m_prefetchit1(P) \
+ __builtin_ia32_prefetchi(P, 2)
+
+#endif
#ifdef __DISABLE_PREFETCHI__
#undef __DISABLE_PREFETCHI__
diff --git a/gcc/testsuite/gcc.target/i386/prefetchi-1b.c b/gcc/testsuite/gcc.target/i386/prefetchi-1b.c
new file mode 100644
index 00000000000..93139554d3c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/prefetchi-1b.c
@@ -0,0 +1,26 @@
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-options "-mprefetchi -O0" } */
+/* { dg-final { scan-assembler-times "\[ \\t\]+prefetchit0\[ \\t\]+bar\\(%rip\\)" 1 } } */
+/* { dg-final { scan-assembler-times "\[ \\t\]+prefetchit1\[ \\t\]+bar\\(%rip\\)" 1 } } */
+
+#include <x86intrin.h>
+
+int
+bar (int a)
+{
+ return a + 1;
+}
+
+int
+foo1 (int b)
+{
+ _m_prefetchit0 (bar);
+ return bar (b) + 1;
+}
+
+int
+foo2 (int b)
+{
+ _m_prefetchit1 (bar);
+ return bar (b) + 1;
+}
--
2.31.1

View File

@ -0,0 +1,66 @@
From 8c8e61a37b253317a55031527a351f433a4192f7 Mon Sep 17 00:00:00 2001
From: YunQiang Su <yunqiang@isrc.iscas.ac.cn>
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

View File

@ -0,0 +1,826 @@
From aab55352512fe713b7eac5c41d2467e0601d02eb Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
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 @@
// <http://www.gnu.org/licenses/>.
#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 @@
// <http://www.gnu.org/licenses/>.
#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 @@
// <http://www.gnu.org/licenses/>.
#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 @@
// <http://www.gnu.org/licenses/>.
#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 @@
// <http://www.gnu.org/licenses/>.
#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 @@
// <http://www.gnu.org/licenses/>.
#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 @@
// <http://www.gnu.org/licenses/>.
#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

View File

@ -1,23 +1,55 @@
# gcc-14
#### 介绍
gcc multi-version toolset for openEuler
openEuler 24.03 LTS 版本选择 GCC 12.3.1 作为开发基线,确保在整 LTS 周期内,系统版本保持相对稳定。
为满足用户对不同版本编译器的需求,使能多样算力新特性,基于 openEuler 24.09 系统,推出 gcc-toolset-14 副版本编译工具链,形成主版本为 GCC12副版本为 GCC14 的编译器搭配,为用户提供更加灵活且高效的编译选择。
#### 软件架构
软件架构说明
```shell
## 默认 GCC12 路径
PATH=/usr/bin/
## 默认动态库路径
LD_LIBRARY_PATH=/usr/lib64/
## gcc-toolset-14 副版本安装路径
PATH=/opt/openEuler/gcc-toolset-14/root/usr/bin/
```
#### 软件约束
| 名称| 版本要求|
| --- | --- |
| 系统版本| openEuler 24.09 以上 |
| 默认GCC | 12.3.1 |
| 架构 | Aarch64 / X86_64|
| Glibc | 2.34 及以上 |
| Binutils | 2.42 及以上|
约束是指本多版本工具链在以上条件的版本中进行了完整的工程验证和兼容性测试,如果使用在其他场景中,不保证完整功能实现。
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
1. `yum install gcc-toolset-14-gcc gcc-toolset-14-g++`
2. 如果需要搭配 binutils-2.42,则 `yum install gcc-toolset-14-binutils`
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
1. 安装 scl
> yum install scl-utils
2. 注册 gcc-toolset-14
> scl register /opt/openEuler/gcc-toolset-14/
使用`scl list-collections`显示 gcc-toolset-14 已经在 scl 中注册成功;
3. 切换 gcc-toolset-14
> scl enable gcc-toolset-14 bash
4. 退出 gcc-toolset-14
> exit
退出bash shell会话此时 GCC 的版本切换成系统默认版本。
#### 参与贡献

View File

@ -90,7 +90,7 @@
Summary: Various compilers (C, C++, Objective-C, ...)
Name: %{?_scl_prefix}gcc%{gcc_ver}
Version: 14.2.1
Release: 1
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
@ -128,7 +128,7 @@ BuildRequires: dblatex, texlive-collection-latex, docbook-style-xsl
Requires: %{?_scl_prefix}libasan%{gcc_ver} = %{version}-%{release}
%endif
Requires: libgcc >= 4.1.2-43
Requires: libgomp >= 4.4.4-13
Requires: %{?_scl_prefix}libgomp%{gcc_ver} = %{version}-%{release}
# lto-wrapper invokes make
Requires: make
AutoReq: true
@ -171,9 +171,12 @@ 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 48
%global nonsharedver 80
%ifnarch %{arm}
%global _gnu %{nil}
%else
@ -272,7 +275,7 @@ Objective-C dynamically linked programs.
Summary: Fortran support for GCC 14
Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release}
%if %{build_libquadmath}
Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release}
Requires: %{?_scl_prefix}libquadmath%{gcc_ver} = %{version}-%{release}
%endif
Autoreq: true
@ -284,19 +287,22 @@ with the GNU Compiler Collection.
Summary: Static Fortran libraries
Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release}
%if %{build_libquadmath}
%if 0%{!?scl:1}
Requires: libquadmath
%endif
Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release}
Requires: %{?_scl_prefix}libquadmath%{gcc_ver} = %{version}-%{release}
%endif
%description -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel
This package contains static Fortran libraries.
%if %{build_libquadmath}
Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release}
Requires: %{?_scl_prefix}libquadmath%{gcc_ver} = %{version}-%{release}
%endif
Autoreq: true
%package -n %{?_scl_prefix}libgomp%{gcc_ver}
Summary: GCC OpenMP shared support library
%description -n %{?_scl_prefix}libgomp%{gcc_ver}
This package contains GCC shared support library which is needed
for OpenMP support.
%package gdb-plugin
Summary: GCC 14 plugin for GDB
Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release}
@ -526,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 \
@ -716,37 +722,12 @@ TARGET_PLATFORM=%{gcc_target_platform}
# There are some MP bugs in libstdc++ Makefiles
make %{?_smp_mflags} -C %{gcc_target_platform}/libstdc++-v3
%if 0%{?scl:1}
rm -f gcc/libgcc_s.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat}
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > gcc/libgcc_s.so
%endif
make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
infodir=%{buildroot}%{_infodir} install
%if 0%{?scl:1}
rm -f gcc/libgcc_s.so
ln -sf libgcc_s.so.1 gcc/libgcc_s.so
%endif
FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
%if 0%{?scl:1}
ln -sf ../../../../bin/ar $FULLEPATH/ar
ln -sf ../../../../bin/as $FULLEPATH/as
ln -sf ../../../../bin/ld $FULLEPATH/ld
ln -sf ../../../../bin/ld.bfd $FULLEPATH/ld.bfd
ln -sf ../../../../bin/ld.gold $FULLEPATH/ld.gold
ln -sf ../../../../bin/nm $FULLEPATH/nm
ln -sf ../../../../bin/objcopy $FULLEPATH/objcopy
ln -sf ../../../../bin/ranlib $FULLEPATH/ranlib
ln -sf ../../../../bin/strip $FULLEPATH/strip
%endif
# fix some things
ln -sf gcc %{buildroot}%{_prefix}/bin/cc
mkdir -p %{buildroot}/lib
@ -845,25 +826,27 @@ mkdir -p %{buildroot}/%{_lib}
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1
ln -sf libgcc_s-%{gcc_major}.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
%ifarch %{multilib_64_archs}
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
%endif
%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64 riscv64
rm -f $FULLPATH/libgcc_s.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat}
GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
GROUP ( %{_prefix}/%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
%else
ln -sf %{_prefix}/%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
%endif
%ifarch sparcv9 ppc
%ifarch ppc
rm -f $FULLPATH/64/libgcc_s.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat2}
GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
GROUP ( %{_prefix}/lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
%else
ln -sf %{_prefix}/lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
%endif
%endif
%ifarch %{multilib_64_archs}
%ifarch x86_64 ppc64 ppc64p7
@ -872,9 +855,9 @@ echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat2}
GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
GROUP ( %{_prefix}/lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
%else
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
ln -sf %{_prefix}/lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
%endif
%endif
@ -917,43 +900,19 @@ cp -a ../gcc/jit/libgccjit*.h $FULLPATH/include/
gzip -9 %{buildroot}/%{_infodir}/libgccjit.info
pushd $FULLPATH
echo '/* GNU ld script */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so
rm -f libgfortran.so
echo '/* GNU ld script */
%{oformat}
INPUT ( %{?scl:%{_prefix}}/%{_lib}/libgfortran.so.5 )' > libgfortran.so
%if %{build_libquadmath}
rm -f libquadmath.so
echo '/* GNU ld script */
%{oformat}
%if 0%{!?scl:1}
INPUT ( %{_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so
%else
INPUT ( %{_root_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so
%endif
%endif
%if %{build_libitm}
rm -f libitm.so
echo '/* GNU ld script */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1 )' > libitm.so
%endif
%if %{build_libatomic}
rm -f libatomic.so
echo '/* GNU ld script */
%{oformat}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1 )' > libatomic.so
%endif
%if %{build_libasan}
rm -f libasan.so
echo '/* GNU ld script */
@ -966,6 +925,14 @@ echo '/* GNU ld script */
%{oformat}
INPUT ( %{?scl:%{_prefix}}/%{_lib}/libtsan.so.2 )' > libtsan.so
%endif
ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
%if %{build_libitm}
ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
%endif
%if %{build_libatomic}
ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so
%endif
%if %{build_libubsan}
rm -f libubsan.so
echo '/* GNU ld script */
@ -984,8 +951,9 @@ INPUT ( %{?scl:%{_prefix}}/%{_lib}/liblsan.so.0 )' > liblsan.so
%endif
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a .
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++exp.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
%if %{build_libquadmath}
mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
@ -1017,20 +985,16 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan_preinit.o $FULLPATH/
%endif
%ifarch sparcv9 ppc
echo '/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so
rm -f 64/libgfortran.so
echo '/* GNU ld script */
ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
%{oformat2}
INPUT ( %{_prefix}/lib64/libgfortran.so.5 )' > 64/libgfortran.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libgomp.so.1 )' > 64/libgomp.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{_prefix}/lib64/libgccjit.so.0 )' > 64/libgccjit.so
@ -1038,23 +1002,17 @@ INPUT ( %{_prefix}/lib64/libgccjit.so.0 )' > 64/libgccjit.so
rm -f 64/libquadmath.so
echo '/* GNU ld script */
%{oformat2}
%if 0%{!?scl:1}
INPUT ( %{_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so
%else
INPUT ( %{_root_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so
%endif
%endif
%if %{build_libitm}
rm -f 64/libitm.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libitm.so.1 )' > 64/libitm.so
rm -f libitm.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 64/libitm.so
%endif
%if %{build_libatomic}
rm -f 64/libatomic.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libatomic.so.1 )' > 64/libatomic.so
rm -f libatomic.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 64/libatomic.so
%endif
%if %{build_libasan}
rm -f 64/libasan.so
@ -1068,18 +1026,22 @@ echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libubsan.so.1 )' > 64/libubsan.so
%endif
mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
ln -sf lib32/libgfortran.a libgfortran.a
ln -sf ../lib64/libgfortran.a 64/libgfortran.a
%if %{build_libquadmath}
mv -f %{buildroot}%{_prefix}/lib64/libquadmath.*a 64/
%endif
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
ln -sf lib32/libstdc++.a libstdc++.a
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
ln -sf lib32/libstdc++fs.a libstdc++fs.a
ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
ln -sf lib32/libstdc++_nonshared.a libstdc++_nonshared.a
ln -sf ../lib64/libstdc++_nonshared.a 64/libstdc++_nonshared.a
ln -sf lib32/libstdc++exp.a libstdc++exp.a
ln -sf ../lib64/libstdc++exp.a 64/libstdc++exp.a
ln -sf lib32/libsupc++.a libsupc++.a
ln -sf ../lib64/libsupc++.a 64/libsupc++.a
%if %{build_libquadmath}
ln -sf lib32/libquadmath.a libquadmath.a
ln -sf ../lib64/libquadmath.a 64/libquadmath.a
@ -1103,6 +1065,8 @@ ln -sf lib32/libubsan.a libubsan.a
ln -sf ../lib64/libubsan.a 64/libubsan.a
%endif
%endif
%ifarch %{multilib_64_archs}
mkdir -p 32
echo '/* GNU ld script
@ -1110,15 +1074,8 @@ echo '/* GNU ld script
the static library, so try that secondarily. */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so
rm -f 32/libgfortran.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{_prefix}}/lib/libgfortran.so.5 )' > 32/libgfortran.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 )' > 32/libgomp.so
ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/libgfortran.so
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
echo '/* GNU ld script */
%{oformat2}
@ -1127,23 +1084,17 @@ INPUT ( %{_prefix}/lib/libgccjit.so.0 )' > 32/libgccjit.so
rm -f 32/libquadmath.so
echo '/* GNU ld script */
%{oformat2}
%if 0%{!?scl:1}
INPUT ( %{_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so
%else
INPUT ( %{_root_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so
%endif
%endif
%if %{build_libitm}
rm -f 32/libitm.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libitm.so.1 )' > 32/libitm.so
rm -f libitm.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so
%endif
%if %{build_libatomic}
rm -f 32/libatomic.so
echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libatomic.so.1 )' > 32/libatomic.so
rm -f libatomic.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libatomic.so
%endif
%if %{build_libasan}
rm -f 32/libasan.so
@ -1157,12 +1108,10 @@ echo '/* GNU ld script */
%{oformat2}
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libubsan.so.1 )' > 32/libubsan.so
%endif
mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
%if %{build_libquadmath}
mv -f %{buildroot}%{_prefix}/lib/libquadmath.*a 32/
%endif
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
%endif
%ifarch sparc64 ppc64
ln -sf ../lib32/libgfortran.a 32/libgfortran.a
@ -1173,6 +1122,10 @@ ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
ln -sf lib64/libstdc++fs.a libstdc++fs.a
ln -sf ../lib32/libstdc++_nonshared.a 32/libstdc++_nonshared.a
ln -sf lib64/libstdc++_nonshared.a libstdc++_nonshared.a
ln -sf ../lib32/libstdc++exp.a 32/libstdc++exp.a
ln -sf lib64/libstdc++exp.a libstdc++exp.a
ln -sf ../lib32/libsupc++.a 32/libsupc++.a
ln -sf lib64/libsupc++.a libsupc++.a
%if %{build_libquadmath}
ln -sf ../lib32/libquadmath.a 32/libquadmath.a
ln -sf lib64/libquadmath.a libquadmath.a
@ -1201,7 +1154,9 @@ mv -f lib64/libubsan.a libubsan.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libstdc++_nonshared.a 32/libstdc++_nonshared.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++_nonshared.a 32/libstdc++_nonshared.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++exp.a 32/libstdc++exp.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libsupc++.a 32/libsupc++.a
%if %{build_libquadmath}
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a
%endif
@ -1234,7 +1189,7 @@ for d in . $FULLLSUBDIR; do
-o -name libtsan.a -o -name libubsan.a \
-o -name liblsan.a \
-o -name libstdc++_nonshared.a \
-o -name libsupc++.a \
-o -name libsupc++.a -o -name libstdc++exp.a\
-o -name libstdc++.a -o -name libcaf_single.a \
-o -name libstdc++fs.a \) -a -type f`; do
cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/
@ -1260,28 +1215,13 @@ chrpath -d %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/pl
chmod 755 %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so*
chrpath -d %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so*
%if %{build_libquadmath}
%if 0%{!?scl:1}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
%endif
%endif
%if %{build_libitm}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
%if 0%{?scl:1}
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
mv %{buildroot}%{_prefix}/%{_lib}/libitm.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
mkdir -p %{buildroot}%{_root_infodir}
mv %{buildroot}%{_infodir}/libitm.info* %{buildroot}%{_root_infodir}/
%endif
%endif
%if %{build_libatomic}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
%if 0%{?scl:1}
mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
mv %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
mkdir -p %{buildroot}%{_root_infodir}
%endif
%endif
%if %{build_libasan}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.*
@ -1386,27 +1326,24 @@ cd ..
# Remove binaries we will not be including, so that they don't end up in
# gcc-debuginfo
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libstdc++*,libgfortran*} || :
rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libstdc++.so*,libgfortran.so,libgcc_s.so} || :
%if 0%{?scl:1}
rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath*,libitm*,libatomic*,libasan.so,libtsan.so,libubsan.so,liblsan.so}
%else
rm -f %{buildroot}%{_prefix}/%{_lib}/{libitm*,libatomic*}
rm -f %{buildroot}%{_prefix}/%{_lib}/{libitm.so,libatomic.so,libasan.so,libtsan.so,libubsan.so,liblsan.so}
%if %{build_libquadmath}
rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath.so}
%endif
rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp*
rm -f %{buildroot}/%{_lib}/libgcc_s*
%if %{build_libhwasan}
rm -f %{buildroot}%{_prefix}/%{_lib}/{libhwasan.so}
%endif
%endif
rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp.so
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
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/{gccbug,gnatgcc*}
rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gfortran
%if 0%{!?scl:1}
rm -f %{buildroot}%{_prefix}/bin/{*c++*,cc,cpp}
%endif
rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
%ifarch %{multilib_64_archs}
@ -1504,7 +1441,7 @@ end
%ldconfig_scriptlets -n %{?_scl_prefix}libgccjit%{gcc_ver}
%ldconfig_scriptlets -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel
%ldconfig_scriptlets -n %{?_scl_prefix}libquadmath%{gcc_ver}
%ldconfig_scriptlets -n %{?_scl_prefix}libitm%{gcc_ver}
@ -1692,6 +1629,12 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchiintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/raointintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxcomplexintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgvlintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniint16intrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sha512intrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sm3intrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sm4intrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/usermsrintrin.h
%endif
%ifarch ia64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
@ -1736,6 +1679,8 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sve.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sme.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon_sve_bridge.h
%endif
%ifarch sparc sparcv9 sparc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h
@ -1757,17 +1702,6 @@ end
%endif
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
%if 0%{?scl:1}
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ar
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/as
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld.bfd
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld.gold
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/nm
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/objcopy
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ranlib
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/strip
%endif
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
@ -1828,8 +1762,6 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgccjit.so
%if %{build_libquadmath}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
@ -1875,9 +1807,6 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
%endif
%if %{build_libatomic}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
%endif
%if %{build_libtsan}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
@ -1922,6 +1851,7 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++_nonshared.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
%endif
%ifarch %{multilib_64_archs}
@ -1930,6 +1860,7 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++_nonshared.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
%endif
%ifarch sparcv9 ppc %{multilib_64_archs}
@ -1940,6 +1871,8 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_nonshared.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++exp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
%endif
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
@ -1955,17 +1888,20 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++_nonshared.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++exp.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++_nonshared.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++exp.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_nonshared.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++exp.a
%endif
%ifnarch sparcv9 ppc %{multilib_64_archs}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
@ -2032,6 +1968,7 @@ end
%doc rpm.doc/gfortran/*
%files -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel
%{_prefix}/%{_lib}/libgfortran.so.5*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
@ -2046,14 +1983,27 @@ end
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
%endif
%files -n %{?_scl_prefix}libgomp%{gcc_ver}
%{_prefix}/%{_lib}/libgomp.so.1*
%{_infodir}/libgomp.info*
%doc rpm.doc/changelogs/libgomp/ChangeLog*
%if %{build_libquadmath}
%files -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel
%files -n %{?_scl_prefix}libquadmath%{gcc_ver}
%{_prefix}/%{_lib}/libquadmath.so.0*
%{_infodir}/libquadmath.info*
%{!?_licensedir:%global license %%doc}
%license rpm.doc/libquadmath/COPYING*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
%endif
%doc rpm.doc/libquadmath/ChangeLog*
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a
@ -2064,17 +2014,24 @@ end
%endif
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
%endif
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
%doc rpm.doc/libquadmath/ChangeLog*
%endif
%if %{build_libitm}
%files -n %{?_scl_prefix}libitm%{gcc_ver}-devel
%files -n %{?_scl_prefix}libitm%{gcc_ver}
%{_prefix}/%{_lib}/libitm.so.1*
%{_infodir}/libitm.info*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h
#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
%endif
%doc rpm.doc/libitm/ChangeLog*
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a
@ -2084,14 +2041,20 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
%endif
%doc rpm.doc/libitm/ChangeLog*
%endif
%if %{build_libatomic}
%files -n %{?_scl_prefix}libatomic%{gcc_ver}-devel
%files -n %{?_scl_prefix}libatomic%{gcc_ver}
%{_prefix}/%{_lib}/libatomic.so.1*
%ifarch sparcv9 ppc
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so
%endif
%ifarch %{multilib_64_archs}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
%endif
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
@ -2104,7 +2067,6 @@ end
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
%endif
%doc rpm.doc/changelogs/libatomic/ChangeLog*
@ -2241,6 +2203,22 @@ end
%doc rpm.doc/changelogs/libcc1/ChangeLog*
%changelog
* Wed Aug 28 2024 YunQiang Su <yunqiang@isrc.iscas.ac.cn> - 14.2.1-6
- Fix build on RISC-V 64.
* Wed Aug 28 2024 zhaoshujian <zhaoshujian@huawei.com> - 14.2.1-5
- Change stdc++_nonshared_48 to stdc++_nonshared_80.
* Tue Aug 27 2024 zhaoshujian <zhaoshujian@huawei.com> - 14.2.1-4
- [bugfix] Change libsupc++.a, libstdc++exp.a package path
* Sat Aug 24 2024 zhaoshujian <zhaoshujian@huawei.com> - 14.2.1-3
- [bugfix] Change libgomp, libfortran, libgcc_s, libitm, libatomic package path
- Add gcc-toolset-14 Readme
* Thu Aug 22 2024 Hu, Lin <lin1.hu@intel.com> - 14.2.1-2
- [Backport] Backport fix prefetchi from gcc-14.3.0
* Mon Aug 12 2024 zhaoshujian <zhaoshujian@huawei.com> - 14.2.1-1
- Init gcc toolset gcc 14.2.1