Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3f7db562fa | |||
| c337d6d28d | |||
| 25d7d4233d | |||
| 2dd58881ef |
4
.gcc-toolset-14-gcc.metadata
Normal file
4
.gcc-toolset-14-gcc.metadata
Normal file
@ -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
|
||||
8
.gitignore
vendored
8
.gitignore
vendored
@ -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
|
||||
|
||||
@ -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");
|
||||
@ -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,
|
||||
81
SOURCES/gcc14-RHEL-90244.patch
Normal file
81
SOURCES/gcc14-RHEL-90244.patch
Normal file
@ -0,0 +1,81 @@
|
||||
From 9d5baaa92c6609191fd2488389562ac1ad1f0fb2 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Fri, 28 Mar 2025 15:41:41 +0000
|
||||
Subject: [PATCH] libstdc++: Fix -Warray-bounds warning in std::vector<bool>
|
||||
[PR110498]
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In this case, we need to tell the compiler that the current size is not
|
||||
larger than the new size so that all the existing elements can be copied
|
||||
to the new storage. This avoids bogus warnings about overflowing the new
|
||||
storage when the compiler can't tell that that cannot happen.
|
||||
|
||||
We might as well also hoist the loads of begin() and end() before the
|
||||
allocation too. All callers will have loaded at least begin() before
|
||||
calling _M_reallocate.
|
||||
|
||||
libstdc++-v3/ChangeLog:
|
||||
|
||||
PR libstdc++/110498
|
||||
* include/bits/vector.tcc (vector<bool, A>::_M_reallocate):
|
||||
Hoist loads of begin() and end() before allocation and use them
|
||||
to state an unreachable condition.
|
||||
* testsuite/23_containers/vector/bool/capacity/110498.cc: New
|
||||
test.
|
||||
|
||||
Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com>
|
||||
|
||||
(cherry picked from commit aa3aaf2bfb8fcc17076993df4297597b68bc5f60)
|
||||
---
|
||||
libstdc++-v3/include/bits/vector.tcc | 5 ++++-
|
||||
.../vector/bool/capacity/110498.cc | 18 ++++++++++++++++++
|
||||
2 files changed, 22 insertions(+), 1 deletion(-)
|
||||
create mode 100644 libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc
|
||||
|
||||
diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc
|
||||
index dafc2a31a8b..c59c15beacd 100644
|
||||
--- a/libstdc++-v3/include/bits/vector.tcc
|
||||
+++ b/libstdc++-v3/include/bits/vector.tcc
|
||||
@@ -1059,9 +1059,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
||||
vector<bool, _Alloc>::
|
||||
_M_reallocate(size_type __n)
|
||||
{
|
||||
+ const iterator __begin = begin(), __end = end();
|
||||
+ if (size_type(__end - __begin) > __n)
|
||||
+ __builtin_unreachable();
|
||||
_Bit_pointer __q = this->_M_allocate(__n);
|
||||
iterator __start(std::__addressof(*__q), 0);
|
||||
- iterator __finish(_M_copy_aligned(begin(), end(), __start));
|
||||
+ iterator __finish(_M_copy_aligned(__begin, __end, __start));
|
||||
this->_M_deallocate();
|
||||
this->_M_impl._M_start = __start;
|
||||
this->_M_impl._M_finish = __finish;
|
||||
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc
|
||||
new file mode 100644
|
||||
index 00000000000..d2d09e10d19
|
||||
--- /dev/null
|
||||
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/110498.cc
|
||||
@@ -0,0 +1,18 @@
|
||||
+// { dg-options "-O3 -Werror=array-bounds" }
|
||||
+// { dg-do compile }
|
||||
+
|
||||
+// Bug libstdc++/110498
|
||||
+// Spurious warnings stringop-overflow and array-bounds copying data as bytes
|
||||
+// into vector::reserve
|
||||
+
|
||||
+#include <vector>
|
||||
+
|
||||
+void f(std::vector<bool>& v)
|
||||
+{
|
||||
+ // Warning emitted when set to any number in the range [1,64].
|
||||
+ const std::size_t reserve_size = 30;
|
||||
+
|
||||
+ v.reserve(reserve_size);
|
||||
+ v.push_back(0);
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@ -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<fs::recursive_directory_iterator::_Dir_stack>::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 @@
|
||||
56
SOURCES/gcc14-pr118509.patch
Normal file
56
SOURCES/gcc14-pr118509.patch
Normal file
@ -0,0 +1,56 @@
|
||||
2025-01-20 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
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 ();
|
||||
+}
|
||||
39
SOURCES/gcc14-pr118892-1.patch
Normal file
39
SOURCES/gcc14-pr118892-1.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From 021ccf9dee0c14455a205f2555326e027e9047d8 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Sandiford <richard.sandiford@arm.com>
|
||||
Date: Wed, 16 Apr 2025 13:20:25 +0100
|
||||
Subject: [PATCH] Make force_subreg emit nothing on failure
|
||||
|
||||
While adding more uses of force_subreg, I realised that it should
|
||||
be more careful to emit no instructions on failure. This kind of
|
||||
failure should be very rare, so I don't think it's a case worth
|
||||
optimising for.
|
||||
|
||||
gcc/
|
||||
* explow.cc (force_subreg): Emit no instructions on failure.
|
||||
|
||||
(cherry picked from commit 01044471ea39f9be4803c583ef2a946abc657f99)
|
||||
---
|
||||
gcc/explow.cc | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/explow.cc b/gcc/explow.cc
|
||||
index f6843398c4b..bd93c878064 100644
|
||||
--- a/gcc/explow.cc
|
||||
+++ b/gcc/explow.cc
|
||||
@@ -756,8 +756,12 @@ force_subreg (machine_mode outermode, rtx op,
|
||||
if (x)
|
||||
return x;
|
||||
|
||||
+ auto *start = get_last_insn ();
|
||||
op = copy_to_mode_reg (innermode, op);
|
||||
- return simplify_gen_subreg (outermode, op, innermode, byte);
|
||||
+ rtx res = simplify_gen_subreg (outermode, op, innermode, byte);
|
||||
+ if (!res)
|
||||
+ delete_insns_since (start);
|
||||
+ return res;
|
||||
}
|
||||
|
||||
/* If X is a memory ref, copy its contents to a new temp reg and return
|
||||
--
|
||||
2.50.1
|
||||
|
||||
67
SOURCES/gcc14-pr118892-2.patch
Normal file
67
SOURCES/gcc14-pr118892-2.patch
Normal file
@ -0,0 +1,67 @@
|
||||
From b33e9eb8d404475a45a53afa3e3cc0ff742d75ec Mon Sep 17 00:00:00 2001
|
||||
From: Richard Sandiford <richard.sandiford@arm.com>
|
||||
Date: Wed, 16 Apr 2025 13:20:26 +0100
|
||||
Subject: [PATCH] Add force_lowpart_subreg
|
||||
|
||||
optabs had a local function called lowpart_subreg_maybe_copy
|
||||
that is very similar to the lowpart version of force_subreg.
|
||||
This patch adds a force_lowpart_subreg wrapper around
|
||||
force_subreg.
|
||||
|
||||
The only difference between the old and new functions is that
|
||||
the old one asserted success while the new one doesn't.
|
||||
It's common not to assert elsewhere when taking subregs;
|
||||
normally a null result is enough.
|
||||
|
||||
Later patches will make more use of the new function.
|
||||
|
||||
gcc/
|
||||
* explow.h (force_lowpart_subreg): Declare.
|
||||
* explow.cc (force_lowpart_subreg): New function.
|
||||
|
||||
(cherry picked from commit 5f40d1c0cc6ce91ef28d326b8707b3f05e6f239c)
|
||||
---
|
||||
gcc/explow.cc | 14 ++++++++++++++
|
||||
gcc/explow.h | 1 +
|
||||
2 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/gcc/explow.cc b/gcc/explow.cc
|
||||
index bd93c878064..2a91cf76ea6 100644
|
||||
--- a/gcc/explow.cc
|
||||
+++ b/gcc/explow.cc
|
||||
@@ -764,6 +764,20 @@ force_subreg (machine_mode outermode, rtx op,
|
||||
return res;
|
||||
}
|
||||
|
||||
+/* Try to return an rvalue expression for the OUTERMODE lowpart of OP,
|
||||
+ which has mode INNERMODE. Allow OP to be forced into a new register
|
||||
+ if necessary.
|
||||
+
|
||||
+ Return null on failure. */
|
||||
+
|
||||
+rtx
|
||||
+force_lowpart_subreg (machine_mode outermode, rtx op,
|
||||
+ machine_mode innermode)
|
||||
+{
|
||||
+ auto byte = subreg_lowpart_offset (outermode, innermode);
|
||||
+ return force_subreg (outermode, op, innermode, byte);
|
||||
+}
|
||||
+
|
||||
/* If X is a memory ref, copy its contents to a new temp reg and return
|
||||
that reg. Otherwise, return X. */
|
||||
|
||||
diff --git a/gcc/explow.h b/gcc/explow.h
|
||||
index cbd1fcb7eb3..dd654649b06 100644
|
||||
--- a/gcc/explow.h
|
||||
+++ b/gcc/explow.h
|
||||
@@ -43,6 +43,7 @@ extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode);
|
||||
extern rtx force_reg (machine_mode, rtx);
|
||||
|
||||
extern rtx force_subreg (machine_mode, rtx, machine_mode, poly_uint64);
|
||||
+extern rtx force_lowpart_subreg (machine_mode, rtx, machine_mode);
|
||||
|
||||
/* Return given rtx, copied into a new temp reg if it was in memory. */
|
||||
extern rtx force_not_mem (rtx);
|
||||
--
|
||||
2.50.1
|
||||
|
||||
62
SOURCES/gcc14-pr118892-3.patch
Normal file
62
SOURCES/gcc14-pr118892-3.patch
Normal file
@ -0,0 +1,62 @@
|
||||
From 9ce381170ed40874230db05111f8837475634e4b Mon Sep 17 00:00:00 2001
|
||||
From: Tamar Christina <tamar.christina@arm.com>
|
||||
Date: Mon, 28 Apr 2025 12:58:37 +0100
|
||||
Subject: [PATCH] aarch64: force operand to fresh register to avoid subreg
|
||||
issues [PR118892]
|
||||
|
||||
When the input is already a subreg and we try to make a paradoxical
|
||||
subreg out of it for copysign this can fail if it violates the subreg
|
||||
relationship.
|
||||
|
||||
Use force_lowpart_subreg instead of lowpart_subreg to then force the
|
||||
results to a register instead of ICEing.
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
PR target/118892
|
||||
* config/aarch64/aarch64.md (copysign<GPF:mode>3): Use
|
||||
force_lowpart_subreg instead of lowpart_subreg.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
|
||||
PR target/118892
|
||||
* gcc.target/aarch64/copysign-pr118892.c: New test.
|
||||
---
|
||||
gcc/config/aarch64/aarch64.md | 2 +-
|
||||
gcc/testsuite/gcc.target/aarch64/copysign-pr118892.c | 11 +++++++++++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
create mode 100644 gcc/testsuite/gcc.target/aarch64/copysign-pr118892.c
|
||||
|
||||
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
|
||||
index 95577b325ce..6a481059bf0 100644
|
||||
--- a/gcc/config/aarch64/aarch64.md
|
||||
+++ b/gcc/config/aarch64/aarch64.md
|
||||
@@ -7210,7 +7210,7 @@ (define_expand "copysign<GPF:mode>3"
|
||||
|
||||
emit_insn (gen_iorv2<v_int_equiv>3 (
|
||||
lowpart_subreg (V2<V_INT_EQUIV>mode, operands[0], <MODE>mode),
|
||||
- lowpart_subreg (V2<V_INT_EQUIV>mode, operands[1], <MODE>mode),
|
||||
+ force_lowpart_subreg (V2<V_INT_EQUIV>mode, operands[1], <MODE>mode),
|
||||
v_bitmask));
|
||||
DONE;
|
||||
}
|
||||
diff --git a/gcc/testsuite/gcc.target/aarch64/copysign-pr118892.c b/gcc/testsuite/gcc.target/aarch64/copysign-pr118892.c
|
||||
new file mode 100644
|
||||
index 00000000000..adfa30dc3e2
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/aarch64/copysign-pr118892.c
|
||||
@@ -0,0 +1,11 @@
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-Ofast" } */
|
||||
+
|
||||
+double l();
|
||||
+double f()
|
||||
+{
|
||||
+ double t6[2] = {l(), l()};
|
||||
+ double t7[2];
|
||||
+ __builtin_memcpy(&t7, &t6, sizeof(t6));
|
||||
+ return -__builtin_fabs(t7[1]);
|
||||
+}
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@ -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 12
|
||||
%global nvptx_tools_gitrev 87ce9dc5999e5fca2e1d3478a30888d9864c9804
|
||||
%global newlib_cygwin_gitrev d45261f62a15f8abd94a1031020b9a9f455e4eed
|
||||
%global isl_version 0.24
|
||||
@ -152,7 +152,7 @@ BuildRequires: scl-utils-build
|
||||
Summary: GCC version %{gcc_major}
|
||||
Name: %{?scl_prefix}gcc
|
||||
Version: %{gcc_version}
|
||||
Release: %{gcc_release}.1%{?dist}
|
||||
Release: %{gcc_release}%{?dist}
|
||||
# License notes for some of the less obvious ones:
|
||||
# gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para
|
||||
# isl: MIT, BSD-2-Clause
|
||||
@ -231,8 +231,10 @@ BuildRequires: libzstd-devel
|
||||
BuildRequires: glibc >= 2.3.90-35
|
||||
%endif
|
||||
%ifarch %{multilib_64_archs}
|
||||
# Ensure glibc{,-devel} is installed for both multilib arches
|
||||
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
|
||||
BuildRequires: (glibc32 or glibc-devel(%{__isa_name}-32))
|
||||
%endif
|
||||
%ifarch sparcv9 ppc
|
||||
BuildRequires: (glibc64 or glibc-devel(%{__isa_name}-64))
|
||||
%endif
|
||||
%ifarch ia64
|
||||
BuildRequires: libunwind >= 0.98
|
||||
@ -333,6 +335,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
|
||||
|
||||
@ -360,6 +363,11 @@ Patch3015: 0018-Use-CXX11-ABI.patch
|
||||
Patch3017: 0020-more-fixes.patch
|
||||
Patch3018: 0021-libstdc++-disable-tests.patch
|
||||
|
||||
Patch4000: gcc14-RHEL-90244.patch
|
||||
Patch4001: gcc14-pr118892-1.patch
|
||||
Patch4002: gcc14-pr118892-2.patch
|
||||
Patch4003: gcc14-pr118892-3.patch
|
||||
|
||||
%if 0%{?rhel} == 9
|
||||
%global nonsharedver 110
|
||||
%endif
|
||||
@ -444,6 +452,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 +690,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~
|
||||
|
||||
@ -720,6 +731,12 @@ touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m
|
||||
%patch -P3017 -p1 -b .dts-test-17~
|
||||
%patch -P3018 -p1 -b .dts-test-18~
|
||||
|
||||
# Bugfix backports.
|
||||
%patch -P4000 -p1 -b .RHEL-90244~
|
||||
%patch -P4001 -p1 -b .RHEL-pr118892-1~
|
||||
%patch -P4002 -p1 -b .RHEL-pr118892-2~
|
||||
%patch -P4003 -p1 -b .RHEL-pr118892-3~
|
||||
|
||||
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
|
||||
|
||||
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
|
||||
@ -738,10 +755,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 +791,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
|
||||
@ -1030,20 +1049,6 @@ make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z
|
||||
make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now profiledbootstrap
|
||||
%endif
|
||||
|
||||
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%{nonsharedver} )' \
|
||||
> %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_system.so
|
||||
|
||||
%if 0
|
||||
# Relink libcc1 against -lstdc++_nonshared:
|
||||
sed -i -e '/^postdeps/s/-lstdc++/-lstdc++_system/' libcc1/libtool
|
||||
rm -f libcc1/libcc1.la
|
||||
make -C libcc1 libcc1.la
|
||||
%endif
|
||||
|
||||
CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`"
|
||||
CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`"
|
||||
|
||||
@ -1312,6 +1317,9 @@ cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
|
||||
mkdir -p %{buildroot}%{_mandir}/man3
|
||||
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/
|
||||
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
|
||||
# We don't want to ship jQuery in the libstdc++-docs package.
|
||||
find ../rpm.doc/libstdc++-v3 -name jquery.js | xargs rm
|
||||
find ../rpm.doc/libstdc++-v3/html -name '*.html' | xargs sed -i '/<script type="text.javascript" src="jquery.js"><.script>/d'
|
||||
%endif
|
||||
|
||||
%ifarch sparcv9 sparc64
|
||||
@ -1422,11 +1430,18 @@ echo '/* GNU ld script */
|
||||
%{oformat}
|
||||
INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so
|
||||
|
||||
%define libstdcxx_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6
|
||||
%define libstdcxx_so_link INPUT ( %{libstdcxx_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx_so}) )
|
||||
%define libstdcxx64_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6
|
||||
%define libstdcxx64_so_link INPUT ( %{libstdcxx64_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx64_so}) )
|
||||
%define libstdcxx32_so %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6
|
||||
%define libstdcxx32_so_link INPUT ( %{libstdcxx32_so} -lstdc++_nonshared AS_NEEDED (%{libstdcxx32_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
|
||||
%{libstdcxx_so_link}' > libstdc++.so
|
||||
rm -f libgfortran.so
|
||||
echo '/* GNU ld script
|
||||
Use the shared library, but some functions are only in
|
||||
@ -1522,7 +1537,7 @@ 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
|
||||
%{libstdcxx64_so_link}' > 64/libstdc++.so
|
||||
rm -f 64/libgfortran.so
|
||||
echo '/* GNU ld script
|
||||
Use the shared library, but some functions are only in
|
||||
@ -1610,7 +1625,7 @@ 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}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so
|
||||
%{libstdcxx32_so_link}' > 32/libstdc++.so
|
||||
rm -f 32/libgfortran.so
|
||||
echo '/* GNU ld script
|
||||
Use the shared library, but some functions are only in
|
||||
@ -1910,7 +1925,7 @@ 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 )' \
|
||||
%{libstdcxx_so_link}' \
|
||||
> %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so
|
||||
cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \
|
||||
%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared.a
|
||||
@ -2787,6 +2802,75 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Sep 4 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-12
|
||||
- Fix glibc32 dependency (RHEL-112209)
|
||||
|
||||
* Wed Aug 27 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-11
|
||||
- Fix ICE in rebuild_jump_labels on aarch64-linux-gnu (RHEL-106790)
|
||||
|
||||
* Wed May 28 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-10
|
||||
- Put the libstdc++ AS_NEEDED in the right places (RHEL-84679)
|
||||
|
||||
* Thu May 22 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-9
|
||||
- Add AS_NEEDED libstdc++.so.6 when only needed through libstdc++_nonshared
|
||||
(RHEL-84679)
|
||||
|
||||
* Thu May 22 2025 Siddhesh Poyarekar <siddhesh@redhat.com> 14.2.1-8
|
||||
- libstdc++: Fix -Warray-bounds warning in std::vector<bool> (RHEL-90244)
|
||||
|
||||
* Fri Feb 7 2025 Marek Polacek <polacek@redhat.com> 14.2.1-7.1
|
||||
- disable jQuery use, don't ship jquery.js (CVE-2020-11023, RHEL-78387)
|
||||
|
||||
* Wed Jan 22 2025 Marek Polacek <polacek@redhat.com> 14.2.1-7
|
||||
- update from releases/gcc-14 branch (RHEL-74061)
|
||||
- PRs ada/113036, ada/113868, ada/115917, ada/117328, ada/117996,
|
||||
analyzer/115724, c/117641, c/117745, c/117802, c++/100358, c++/101463,
|
||||
c++/102594, c++/109859, c++/113108, c++/114854, c++/115008,
|
||||
c++/115430, c++/115657, c++/116108, c++/116634, c++/117158,
|
||||
c++/117317, c++/117614, c++/117615, c++/117792, c++/117825,
|
||||
c++/117845, c++/117880, c++/117925, c++/117985, c++/118060,
|
||||
c++/118069, driver/117942, fortran/84674, fortran/84869,
|
||||
fortran/105054, fortran/109105, fortran/109345, fortran/115070,
|
||||
fortran/115348, fortran/116388, fortran/117730, fortran/117763,
|
||||
fortran/117774, fortran/117791, fortran/117797, fortran/117819,
|
||||
fortran/117820, fortran/117843, fortran/117897, libgomp/117851,
|
||||
libstdc++/89624, libstdc++/106212, libstdc++/106676, libstdc++/108236,
|
||||
libstdc++/109517, libstdc++/109976, libstdc++/112349,
|
||||
libstdc++/112641, libstdc++/117520, libstdc++/117560,
|
||||
libstdc++/117822, libstdc++/117962, libstdc++/117966,
|
||||
libstdc++/118035, libstdc++/118093, middle-end/43374,
|
||||
middle-end/102674, middle-end/116997, middle-end/117433,
|
||||
middle-end/117458, middle-end/117459, middle-end/117847,
|
||||
middle-end/118024, modula2/114529, modula2/115003, modula2/115057,
|
||||
modula2/115164, modula2/115276, modula2/115328, modula2/115536,
|
||||
modula2/115540, modula2/115804, modula2/115823, modula2/115957,
|
||||
modula2/116048, modula2/116181, modula2/116378, modula2/116557,
|
||||
modula2/116918, modula2/117120, modula2/117371, modula2/117555,
|
||||
modula2/117660, modula2/117904, modula2/117948, other/116603,
|
||||
preprocessor/117118, rtl-optimization/113994, rtl-optimization/116799,
|
||||
rtl-optimization/117095, sanitizer/117960, target/64242,
|
||||
target/114801, target/114942, target/116371, target/116629,
|
||||
target/116999, target/117045, target/117105, target/117304,
|
||||
target/117357, target/117408, target/117418, target/117443,
|
||||
target/117500, target/117525, target/117562, target/117564,
|
||||
target/117642, target/117659, target/117675, target/117744,
|
||||
target/117926, testsuite/103298, testsuite/109360,
|
||||
tree-optimization/94589, tree-optimization/112376,
|
||||
tree-optimization/116463, tree-optimization/117142,
|
||||
tree-optimization/117254, tree-optimization/117307,
|
||||
tree-optimization/117333, tree-optimization/117398,
|
||||
tree-optimization/117417, tree-optimization/117439,
|
||||
tree-optimization/117574, tree-optimization/117594,
|
||||
tree-optimization/117612, tree-optimization/117912
|
||||
- fix up -freport-bug default (#2330362, RHEL-70192)
|
||||
- revert -mearly-ldp-fusion and -mlate-ldp-fusion default to enabled on
|
||||
aarch64 to match upstream (RHEL-74059)
|
||||
- consider TARGET_EXPR invariant like SAVE_EXPR (PR c++/118509)
|
||||
- have gfortran require install-info (RHEL-62417)
|
||||
|
||||
* Thu Aug 22 2024 Marek Polacek <polacek@redhat.com> 14.2.1-1.2
|
||||
- bump NVR (RHEL-53492)
|
||||
|
||||
* Tue Aug 13 2024 Marek Polacek <polacek@redhat.com> 14.2.1-1.1
|
||||
- do not hide _ZSt21ios_base_library_initv
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-8
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||
4
sources
4
sources
@ -1,4 +0,0 @@
|
||||
SHA512 (gcc-14.2.1-20240801.tar.xz) = b21f0bfd5767d0ecb9c08ba3e3a605a841d4c6a6008bf9dd8b4c4da366d7e733600eb21095768bda91e5df6536c398bf4a941e44577aef7586e95f1d148a214f
|
||||
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
|
||||
SHA512 (newlib-cygwin-d45261f62a15f8abd94a1031020b9a9f455e4eed.tar.xz) = 31bfc19429797236e268e22b752c5abeabb9c0f39b1058634af8dab329b4f028fc72a35888193c9575f6cee5cf2c069669d79fcb4d4e3a4318f57413452f707d
|
||||
SHA512 (nvptx-tools-87ce9dc5999e5fca2e1d3478a30888d9864c9804.tar.xz) = 941e763af8601b89f0e4ec48a2d68ae0a8e70ee1e6ba6859394b021ad7bd7d143cc529f3c35c08d7f84e5554980ddcc97cf05b6c4755c2bc36c91161b79e8cea
|
||||
Loading…
Reference in New Issue
Block a user