diff --git a/.gcc-toolset-14-gcc.metadata b/.gcc-toolset-14-gcc.metadata new file mode 100644 index 0000000..db209eb --- /dev/null +++ b/.gcc-toolset-14-gcc.metadata @@ -0,0 +1,4 @@ +1ba89d5d97aa19d0aaa5edd8834e71a2dcbd08e4 SOURCES/gcc-14.2.1-20250110.tar.xz +ae5fbb33bcb442121fbbf482a93f6b3c84d489ee SOURCES/isl-0.24.tar.bz2 +fa4301e00c164604a6d8122c130375a55621b076 SOURCES/newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz +c1e42726a71ca4a385502580778439bd326c6d4e SOURCES/nvptx-tools-87ce9dc5999e5fca2e1d3478a30888d9864c9804.tar.xz diff --git a/.gitignore b/.gitignore index 1b7aa4a..6ec148b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/gcc-14.1.1-20240701.tar.xz -/isl-0.24.tar.bz2 -/newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz -/nvptx-tools-87ce9dc5999e5fca2e1d3478a30888d9864c9804.tar.xz +SOURCES/gcc-14.2.1-20250110.tar.xz +SOURCES/isl-0.24.tar.bz2 +SOURCES/newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz +SOURCES/nvptx-tools-87ce9dc5999e5fca2e1d3478a30888d9864c9804.tar.xz diff --git a/0022-libstdc++-revert-behavior.patch b/0022-libstdc++-revert-behavior.patch deleted file mode 100644 index 797894c..0000000 --- a/0022-libstdc++-revert-behavior.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc -index fa740b42b88..5d808ee51ee 100644 ---- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc -+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc -@@ -39,14 +39,14 @@ void test01() - const ios_base::iostate good = ios_base::goodbit; - ios_base::iostate errorstate = good; - -- iss.str("62/04/71"); -+ iss.str("60/04/71"); - iterator_type is_it01(iss); - tm time01; - errorstate = good; - iterator_type ret01 = tim_get.get_date(is_it01, end, iss, errorstate, - &time01); - VERIFY( errorstate == ios_base::failbit ); -- VERIFY( *ret01 == '2' ); -+ VERIFY( *ret01 == '6' ); - - iss.str("04/38/71"); - iterator_type is_it02(iss); -diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc -index 07f4c369e58..c975c8523d8 100644 ---- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc -+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc -@@ -40,14 +40,14 @@ void test01() - const ios_base::iostate good = ios_base::goodbit; - ios_base::iostate errorstate = good; - -- iss.str(L"62/04/71"); -+ iss.str(L"60/04/71"); - iterator_type is_it01(iss); - tm time01; - errorstate = good; - iterator_type ret01 = tim_get.get_date(is_it01, end, iss, errorstate, - &time01); - VERIFY( errorstate == ios_base::failbit ); -- VERIFY( *ret01 == L'2' ); -+ VERIFY( *ret01 == L'6' ); - - iss.str(L"04/38/71"); - iterator_type is_it02(iss); -diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc -index e6f53de4a55..c9d9896a6c0 100644 ---- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc -+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc -@@ -76,8 +76,8 @@ void test01() - errorstate = good; - iterator_type ret03 = tim_get.get_year(is_it03, end, iss, errorstate, - &time03); -- VERIFY( time03.tm_year == 197 - 1900 ); -- VERIFY( errorstate == good ); -+ VERIFY( time03.tm_year == 3 ); -+ VERIFY( errorstate == ios_base::failbit ); - VERIFY( *ret03 == 'd' ); - - iss.str("71d71"); -diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc -index ba95fb91520..e17712098f4 100644 ---- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc -+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc -@@ -76,8 +76,8 @@ void test01() - errorstate = good; - iterator_type ret03 = tim_get.get_year(is_it03, end, iss, errorstate, - &time03); -- VERIFY( time03.tm_year == 197 - 1900 ); -- VERIFY( errorstate == good ); -+ VERIFY( time03.tm_year == 3 ); -+ VERIFY( errorstate == ios_base::failbit ); - VERIFY( *ret03 == L'd' ); - - iss.str(L"71d71"); diff --git a/0001-basic_string-reserve-n-semantics-are-not-available-i.patch b/SOURCES/0001-basic_string-reserve-n-semantics-are-not-available-i.patch similarity index 100% rename from 0001-basic_string-reserve-n-semantics-are-not-available-i.patch rename to SOURCES/0001-basic_string-reserve-n-semantics-are-not-available-i.patch diff --git a/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch b/SOURCES/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch similarity index 100% rename from 0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch rename to SOURCES/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch diff --git a/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch b/SOURCES/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch similarity index 100% rename from 0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch rename to SOURCES/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch diff --git a/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch b/SOURCES/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch similarity index 100% rename from 0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch rename to SOURCES/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch diff --git a/0008-testsuite-build-plugins-with-std-c-11.patch b/SOURCES/0008-testsuite-build-plugins-with-std-c-11.patch similarity index 100% rename from 0008-testsuite-build-plugins-with-std-c-11.patch rename to SOURCES/0008-testsuite-build-plugins-with-std-c-11.patch diff --git a/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch b/SOURCES/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch similarity index 100% rename from 0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch rename to SOURCES/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch diff --git a/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch b/SOURCES/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch similarity index 100% rename from 0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch rename to SOURCES/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch diff --git a/0012-dts.exp-use-usr-bin-gcc.patch b/SOURCES/0012-dts.exp-use-usr-bin-gcc.patch similarity index 100% rename from 0012-dts.exp-use-usr-bin-gcc.patch rename to SOURCES/0012-dts.exp-use-usr-bin-gcc.patch diff --git a/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch b/SOURCES/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch similarity index 100% rename from 0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch rename to SOURCES/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch diff --git a/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch b/SOURCES/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch similarity index 100% rename from 0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch rename to SOURCES/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch diff --git a/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch b/SOURCES/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch similarity index 100% rename from 0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch rename to SOURCES/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch diff --git a/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch b/SOURCES/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch similarity index 100% rename from 0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch rename to SOURCES/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch diff --git a/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch b/SOURCES/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch similarity index 100% rename from 0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch rename to SOURCES/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch diff --git a/0018-Use-CXX11-ABI.patch b/SOURCES/0018-Use-CXX11-ABI.patch similarity index 100% rename from 0018-Use-CXX11-ABI.patch rename to SOURCES/0018-Use-CXX11-ABI.patch diff --git a/0020-more-fixes.patch b/SOURCES/0020-more-fixes.patch similarity index 90% rename from 0020-more-fixes.patch rename to SOURCES/0020-more-fixes.patch index 2dd02c7..d123161 100644 --- a/0020-more-fixes.patch +++ b/SOURCES/0020-more-fixes.patch @@ -6,7 +6,7 @@ index b64e71dae22..5bf47b20820 100644 jump threading opportunities. Skip the later tests on aarch64. */ /* { dg-final { scan-tree-dump-not "Jumps threaded" "dom3" { target { ! aarch64*-*-* } } } } */ /* { dg-final { scan-tree-dump "Jumps threaded: 9" "thread2" { target { ! aarch64*-*-* } } } } */ --/* { dg-final { scan-tree-dump "Jumps threaded: 18" "thread2" { target { aarch64*-*-* } } } } */ +-/* { dg-final { scan-tree-dump "Jumps threaded: 17" "thread2" { target { aarch64*-*-* } } } } */ enum STATE { S0=0, diff --git a/0021-libstdc++-disable-tests.patch b/SOURCES/0021-libstdc++-disable-tests.patch similarity index 100% rename from 0021-libstdc++-disable-tests.patch rename to SOURCES/0021-libstdc++-disable-tests.patch diff --git a/gcc14-Wno-format-security.patch b/SOURCES/gcc14-Wno-format-security.patch similarity index 100% rename from gcc14-Wno-format-security.patch rename to SOURCES/gcc14-Wno-format-security.patch diff --git a/gcc14-d-shared-libphobos.patch b/SOURCES/gcc14-d-shared-libphobos.patch similarity index 100% rename from gcc14-d-shared-libphobos.patch rename to SOURCES/gcc14-d-shared-libphobos.patch diff --git a/gcc14-dg-ice-fixes.patch b/SOURCES/gcc14-dg-ice-fixes.patch similarity index 100% rename from gcc14-dg-ice-fixes.patch rename to SOURCES/gcc14-dg-ice-fixes.patch diff --git a/gcc14-fortran-fdec-duplicates.patch b/SOURCES/gcc14-fortran-fdec-duplicates.patch similarity index 100% rename from gcc14-fortran-fdec-duplicates.patch rename to SOURCES/gcc14-fortran-fdec-duplicates.patch diff --git a/gcc14-hack.patch b/SOURCES/gcc14-hack.patch similarity index 100% rename from gcc14-hack.patch rename to SOURCES/gcc14-hack.patch diff --git a/gcc14-isl-dl.patch b/SOURCES/gcc14-isl-dl.patch similarity index 100% rename from gcc14-isl-dl.patch rename to SOURCES/gcc14-isl-dl.patch diff --git a/gcc14-isl-dl2.patch b/SOURCES/gcc14-isl-dl2.patch similarity index 100% rename from gcc14-isl-dl2.patch rename to SOURCES/gcc14-isl-dl2.patch diff --git a/gcc14-libgfortran-compat.patch b/SOURCES/gcc14-libgfortran-compat.patch similarity index 100% rename from gcc14-libgfortran-compat.patch rename to SOURCES/gcc14-libgfortran-compat.patch diff --git a/gcc14-libgomp-omp_h-multilib.patch b/SOURCES/gcc14-libgomp-omp_h-multilib.patch similarity index 100% rename from gcc14-libgomp-omp_h-multilib.patch rename to SOURCES/gcc14-libgomp-omp_h-multilib.patch diff --git a/gcc14-libstdc++-compat.patch b/SOURCES/gcc14-libstdc++-compat.patch similarity index 98% rename from gcc14-libstdc++-compat.patch rename to SOURCES/gcc14-libstdc++-compat.patch index 2ddc593..44bb4e3 100644 --- a/gcc14-libstdc++-compat.patch +++ b/SOURCES/gcc14-libstdc++-compat.patch @@ -4369,7 +4369,7 @@ +#endif --- libstdc++-v3/src/nonshared20/tzdb110.cc.jj 2024-07-19 14:20:09.597439460 +0200 +++ libstdc++-v3/src/nonshared20/tzdb110.cc 2024-07-19 15:44:37.305875058 +0200 -@@ -0,0 +1,27 @@ +@@ -0,0 +1,33 @@ +// Copyright The GNU Toolchain Authors. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -4397,6 +4397,12 @@ +asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); +asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); +asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++#ifndef __i386__ ++asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_"); ++#endif ++#ifdef __i386__ ++asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_"); ++#endif --- libstdc++-v3/src/nonshared20/sstream-inst80.cc.jj 2024-07-18 16:10:38.335406635 +0200 +++ libstdc++-v3/src/nonshared20/sstream-inst80.cc 2024-07-19 11:02:28.274530997 +0200 @@ -0,0 +1,34 @@ @@ -4563,7 +4569,7 @@ + $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ --- libstdc++-v3/src/nonshared20/tzdb80.cc.jj 2024-07-18 16:10:38.336406622 +0200 +++ libstdc++-v3/src/nonshared20/tzdb80.cc 2024-07-19 15:44:33.397924595 +0200 -@@ -0,0 +1,127 @@ +@@ -0,0 +1,130 @@ +// Copyright The GNU Toolchain Authors. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -4621,6 +4627,9 @@ +asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_"); +asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_"); +asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono9time_zoneEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_"); ++#ifndef __s390x__ ++asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_"); ++#endif +asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_"); +asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono14time_zone_linkEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_"); +asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_"); @@ -4655,8 +4664,6 @@ +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm"); +#endif +#ifdef __i386__ -+asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_"); -+asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_"); +asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); +asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); +asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); @@ -4679,7 +4686,9 @@ +#ifndef __i386__ +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +#endif ++#ifdef __i386__ +asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_"); ++#endif +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); +asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); +asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); @@ -7431,7 +7440,7 @@ } // namespace std --- libstdc++-v3/src/nonshared17/floating_from_chars.cc.jj 2024-07-18 16:10:38.337406609 +0200 +++ libstdc++-v3/src/nonshared17/floating_from_chars.cc 2024-07-19 15:49:16.875331046 +0200 -@@ -0,0 +1,49 @@ +@@ -0,0 +1,51 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -7476,14 +7485,16 @@ +#endif +#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj"); -+#else ++#elif !defined(__s390x__) && !defined(__aarch64__) +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm"); +#endif +asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); ++#if !defined(__s390x__) +asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i"); ++#endif --- libstdc++-v3/src/nonshared17/floating_from_chars110.cc.jj 2024-07-18 16:10:38.337406609 +0200 +++ libstdc++-v3/src/nonshared17/floating_from_chars110.cc 2024-07-19 15:34:35.820500123 +0200 -@@ -0,0 +1,36 @@ +@@ -0,0 +1,45 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -7514,15 +7525,24 @@ +#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj"); +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj"); -+#else ++#elif !defined(__s390x__) && !defined(__aarch64__) +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm"); +asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm"); ++asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i"); +#endif +asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); ++#if defined(__powerpc64__) ++asm (".hidden _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format"); ++//asm (".hidden _ZSt8to_charsPcS_u9__ieee128"); ++//asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_format"); ++//asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_formati"); ++#endif ++#if defined(__aarch64__) || defined(__i386__) +asm (".hidden _ZSt10from_charsIiLi0EESt17from_chars_resultPKcS2_RT_i"); ++#endif --- 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,81 @@ +@@ -0,0 +1,82 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -7562,6 +7582,7 @@ +//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"); @@ -7590,7 +7611,7 @@ +//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); +#endif +#if defined(__s390x__) -+asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); ++//asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); +//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); +#endif +#ifdef __aarch64__ @@ -7602,8 +7623,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 @@ @@ -7676,7 +7697,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,131 @@ +@@ -0,0 +1,132 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -7757,40 +7778,41 @@ +//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD1Ev"); +//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD2Ev"); +asm (".hidden _ZNKSt10filesystem4path5_List5_Impl4copyEv"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv"); ++//asm (".hidden _ZNSs12_M_leak_hardEv"); ++//asm (".hidden _ZNSs4swapERSs"); +//asm (".hidden _ZNSs6appendERKSs"); ++//asm (".hidden _ZNSt10filesystem4path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem4path7_Parser4nextEv"); +#ifndef __i386__ +asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw"); -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm"); -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm"); -+asm (".hidden _ZNSs6insertEmPKcm"); -+asm (".hidden _ZNSs6resizeEmc"); -+asm (".hidden _ZNSs7reserveEm"); -+asm (".hidden _ZNSs9_M_mutateEmmm"); -+asm (".hidden _ZNSsC1ERKSsmm"); -+asm (".hidden _ZNSsC2ERKSsmm"); -+asm (".hidden _ZNSt10filesystem4pathD2Ev"); -+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_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RmT3_"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw"); ++//asm (".hidden _ZNSs7reserveEm"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm"); ++//asm (".hidden _ZNSsC1ERKSsmm"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm"); ++//asm (".hidden _ZNSs6insertEmPKcm"); ++//asm (".hidden _ZNSs6resizeEmc"); ++//asm (".hidden _ZNSs9_M_mutateEmmm"); ++//asm (".hidden _ZNSsC2ERKSsmm"); ++//asm (".hidden _ZNSt10filesystem4pathD1Ev"); +//asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RmT3_"); +#endif -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv"); -+asm (".hidden _ZNSt10filesystem4path5_List5beginEv"); -+#ifndef __s390x__ -+asm (".hidden _ZNSt10filesystem4path7_Parser4nextEv"); ++#if defined(__aarch64__) || defined(__x86_64__) ++//asm (".hidden _ZNSt10filesystem4pathD2Ev"); +#endif -+asm (".hidden _ZNSt10filesystem4pathD1Ev"); -+asm (".hidden _ZNSs12_M_leak_hardEv"); +#ifdef __i386__ -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw"); -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj"); -+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj"); -+asm (".hidden _ZNSs6insertEjPKcj"); -+asm (".hidden _ZNSs6resizeEjc"); -+asm (".hidden _ZNSs7reserveEj"); -+asm (".hidden _ZNSs9_M_mutateEjjj"); -+asm (".hidden _ZNSsC1ERKSsjj"); -+asm (".hidden _ZNSsC2ERKSsjj"); -+asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj"); ++//asm (".hidden _ZNSs6insertEjPKcj"); ++//asm (".hidden _ZNSs6resizeEjc"); ++//asm (".hidden _ZNSs7reserveEj"); ++//asm (".hidden _ZNSs9_M_mutateEjjj"); ++//asm (".hidden _ZNSsC1ERKSsjj"); ++//asm (".hidden _ZNSsC2ERKSsjj"); ++//asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_"); +//asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_"); +#endif +asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED0Ev"); @@ -7806,8 +7828,8 @@ +asm (".hidden _ZTVNSt10filesystem4path8_CodecvtIwEE"); +asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); +//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem4path5_CmptEEEvT_S6_"); -+//asm (".hidden _ZNSt10filesystem4path5_CmptD1Ev"); -+//asm (".hidden _ZNSt10filesystem4path5_CmptD2Ev"); ++asm (".hidden _ZNSt10filesystem4path5_CmptD1Ev"); ++asm (".hidden _ZNSt10filesystem4path5_CmptD2Ev"); --- libstdc++-v3/src/nonshared17/memory_resource.cc.jj 2024-07-18 16:10:38.338406596 +0200 +++ libstdc++-v3/src/nonshared17/memory_resource.cc 2024-07-19 15:51:23.442726588 +0200 @@ -0,0 +1,75 @@ @@ -7878,7 +7900,7 @@ +#ifdef __powerpc64__ +//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv"); +#endif -+asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv"); ++//asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv"); +#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) +asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIIRjS7_EEEvDpOT_"); +asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIJRjS7_EEEvDpOT_"); @@ -7888,7 +7910,7 @@ +#endif --- libstdc++-v3/src/nonshared17/fs_dir.cc.jj 2024-07-18 16:10:38.338406596 +0200 +++ libstdc++-v3/src/nonshared17/fs_dir.cc 2024-07-19 11:00:30.596051426 +0200 -@@ -0,0 +1,105 @@ +@@ -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 @@ -7930,8 +7952,6 @@ +//asm (".hidden _ZNSt10filesystem9_Dir_baseC1EPKcbRSt10error_code"); +//asm (".hidden _ZNSt10filesystem9_Dir_baseC2EPKcbRSt10error_code"); +#endif -+asm (".hidden _ZNSt10filesystem7__cxx114pathC1INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_EERKT_NS1_6formatE"); -+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"); +asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEaSEOS6_"); @@ -7991,7 +8011,7 @@ +asm (".hidden _ZNKSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stack12current_pathEv"); +asm (".hidden _ZNSt10filesystem7__cxx1128recursive_directory_iterator7__eraseEPSt10error_code"); +//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir16dir_and_pathnameEv"); -+asm (".hidden _ZNKSt10filesystem7__cxx114_Dir7currentEv"); ++//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir7currentEv"); +//asm (".hidden _ZNSt10filesystem7__cxx114_DirC1ERKNS0_4pathEbbbRSt10error_code"); +//asm (".hidden _ZNSt10filesystem7__cxx114_DirC2ERKNS0_4pathEbbbRSt10error_code"); --- libstdc++-v3/src/nonshared17/fs_ops80.cc.jj 2024-07-18 16:10:38.338406596 +0200 @@ -8069,28 +8089,28 @@ +#endif +#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_traitsIcESaIcEE4swapERS4_"); +//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_traitsIcESaIcEE4swapERS4_"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +#endif +#ifndef __i386__ +//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +#endif -+#if defined(__s390x__) -+asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); ++#if defined(__s390x__) || defined(__powerpc64__) ++//asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); +//asm (".hidden _ZSt4copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); +#endif +#if defined(__x86_64__) || defined(__s390x__) -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +#endif +#ifdef __i386__ -+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); +//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_"); @@ -8102,7 +8122,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,157 @@ +@@ -0,0 +1,160 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -8192,8 +8212,11 @@ +#endif +//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_"); +asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); ++#if defined(__aarch64__) || defined(__s390x__) ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++#endif +#ifdef __aarch64__ -+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); +asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); // bad ppc64le +#endif +asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev"); @@ -8215,35 +8238,35 @@ +asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); +asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); -+asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); +#ifndef __i386__ -+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_stringIwSt11char_traitsIwESaIwEE6resizeEmw"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm"); +//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); +//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_"); +asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); +#endif -+#if defined(__aarch64__) || defined(__x86_64__) -+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm"); ++#if defined(__aarch64__) || defined(__x86_64__) ++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm"); +#endif +#ifdef __powerpc64__ -+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); +#endif +#ifdef __x86_64__ -+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//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 _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj"); +//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj"); -+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw"); +#endif +asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev"); +asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev"); @@ -8262,7 +8285,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,103 @@ +@@ -0,0 +1,107 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -8354,9 +8377,11 @@ +//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"); +//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEjb"); +#endif +asm (".hidden _ZNKSt10filesystem4_Dir11open_subdirEbbRSt10error_code"); @@ -8365,7 +8390,9 @@ +//asm (".hidden _ZNSt10filesystem4pathC1ISsS0_EERKT_NS0_6formatE"); +asm (".hidden _ZNSt10filesystem28recursive_directory_iterator7__eraseEPSt10error_code"); +//asm (".hidden _ZNKSt10filesystem4_Dir16dir_and_pathnameEv"); -+asm (".hidden _ZNKSt10filesystem4_Dir7currentEv"); ++//asm (".hidden _ZNSt10filesystem4pathD1Ev"); ++//asm (".hidden _ZNSt10filesystem4pathD2Ev"); ++//asm (".hidden _ZNKSt10filesystem4_Dir7currentEv"); --- libstdc++-v3/src/nonshared17/Makefile.am.jj 2024-07-18 16:10:38.338406596 +0200 +++ libstdc++-v3/src/nonshared17/Makefile.am 2024-07-19 13:32:17.104230472 +0200 @@ -0,0 +1,146 @@ @@ -9515,7 +9542,7 @@ +#else +asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_"); +#endif -+#if !defined(__i386__) ++#if !defined(__i386__) && !defined(__s390x__) +asm (".hidden _ZSt12__to_chars_iIoESt15to_chars_resultPcS1_T_i"); +#endif --- libstdc++-v3/src/nonshared17/cow-string-inst110.cc.jj 2024-07-18 16:10:38.339406584 +0200 @@ -9635,7 +9662,7 @@ +asm (".hidden _ZN10__cxxabiv111__terminateEPFvvE"); --- libstdc++-v3/src/nonshared17/floating_to_chars110.cc.jj 2024-07-18 16:10:38.340406571 +0200 +++ libstdc++-v3/src/nonshared17/floating_to_chars110.cc 2024-07-19 15:12:46.701074973 +0200 -@@ -0,0 +1,30 @@ +@@ -0,0 +1,41 @@ +// Copyright (C) 2019-2024 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free @@ -9662,10 +9689,21 @@ +#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"); ++#if !defined(__s390x__) && !defined(__aarch64__) +asm (".hidden _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_"); -+#if !defined(__i386__) ++#endif ++#if defined(__s390x__) ++asm (".hidden _ZNSt8__detail14__to_chars_lenIoEEjT_i"); ++asm (".hidden _ZNSt8__detail18__to_chars_10_implIoEEvPcjT_"); ++#endif ++#if !defined(__i386__) && !defined(__s390x__) +asm (".hidden _ZSt12__to_chars_iIoESt15to_chars_resultPcS1_T_i"); +#endif ++#if defined(__powerpc64__) ++asm (".hidden _ZSt8to_charsPcS_u9__ieee128"); ++asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_format"); ++asm (".hidden _ZSt8to_charsPcS_u9__ieee128St12chars_formati"); ++#endif --- libstdc++-v3/src/nonshared17/string-inst110.cc.jj 2024-07-18 16:10:38.340406571 +0200 +++ libstdc++-v3/src/nonshared17/string-inst110.cc 2024-07-18 18:09:02.183561982 +0200 @@ -0,0 +1,37 @@ diff --git a/gcc14-libstdc++-docs.patch b/SOURCES/gcc14-libstdc++-docs.patch similarity index 100% rename from gcc14-libstdc++-docs.patch rename to SOURCES/gcc14-libstdc++-docs.patch diff --git a/gcc14-libtool-no-rpath.patch b/SOURCES/gcc14-libtool-no-rpath.patch similarity index 100% rename from gcc14-libtool-no-rpath.patch rename to SOURCES/gcc14-libtool-no-rpath.patch diff --git a/gcc14-no-add-needed.patch b/SOURCES/gcc14-no-add-needed.patch similarity index 100% rename from gcc14-no-add-needed.patch rename to SOURCES/gcc14-no-add-needed.patch diff --git a/gcc14-pr101523.patch b/SOURCES/gcc14-pr101523.patch similarity index 100% rename from gcc14-pr101523.patch rename to SOURCES/gcc14-pr101523.patch diff --git a/SOURCES/gcc14-pr118509.patch b/SOURCES/gcc14-pr118509.patch new file mode 100644 index 0000000..6e19016 --- /dev/null +++ b/SOURCES/gcc14-pr118509.patch @@ -0,0 +1,56 @@ +2025-01-20 Jakub Jelinek + + PR c++/118509 + * typeck.cc (get_member_function_from_ptrfunc): Wrap force_target_expr + with save_expr. + + * g++.dg/expr/pmf-4.C: New test. + +--- gcc/cp/typeck.cc.jj 2025-01-09 10:10:28.042651891 +0100 ++++ gcc/cp/typeck.cc 2025-01-20 15:09:24.200053590 +0100 +@@ -4187,8 +4187,8 @@ get_member_function_from_ptrfunc (tree * + && !DECL_P (instance_ptr) + && !TREE_CONSTANT (instance_ptr))) + instance_ptr = instance_save_expr +- = force_target_expr (TREE_TYPE (instance_ptr), instance_ptr, +- complain); ++ = save_expr (force_target_expr (TREE_TYPE (instance_ptr), ++ instance_ptr, complain)); + + /* See above comment. */ + if (TREE_SIDE_EFFECTS (function) +@@ -4196,7 +4196,8 @@ get_member_function_from_ptrfunc (tree * + && !DECL_P (function) + && !TREE_CONSTANT (function))) + function +- = force_target_expr (TREE_TYPE (function), function, complain); ++ = save_expr (force_target_expr (TREE_TYPE (function), function, ++ complain)); + + /* Start by extracting all the information from the PMF itself. */ + e3 = pfn_from_ptrmemfunc (function); +--- gcc/testsuite/g++.dg/expr/pmf-4.C.jj ++++ gcc/testsuite/g++.dg/expr/pmf-4.C +@@ -0,0 +1,22 @@ ++// PR c++/118509 ++// { dg-do run } ++// { dg-options "-Wall -O2" } ++ ++struct A { void foo () { a = 1; } int a; A () : a (0) {} }; ++struct B : virtual A {}; ++typedef void (A::*C) (); ++ ++__attribute__((noipa)) void ++foo (C x, B *y) ++{ ++ (y->*x) (); ++} ++ ++int ++main () ++{ ++ B b; ++ foo (&A::foo, &b); ++ if (b.a != 1) ++ __builtin_abort (); ++} diff --git a/gcc14-rh1574936.patch b/SOURCES/gcc14-rh1574936.patch similarity index 100% rename from gcc14-rh1574936.patch rename to SOURCES/gcc14-rh1574936.patch diff --git a/gcc14-sparc-config-detection.patch b/SOURCES/gcc14-sparc-config-detection.patch similarity index 100% rename from gcc14-sparc-config-detection.patch rename to SOURCES/gcc14-sparc-config-detection.patch diff --git a/isl-rh2155127.patch b/SOURCES/isl-rh2155127.patch similarity index 100% rename from isl-rh2155127.patch rename to SOURCES/isl-rh2155127.patch diff --git a/gcc.spec b/SPECS/gcc.spec similarity index 97% rename from gcc.spec rename to SPECS/gcc.spec index a87a721..f77c812 100644 --- a/gcc.spec +++ b/SPECS/gcc.spec @@ -5,13 +5,13 @@ BuildRequires: scl-utils-build %{?scl:%global __strip %%{_scl_root}/usr/bin/strip} %{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump} %{?scl:%scl_package gcc} -%global DATE 20240801 -%global gitrev 43d4666d3d94934f11857a2fb9122c575be81801 +%global DATE 20250110 +%global gitrev e525669e462dd777a1af9932fe9188937acdeb69 %global gcc_version 14.2.1 %global gcc_major 14 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 1 +%global gcc_release 7 %global nvptx_tools_gitrev 87ce9dc5999e5fca2e1d3478a30888d9864c9804 %global newlib_cygwin_gitrev d45261f62a15f8abd94a1031020b9a9f455e4eed %global isl_version 0.24 @@ -333,6 +333,7 @@ Patch9: gcc14-Wno-format-security.patch Patch10: gcc14-rh1574936.patch Patch11: gcc14-d-shared-libphobos.patch Patch12: gcc14-pr101523.patch +Patch13: gcc14-pr118509.patch Patch50: isl-rh2155127.patch @@ -444,6 +445,8 @@ Summary: Fortran support for GCC %{gcc_major} Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release} Requires: libgfortran >= 8.1.1 Autoreq: true +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info %if %{build_libquadmath} %if 0%{!?scl:1} @@ -680,6 +683,7 @@ so that there cannot be any synchronization problems. %patch -P10 -p0 -b .rh1574936~ %patch -P11 -p0 -b .d-shared-libphobos~ %patch -P12 -p1 -b .pr101523~ +%patch -P13 -p0 -b .pr118509~ %patch -P100 -p1 -b .fortran-fdec-duplicates~ @@ -738,10 +742,8 @@ echo 'TM_H += $(srcdir)/config/rs6000/rs6000-modes.h' >> gcc/config/rs6000/t-rs6 LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi -sed -i -e '/ldp_fusion/s/Init(1)/Init(0)/' gcc/config/aarch64/aarch64.opt - sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt -sed -i -e 's/context->report_bug = false;/context->report_bug = true;/' gcc/diagnostic.cc +sed -i -e 's/m_report_bug = false;/m_report_bug = true;/' gcc/diagnostic.cc %ifarch ppc if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then @@ -776,6 +778,10 @@ rm -rf libgomp/testsuite/libgomp.fortran/pr90030.f90 rm -f libstdc++-v3/testsuite/30_threads/future/members/poll.cc %endif +# Disable jQuery use (CVE-2020-11023). +sed -i '/^SEARCHENGINE/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in +sed -i '/^GENERATE_TREEVIEW/s/YES/NO/' libstdc++-v3/doc/doxygen/user.cfg.in + %build # Undo the broken autoconf change in recent Fedora versions @@ -1312,6 +1318,9 @@ cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api mkdir -p %{buildroot}%{_mandir}/man3 cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/ find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm +# We don't want to ship jQuery in the libstdc++-docs package. +find ../rpm.doc/libstdc++-v3 -name jquery.js | xargs rm +find ../rpm.doc/libstdc++-v3/html -name '*.html' | xargs sed -i '/