From 6198a29c8edf2352400bef1812dda1b098e5c5c4 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Mon, 12 Aug 2024 16:17:15 -0400 Subject: [PATCH] Update gcc14-libstdc++-compat.patch Resolves: RHEL-30412 --- gcc.spec | 2 +- gcc14-libstdc++-compat.patch | 34 +++++++++++++++------------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/gcc.spec b/gcc.spec index 411201a..dee26e2 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1879,7 +1879,7 @@ chmod 755 %{buildroot}%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os %endif # Help plugins find out nvra. -echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver +echo %{?scl_prefix}gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver # Add symlink to lto plugin in the binutils plugin directory. %{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/ diff --git a/gcc14-libstdc++-compat.patch b/gcc14-libstdc++-compat.patch index b1d109b..a66e887 100644 --- a/gcc14-libstdc++-compat.patch +++ b/gcc14-libstdc++-compat.patch @@ -825,7 +825,7 @@ +#include "../c++98/locale_facets.cc" --- libstdc++-v3/src/nonshared98/ios_init.cc.jj 2024-07-18 16:10:38.324406775 +0200 +++ libstdc++-v3/src/nonshared98/ios_init.cc 2024-07-18 18:09:02.166562200 +0200 -@@ -0,0 +1,38 @@ +@@ -0,0 +1,41 @@ +// Copyright (C) 1997-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -864,6 +864,9 @@ + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace ++#ifdef __powerpc64__ ++asm (".hidden _ZSt21ios_base_library_initv"); ++#endif --- libstdc++-v3/src/nonshared98/Makefile.am.jj 2024-07-18 16:10:38.324406775 +0200 +++ libstdc++-v3/src/nonshared98/Makefile.am 2024-07-19 12:01:12.820878679 +0200 @@ -0,0 +1,102 @@ @@ -7522,7 +7525,7 @@ +asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i"); --- libstdc++-v3/src/nonshared17/cow-fs_ops.cc.jj 2024-07-18 16:10:38.337406609 +0200 +++ libstdc++-v3/src/nonshared17/cow-fs_ops.cc 2024-07-19 15:47:53.954382206 +0200 -@@ -0,0 +1,82 @@ +@@ -0,0 +1,81 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -7562,7 +7565,6 @@ +//asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_EEvT_S6_"); +asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_"); +asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_"); -+//asm (".hidden _ZNSs4swapERSs"); +#ifndef __i386__ +//asm (".hidden _ZNSs9_M_mutateEmmm"); +asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEm"); @@ -7603,8 +7605,8 @@ +#ifdef __powerpc64__ +//asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); +//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); -+//asm (".hidden _ZNSs4swapERSs"); +#endif ++asm (".hidden _ZNSs4swapERSs"); --- libstdc++-v3/src/nonshared17/eh_call.cc.jj 2024-07-19 11:35:02.445197511 +0200 +++ libstdc++-v3/src/nonshared17/eh_call.cc 2024-07-19 11:35:36.630752991 +0200 @@ -0,0 +1,23 @@ @@ -7677,7 +7679,7 @@ +std::__shared_ptr::operator bool () const noexcept; --- libstdc++-v3/src/nonshared17/cow-fs_path.cc.jj 2024-07-18 16:10:38.338406596 +0200 +++ libstdc++-v3/src/nonshared17/cow-fs_path.cc 2024-07-19 14:12:26.274350384 +0200 -@@ -0,0 +1,132 @@ +@@ -0,0 +1,131 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -7781,7 +7783,6 @@ +#endif +asm (".hidden _ZNSt10filesystem4pathD1Ev"); +asm (".hidden _ZNSs12_M_leak_hardEv"); -+asm (".hidden _ZNSs4swapERSs"); +#ifdef __i386__ +asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw"); +asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj"); @@ -8072,13 +8073,13 @@ +#ifdef __aarch64__ +//asm (".hidden _ZSt4copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +#endif +//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE12emplace_backIIS2_EEERS2_DpOT_"); +//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_"); +#ifdef __powerpc64__ +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +#endif +#ifndef __i386__ +//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); @@ -8089,11 +8090,11 @@ +#endif +#if defined(__x86_64__) || defined(__s390x__) +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +#endif +#ifdef __i386__ +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc"); +//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_"); +//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_"); +#endif @@ -8104,7 +8105,7 @@ +#endif --- libstdc++-v3/src/nonshared17/fs_path80.cc.jj 2024-07-18 16:10:38.338406596 +0200 +++ libstdc++-v3/src/nonshared17/fs_path80.cc 2024-07-19 13:52:03.082942673 +0200 -@@ -0,0 +1,158 @@ +@@ -0,0 +1,157 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -8194,8 +8195,6 @@ +#endif +//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_"); +asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); -+#if defined(__aarch64__) || defined(__s390x__) -+#endif +#ifdef __aarch64__ +asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); +asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); // bad ppc64le @@ -8224,7 +8223,7 @@ +asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm"); -+//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm"); +//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); @@ -8241,6 +8240,7 @@ +asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); +#endif +#ifdef __i386__ ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc"); +asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj"); +asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj"); @@ -8265,7 +8265,7 @@ +asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE"); --- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj 2024-07-18 16:10:38.338406596 +0200 +++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc 2024-07-19 10:55:08.223216551 +0200 -@@ -0,0 +1,107 @@ +@@ -0,0 +1,103 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -8357,10 +8357,6 @@ +//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEmb"); +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +#endif -+#ifndef __powerpc64__ -+asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); -+asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev"); -+#endif +#ifdef __i386__ +asm (".hidden _ZNSt10filesystem4pathD1Ev"); +asm (".hidden _ZNSt10filesystem4pathD2Ev");