diff --git a/0001-basic_string-reserve-n-semantics-are-not-available-i.patch b/0001-basic_string-reserve-n-semantics-are-not-available-i.patch
new file mode 100644
index 0000000000000000000000000000000000000000..703172642a345c4996bc188e7b26ec079ef45ee8
--- /dev/null
+++ b/0001-basic_string-reserve-n-semantics-are-not-available-i.patch
@@ -0,0 +1,85 @@
+From 8a7f364afd86a4c4c2c747ae9cb4216fe992acc8 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Wed, 25 Aug 2021 12:36:42 -0400
+Subject: [PATCH 01/17] basic_string::reserve(n) semantics are not available in
+ DTS
+
+Various tests were added upstream 2020-08-06 as part of:
+ "libstdc++: Implement P0966 std::string::reserve should not shrink"
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=140cf935cd118f7208b7c3826a8b9d50936242f0
+
+std::string and std::wstring are instantiated in the system libstdc++.so
+via explicit instantiation definitions, so the new basic_string::reserve(n)
+semantics are not available in DTS.
+
+Update/disable the pertinent parts of the tests to reflect the behavior
+when run against the system libstdc++.so.
+---
+ .../testsuite/21_strings/basic_string/capacity/char/1.cc | 6 ------
+ .../21_strings/basic_string/capacity/char/18654.cc | 2 +-
+ .../testsuite/21_strings/basic_string/capacity/wchar_t/1.cc | 6 ------
+ .../21_strings/basic_string/capacity/wchar_t/18654.cc | 2 +-
+ 4 files changed, 2 insertions(+), 14 deletions(-)
+
+diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
+index eea69771f..64187718d 100644
+--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
++++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
+@@ -41,12 +41,6 @@ void test01()
+ sz01 = str01.capacity();
+ VERIFY( sz01 < sz02 );
+
+- // P0966: reserve should not shrink
+- str01.reserve(100);
+- sz01 = str01.capacity();
+- str01.reserve(sz01 - 1);
+- VERIFY( str01.capacity() == sz01 );
+-
+ sz01 = str01.size() + 5;
+ str01.resize(sz01);
+ sz02 = str01.size();
+diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
+index 02ce78ea6..3a7352123 100644
+--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
++++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
+@@ -51,7 +51,7 @@ void test01()
+ VERIFY( cap >= 3 * i );
+
+ str.reserve(2 * i);
+- VERIFY( str.capacity() == cap );
++ VERIFY( str.capacity() == 2 * i );
+
+ #if __cplusplus <= 201703L
+ str.reserve();
+diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
+index f01a27e8c..70915a94d 100644
+--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
++++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
+@@ -41,12 +41,6 @@ void test01()
+ sz01 = str01.capacity();
+ VERIFY( sz01 < sz02 );
+
+- // P0966: reserve should not shrink
+- str01.reserve(100);
+- sz01 = str01.capacity();
+- str01.reserve(sz01 - 1);
+- VERIFY( str01.capacity() == sz01 );
+-
+ sz01 = str01.size() + 5;
+ str01.resize(sz01);
+ sz02 = str01.size();
+diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
+index 267fd198b..c9711a294 100644
+--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
++++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
+@@ -51,7 +51,7 @@ void test01()
+ VERIFY( cap >= 3 * i );
+
+ str.reserve(2 * i);
+- VERIFY( str.capacity() == cap );
++ VERIFY( str.capacity() == 2 * i );
+
+ #if __cplusplus <= 201703L
+ str.reserve();
+--
+2.31.1
diff --git a/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch b/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch
new file mode 100644
index 0000000000000000000000000000000000000000..264745bc9da2f920feab085306b38b0b2d1da947
--- /dev/null
+++ b/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch
@@ -0,0 +1,46 @@
+From d7fae9f17479c44dae68483d457fc3fbb58c4b83 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Wed, 25 Aug 2021 15:57:36 -0400
+Subject: [PATCH 04/17] operator>>(istream&, char(&)[N]) eofbit fixes are not
+ available in DTS
+
+The upstream commit on 2020-08--6:
+ Do not set eofbit eagerly in operator>>(istream&, char(&)[N])
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=4e39f563c0cd25401f689c2093cb8c13692156ef
+altered the behaviour of std::istream symbols defined in libstdc++.so,
+but with DTS you get the old definitions from the system libstdc++.so
+
+Hence this patch tweaks the new tests to avoid failing when run against
+the system libstdc++.so
+---
+ .../21_strings/basic_string/inserters_extractors/char/13.cc | 1 -
+ .../21_strings/basic_string/inserters_extractors/wchar_t/13.cc | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc
+index a25d8a93d..7d85e6ead 100644
+--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc
++++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/13.cc
+@@ -29,7 +29,6 @@ test01()
+ std::string buf;
+ in.width(4);
+ in >> buf;
+- VERIFY( !in.eof() ); // should stop after reading 4 chars
+ VERIFY( buf == str );
+ }
+
+diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc
+index f15294a44..fa5fe3d4a 100644
+--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc
++++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc
+@@ -29,7 +29,6 @@ test01()
+ std::wstring buf;
+ in.width(4);
+ in >> buf;
+- VERIFY( !in.eof() ); // should stop after reading 4 chars
+ VERIFY( buf == str );
+ }
+
+--
+2.31.1
+
diff --git a/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch b/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch
new file mode 100644
index 0000000000000000000000000000000000000000..0641e85985119fab5530f6c76f433851d4d0f0a8
--- /dev/null
+++ b/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch
@@ -0,0 +1,53 @@
+From 3ede89bd19328c26bcd881b873cf4a766ae0da3a Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Wed, 25 Aug 2021 17:04:02 -0400
+Subject: [PATCH 05/17] Disable tests for PR libstdc++/79820 and PR
+ libstdc++/81751 under DTS
+
+Upstream commit 2017-08-09
+ PR libstdc++/81751 don't call fflush(NULL)
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=04d07b61cb80fd97e98eb39451ff6a8675a63d90
+added these test cases as part of verifying the behavior of sys_open (that
+it resets errno and doesn't call fflush on NULL).
+
+These symbols are in the system stdlib when run from DTS and thus aren't
+fixed by the above change:
+
+ 1521: 000000000007c430 104 FUNC GLOBAL DEFAULT 12 std::__basic_file::sys_open(int, std::_Ios_Openmode)@@GLIBCXX_3.4
+ 2895: 000000000007c730 95 FUNC GLOBAL DEFAULT 12 std::__basic_file::sys_open(_IO_FILE*, std::_Ios_Openmode)@@GLIBCXX_3.4
+
+This patch disables the non-fixed assertions.
+---
+ libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc | 2 --
+ libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc | 1 -
+ 2 files changed, 3 deletions(-)
+
+diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
+index 278b99169..e2a8e3b3d 100644
+--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
++++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc
+@@ -26,9 +26,7 @@ void
+ test01()
+ {
+ FILE* f = std::fopen("79820.txt", "w");
+- errno = 127;
+ __gnu_cxx::stdio_filebuf b(f, std::ios::out, BUFSIZ);
+- VERIFY(errno == 127); // PR libstdc++/79820
+ b.close();
+ std::fclose(f);
+ }
+diff --git a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
+index 21aa06f78..6a231d7cf 100644
+--- a/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
++++ b/libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc
+@@ -31,7 +31,6 @@ test01()
+ FILE* in1 = std::fopen("81751.txt", "r");
+ __gnu_cxx::stdio_filebuf buf1(in1, std::ios::in, BUFSIZ);
+ int c = buf1.sgetc();
+- VERIFY( c == std::char_traits::eof() ); // PR libstdc++/81751
+
+ std::fflush(out);
+ FILE* in2 = std::fopen("81751.txt", "r");
+--
+2.31.1
+
diff --git a/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch b/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch
new file mode 100644
index 0000000000000000000000000000000000000000..dcabb08833728cccda9e9f00b5a1cd82dd699325
--- /dev/null
+++ b/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch
@@ -0,0 +1,118 @@
+From 59388ee3dac5c737086ed1f83f552a44481a2213 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Tue, 31 Aug 2021 16:08:57 -0400
+Subject: [PATCH 06/17] Don't assume has_facet when run against
+ system libstdc++
+
+Upstream commit 2019-02-19:
+ P0482R5 char8_t: Standard library support
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=c124af936b6b225eb548ccdd7f01400511d784dc
+added new locale facets for char8_t.
+
+has_facet returns false, as it is using the std::locale the system libstdc++:
+
+$ eu-readelf -s char16_t-char8_t.exe |c++filt |grep UNDEF|grep locale
+ 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::classic()@GLIBCXX_3.4 (2)
+ 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::locale(std::locale const&)@GLIBCXX_3.4 (2)
+ 13: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::id::_M_id() const@GLIBCXX_3.4 (2)
+ 22: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::~locale()@GLIBCXX_3.4 (2)
+ 64: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::classic()@@GLIBCXX_3.4
+ 76: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::locale(std::locale const&)@@GLIBCXX_3.4
+ 89: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::id::_M_id() const@@GLIBCXX_3.4
+ 108: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::locale::~locale()@@GLIBCXX_3.4
+
+Hence this patch tweaks tests so that they bail out if run against an older std::locale.
+---
+ libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc | 3 ++-
+ libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc | 3 ++-
+ libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc | 3 ++-
+ libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc | 3 ++-
+ libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc | 2 ++
+ libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc | 2 ++
+ 6 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc
+index 71a23bef4..d4aa519a2 100644
+--- a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc
++++ b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t-char8_t.cc
+@@ -31,7 +31,8 @@ test01()
+ using namespace std;
+ typedef codecvt codecvt_c16;
+ locale loc_c = locale::classic();
+- VERIFY(has_facet(loc_c));
++ if (!has_facet(loc_c))
++ return;
+ const codecvt_c16* const cvt = &use_facet(loc_c);
+
+ VERIFY(!cvt->always_noconv());
+diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
+index 7b5ce126d..05c77b2b1 100644
+--- a/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
++++ b/libstdc++-v3/testsuite/22_locale/codecvt/char16_t.cc
+@@ -29,7 +29,8 @@ test01()
+ using namespace std;
+ typedef codecvt codecvt_c16;
+ locale loc_c = locale::classic();
+- VERIFY(has_facet(loc_c));
++ if (!has_facet(loc_c))
++ return;
+ const codecvt_c16* const cvt = &use_facet(loc_c);
+
+ VERIFY(!cvt->always_noconv());
+diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc
+index f30ae22e9..281969e9b 100644
+--- a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc
++++ b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t-char8_t.cc
+@@ -33,7 +33,8 @@ test01()
+ using namespace std;
+ typedef codecvt codecvt_c32;
+ locale loc_c = locale::classic();
+- VERIFY(has_facet(loc_c));
++ if (!has_facet(loc_c))
++ return;
+ const codecvt_c32* const cvt = &use_facet(loc_c);
+
+ VERIFY(!cvt->always_noconv());
+diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
+index 558ba9145..82980b702 100644
+--- a/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
++++ b/libstdc++-v3/testsuite/22_locale/codecvt/char32_t.cc
+@@ -31,7 +31,8 @@ test01()
+ using namespace std;
+ typedef codecvt codecvt_c32;
+ locale loc_c = locale::classic();
+- VERIFY(has_facet(loc_c));
++ if (!has_facet(loc_c))
++ return;
+ const codecvt_c32* const cvt = &use_facet(loc_c);
+
+ VERIFY(!cvt->always_noconv());
+diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc b/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc
+index 5eab05ba2..d6f663ce6 100644
+--- a/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc
++++ b/libstdc++-v3/testsuite/22_locale/codecvt/utf8-char8_t.cc
+@@ -34,6 +34,8 @@ void test(const C* from)
+ std::mbstate_t state{};
+ char8_t buf[16] = { };
+ using test_type = std::codecvt;
++ if (!std::has_facet(std::locale::classic()))
++ return;
+ const test_type& cvt = std::use_facet(std::locale::classic());
+ auto from_end = from + len;
+ auto from_next = from;
+diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
+index b1b3cff31..167bc0ca3 100644
+--- a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
++++ b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
+@@ -32,6 +32,8 @@ void test(const C* from)
+ std::mbstate_t state{};
+ char buf[16] = { };
+ using test_type = std::codecvt;
++ if (!std::has_facet(std::locale::classic()))
++ return;
+ const test_type& cvt = std::use_facet(std::locale::classic());
+ auto from_end = from + len;
+ auto from_next = from;
+--
+2.31.1
+
diff --git a/0008-testsuite-build-plugins-with-std-c-11.patch b/0008-testsuite-build-plugins-with-std-c-11.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f97bad3a9a864bbfa908581160899095c4b226a8
--- /dev/null
+++ b/0008-testsuite-build-plugins-with-std-c-11.patch
@@ -0,0 +1,42 @@
+From 16694079a3f415f5e5683b0afe6978810ac259b1 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Tue, 31 Aug 2021 17:01:05 -0400
+Subject: [PATCH 08/17] testsuite: build plugins with -std=c++11
+
+Various testsuite plugins fail when built within DTS with e.g.:
+ cc1: error: cannot load plugin ./diagnostic_plugin_test_paths.so: /builddir/build/BUILD/gcc-11.1.1-20210623/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/src/.libs/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./diagnostic_plugin_test_paths.so)
+
+These turn out to C++14's sized deletion
+(see https://en.cppreference.com/w/cpp/memory/new/operator_delete):
+
+ 14: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF _ZdlPvm@CXXABI_1.3.9 (4)
+ 48: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF _ZdlPvm@CXXABI_1.3.9
+ 14: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF operator delete(void*, unsigned long)@CXXABI_1.3.9 (4)
+ 48: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF operator delete(void*, unsigned long)@CXXABI_1.3.9
+
+Looks like plugin.exp is building the test plugins against the
+freshly-built libstdc++, and then trying to dynamically load them
+against the system libstdc++.
+
+This patch forces the use of -std=c++11 when building these test plugins,
+to sidestep the problem.
+---
+ gcc/testsuite/lib/plugin-support.exp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/testsuite/lib/plugin-support.exp b/gcc/testsuite/lib/plugin-support.exp
+index 6d651901e..9943dbb37 100644
+--- a/gcc/testsuite/lib/plugin-support.exp
++++ b/gcc/testsuite/lib/plugin-support.exp
+@@ -103,7 +103,7 @@ proc plugin-test-execute { plugin_src plugin_tests } {
+ }
+ set optstr [concat $optstr "-DIN_GCC -fPIC -shared -fno-rtti -undefined dynamic_lookup"]
+ } else {
+- set plug_cflags $PLUGINCFLAGS
++ set plug_cflags "$PLUGINCFLAGS -std=c++11"
+ set optstr "$includes $extra_flags -DIN_GCC -fPIC -shared -fno-rtti"
+ }
+
+--
+2.31.1
+
diff --git a/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch b/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9e16d2e849d046c25728c40bbb9fcc60a36f6fe2
--- /dev/null
+++ b/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch
@@ -0,0 +1,30 @@
+From d1555ffdd9b4fa6f3ceaa166bbfee0b3b9973ecf Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Wed, 1 Sep 2021 11:24:34 -0400
+Subject: [PATCH 10/17] Don't verify exception handling in basic_filebuf::close
+ in DTS [PR81256]
+
+27_io/basic_filebuf/close/81256.cc was added upstream 2018-05-14 in
+ PR libstdc++/81256 fix exception handling in basic_filebuf::close
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e77497ab777d3dfa19224648d658220807ab7419
+
+When run under DTS,
+ std::basic_filebuf >::close
+comes from the system libstdc++, and hence the test fails.
+---
+ libstdc++-v3/testsuite/27_io/basic_filebuf/close/81256.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc
+@@ -80,7 +80,6 @@ test01()
+ caught = true;
+ }
+ VERIFY( conv.exceptions_thrown == 1 );
+- VERIFY( caught );
+ }
+ VERIFY( conv.exceptions_thrown == 1 );
+ }
+--
+2.31.1
+
diff --git a/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch b/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch
new file mode 100644
index 0000000000000000000000000000000000000000..7d28f1e7093a0c3e3aa45069b7d2626e5e520f36
--- /dev/null
+++ b/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch
@@ -0,0 +1,117 @@
+From b6989e3a4acda2d75612f3f3847dbea4245ff536 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Wed, 1 Sep 2021 15:39:45 -0400
+Subject: [PATCH 11/17] Add dts.exp and use it to fix
+ 22_locale/messages/13631.cc
+
+This test was added upstream 2014-12-03:
+ "re PR libstdc++/13631 (Problems in messages)"
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d31008d7a0d53b431f176aad8dda5498de823122
+
+as part of a fix that is present in the system libstdc++.so in
+GCC 5 onwards.
+
+When run in DTS against such a system library, this test will fail.
+This patch introduces a dts.exp which detects the version of the
+underlying system libstdc++.so and exposes it to tests via
+-D__CXXSTDLIB_SO_VERSION__=, so that we can ifdef specific tests
+away, conditionally on the base GCC.
+---
+ .../testsuite/22_locale/messages/13631.cc | 7 +++++
+ libstdc++-v3/testsuite/lib/dts.exp | 31 +++++++++++++++++++
+ libstdc++-v3/testsuite/lib/libstdc++.exp | 6 ++++
+ 3 files changed, 44 insertions(+)
+ create mode 100644 libstdc++-v3/testsuite/lib/dts.exp
+
+diff --git a/libstdc++-v3/testsuite/22_locale/messages/13631.cc b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
+index b8ae3d4f1..5b20df382 100644
+--- a/libstdc++-v3/testsuite/22_locale/messages/13631.cc
++++ b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
+@@ -50,7 +50,10 @@ void test01()
+ msgs_facet.close(fake_msgs);
+ msgs_facet.close(msgs);
+
++ // Fixed upstream in GCC 5
++#if __CXXSTDLIB_SO_VERSION__ >= 501000
+ VERIFY( translation1 == translation2 );
++#endif
+ }
+
+ void test02()
+@@ -72,8 +75,12 @@ void test02()
+ std::wstring translation1 = msgs_facet.get(msgs, 0, 0, msgid);
+
+ // Without a real translation this test doesn't mean anything:
++
++ // Fixed upstream in GCC 5
++#if __CXXSTDLIB_SO_VERSION__ >= 501000
+ VERIFY( !translation1.empty() );
+ VERIFY( translation1 != msgid );
++#endif
+
+ // Opening another catalog was enough to show the problem, even a fake
+ // catalog.
+diff --git a/libstdc++-v3/testsuite/lib/dts.exp b/libstdc++-v3/testsuite/lib/dts.exp
+new file mode 100644
+index 000000000..76ece66d3
+--- /dev/null
++++ b/libstdc++-v3/testsuite/lib/dts.exp
+@@ -0,0 +1,31 @@
++# For DTS testing, generate a number expressing the
++# system version of libstdc++.so
++#
++# Generate a version number equivalent to
++# #define GCC_VERSION (__GNUC__ * 10000 \
++# + __GNUC_MINOR__ * 100 \
++# + __GNUC_PATCHLEVEL__)
++#
++# For example, given an underlying version of gcc 4.8.5
++# this function will return 408050.
++
++proc get_dts_base_version { } {
++
++ # Invoke gcc in the PATH to get at the underlying GCC version
++ # in dotted form (e.g. "4.8.5").
++ set dotted_version [exec gcc -dumpversion]
++ verbose "dotted_version: '$dotted_version'" 2
++
++ # Extract major, minor, patchlevel
++ regexp {([0-9]+)\.([0-9]+)\.([0-9]+)} \
++ $dotted_version \
++ _ major minor patchlevel
++ verbose "major: '$major'" 2
++ verbose "minor: '$minor'" 2
++ verbose "patchlevel: '$patchlevel'" 2
++
++ set base_gcc_version [expr (($major * 10000) + ($minor * 100) + $patchlevel)]
++ verbose "base_gcc_version: '$base_gcc_version'" 2
++
++ return $base_gcc_version
++}
+diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
+index 7f9580db8..5e4b32f76 100644
+--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
++++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
+@@ -58,6 +58,7 @@ load_gcc_lib timeout.exp
+ load_gcc_lib timeout-dg.exp
+ load_gcc_lib wrapper.exp
+ load_gcc_lib target-utils.exp
++load_lib dts.exp
+
+ # Useful for debugging. Pass the name of a variable and the verbosity
+ # threshold (number of -v's on the command line).
+@@ -323,6 +324,11 @@ proc libstdc++_init { testfile } {
+ set ccflags "$cxxflags -DLOCALEDIR=\".\""
+ set cxxflags "$cxxflags -DLOCALEDIR=\".\""
+
++ # For DTS testing, expose the system version of libstdc++.so as
++ # a preprocessor define.
++ set base_gcc_version [get_dts_base_version]
++ set cxxflags "$cxxflags -D__CXXSTDLIB_SO_VERSION__=$base_gcc_version"
++
+ # If a PCH file is available, use it. We must delay performing
+ # this check until $cxx and such have been initialized because we
+ # perform a test compilation. (Ideally, gcc --print-file-name would
+--
+2.31.1
+
diff --git a/0012-dts.exp-use-usr-bin-gcc.patch b/0012-dts.exp-use-usr-bin-gcc.patch
new file mode 100644
index 0000000000000000000000000000000000000000..129ef2d54c58fcbd29156709e9a146bd46e1947f
--- /dev/null
+++ b/0012-dts.exp-use-usr-bin-gcc.patch
@@ -0,0 +1,28 @@
+From c3910bb945aba02e0c06dec041da9f1f148b0df1 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Thu, 2 Sep 2021 11:40:42 -0400
+Subject: [PATCH 12/17] dts.exp: use /usr/bin/gcc
+
+---
+ libstdc++-v3/testsuite/lib/dts.exp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libstdc++-v3/testsuite/lib/dts.exp b/libstdc++-v3/testsuite/lib/dts.exp
+index 76ece66d3..dc5cf3e95 100644
+--- a/libstdc++-v3/testsuite/lib/dts.exp
++++ b/libstdc++-v3/testsuite/lib/dts.exp
+@@ -11,9 +11,9 @@
+
+ proc get_dts_base_version { } {
+
+- # Invoke gcc in the PATH to get at the underlying GCC version
++ # Invoke /usr/bin/gcc to get at the underlying GCC version
+ # in dotted form (e.g. "4.8.5").
+- set dotted_version [exec gcc -dumpversion]
++ set dotted_version [exec /usr/bin/gcc -dumpversion]
+ verbose "dotted_version: '$dotted_version'" 2
+
+ # Extract major, minor, patchlevel
+--
+2.31.1
+
diff --git a/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch b/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch
new file mode 100644
index 0000000000000000000000000000000000000000..52f160d9e5d9e47f2f6f6a696ac27911885ac74b
--- /dev/null
+++ b/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch
@@ -0,0 +1,86 @@
+From c922a56d4461c9e4ca2af07ecccb3626b99a35ae Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Thu, 2 Sep 2021 11:44:37 -0400
+Subject: [PATCH 13/17] Rename __CXXSTDLIB_SO_VERSION__ to
+ __LIBSTDCXX_SO_VERSION and only use major version
+
+---
+ .../testsuite/22_locale/messages/13631.cc | 4 ++--
+ libstdc++-v3/testsuite/lib/dts.exp | 18 +++++-------------
+ libstdc++-v3/testsuite/lib/libstdc++.exp | 4 ++--
+ 3 files changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/libstdc++-v3/testsuite/22_locale/messages/13631.cc b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
+index 5b20df382..f4c5eb7a2 100644
+--- a/libstdc++-v3/testsuite/22_locale/messages/13631.cc
++++ b/libstdc++-v3/testsuite/22_locale/messages/13631.cc
+@@ -51,7 +51,7 @@ void test01()
+ msgs_facet.close(msgs);
+
+ // Fixed upstream in GCC 5
+-#if __CXXSTDLIB_SO_VERSION__ >= 501000
++#if __LIBSTDCXX_SO_VERSION >= 5
+ VERIFY( translation1 == translation2 );
+ #endif
+ }
+@@ -77,7 +77,7 @@ void test02()
+ // Without a real translation this test doesn't mean anything:
+
+ // Fixed upstream in GCC 5
+-#if __CXXSTDLIB_SO_VERSION__ >= 501000
++#if __LIBSTDCXX_SO_VERSION >= 5
+ VERIFY( !translation1.empty() );
+ VERIFY( translation1 != msgid );
+ #endif
+diff --git a/libstdc++-v3/testsuite/lib/dts.exp b/libstdc++-v3/testsuite/lib/dts.exp
+index dc5cf3e95..60f94bd6d 100644
+--- a/libstdc++-v3/testsuite/lib/dts.exp
++++ b/libstdc++-v3/testsuite/lib/dts.exp
+@@ -1,15 +1,10 @@
+-# For DTS testing, generate a number expressing the
+-# system version of libstdc++.so
+-#
+-# Generate a version number equivalent to
+-# #define GCC_VERSION (__GNUC__ * 10000 \
+-# + __GNUC_MINOR__ * 100 \
+-# + __GNUC_PATCHLEVEL__)
++# For DTS testing, get the major version of the
++# system libstdc++.so
+ #
+ # For example, given an underlying version of gcc 4.8.5
+-# this function will return 408050.
++# this function will return 4
+
+-proc get_dts_base_version { } {
++proc get_dts_base_major_version { } {
+
+ # Invoke /usr/bin/gcc to get at the underlying GCC version
+ # in dotted form (e.g. "4.8.5").
+@@ -24,8 +19,5 @@ proc get_dts_base_version { } {
+ verbose "minor: '$minor'" 2
+ verbose "patchlevel: '$patchlevel'" 2
+
+- set base_gcc_version [expr (($major * 10000) + ($minor * 100) + $patchlevel)]
+- verbose "base_gcc_version: '$base_gcc_version'" 2
+-
+- return $base_gcc_version
++ return $major
+ }
+diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
+index 5e4b32f76..297485b19 100644
+--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
++++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
+@@ -326,8 +326,8 @@ proc libstdc++_init { testfile } {
+
+ # For DTS testing, expose the system version of libstdc++.so as
+ # a preprocessor define.
+- set base_gcc_version [get_dts_base_version]
+- set cxxflags "$cxxflags -D__CXXSTDLIB_SO_VERSION__=$base_gcc_version"
++ set base_gcc_version [get_dts_base_major_version]
++ set cxxflags "$cxxflags -D__LIBSTDCXX_SO_VERSION=$base_gcc_version"
+
+ # If a PCH file is available, use it. We must delay performing
+ # this check until $cxx and such have been initialized because we
+--
+2.31.1
+
diff --git a/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch b/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch
new file mode 100644
index 0000000000000000000000000000000000000000..0da5b140e75426c1bf62dff1a8de6542f9ce4c02
--- /dev/null
+++ b/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch
@@ -0,0 +1,84 @@
+From fa770c25013df537c41d0929c4202b0a774a6a75 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Thu, 2 Sep 2021 15:27:59 -0400
+Subject: [PATCH 14/17] Conditionalize tests for PR libstdc++/98466 on
+ __LIBSTDCXX_SO_VERSION >= 11
+
+The tests:
+ 23_containers/deque/debug/98466.cc
+ 23_containers/unordered_map/debug/98466.cc
+were added upstream 2021-01-01 as part of:
+ libstdc++: Implement N3644 for _GLIBCXX_DEBUG iterators
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=05a30af3f237984b4dcf1dbbc17fdac583c46506
+but fail when run in DTS against a system libstdc++.so
+from an older GCC.
+
+In particular, they use the older implementation of _M_can_compare from
+the dynamic library:
+
+$ eu-readelf -s 98466.exe | grep can_compare | c++filt
+ 11: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF __gnu_debug::_Safe_iterator_base::_M_can_compare(__gnu_debug::_Safe_iterator_base const&) const@GLIBCXX_3.4 (4)
+ 157: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF __gnu_debug::_Safe_iterator_base::_M_can_compare(__gnu_debug::_Safe_iterator_base const&) const@@GLIBCXX_3.4
+---
+ .../testsuite/23_containers/deque/debug/98466.cc | 6 ++++++
+ .../23_containers/unordered_map/debug/98466.cc | 12 ++++++++++++
+ 2 files changed, 18 insertions(+)
+
+diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
+index c2d793374..e92d719bf 100644
+--- a/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
++++ b/libstdc++-v3/testsuite/23_containers/deque/debug/98466.cc
+@@ -26,11 +26,17 @@ void test01()
+ {
+ typedef typename __gnu_debug::deque::iterator It;
+ It it = It();
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( it == it );
++#endif
+
+ typedef typename __gnu_debug::deque::const_iterator Cit;
+ Cit cit = Cit();
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( cit == cit );
++#endif
+ }
+
+ int main()
+diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc
+index cc22b9ff8..3a1b6cd32 100644
+--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc
++++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/98466.cc
+@@ -25,16 +25,28 @@
+ void test01()
+ {
+ __gnu_debug::unordered_map::iterator it{};
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( it == it );
++#endif
+
+ __gnu_debug::unordered_map::const_iterator cit{};
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( cit == cit );
++#endif
+
+ __gnu_debug::unordered_map::local_iterator lit{};
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( lit == lit );
++#endif
+
+ __gnu_debug::unordered_map::const_local_iterator clit{};
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( clit == clit );
++#endif
+ }
+
+ int main()
+--
+2.31.1
+
diff --git a/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch b/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch
new file mode 100644
index 0000000000000000000000000000000000000000..087b20eff044cb9b9c6b9da573312a4804432e9a
--- /dev/null
+++ b/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch
@@ -0,0 +1,41 @@
+From 992665eab6c48d6a4819f42509346d24b277485d Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Thu, 2 Sep 2021 16:17:29 -0400
+Subject: [PATCH 15/17] Conditionalize test for PR libstdc++/87135 on
+ __LIBSTDCXX_SO_VERSION >= 9
+
+This VERIFY was added upstream 2018-09-18 as part of:
+ re PR libstdc++/87135 ([C++17] unordered containers violate iterator validity requirements)
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=a521e62615e439aea7502a52fd0f8a21eaa6304f
+
+but fails when run in DTS against a system libstdc++.so from an older GCC.
+
+In particular, rehash from the header is using
+ std::__detail::_Prime_rehash_policy::_M_next_bkt
+from the system .so:
+
+ 12: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::__detail::_Prime_rehash_policy::_M_next_bkt(unsigned long) const@GLIBCXX_3.4.18 (5)
+ 225: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::__detail::_Prime_rehash_policy::_M_next_bkt(unsigned long) const@@GLIBCXX_3.4.18
+---
+ .../23_containers/unordered_map/modifiers/reserve.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
+index 58c8924b9..4c79ec2e6 100644
+--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
++++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/reserve.cc
+@@ -46,7 +46,11 @@ void test01()
+
+ // As long as we insert less than the reserved number of elements we
+ // shouldn't experiment any rehash.
++
++ // Fixed upstream in GCC 9
++#if __LIBSTDCXX_SO_VERSION >= 9
+ VERIFY( m.bucket_count() == bkts );
++#endif
+
+ VERIFY( m.load_factor() <= m.max_load_factor() );
+ }
+--
+2.31.1
+
diff --git a/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch b/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch
new file mode 100644
index 0000000000000000000000000000000000000000..213a6f56bf951215bf744abcaeb1db9a29f89908
--- /dev/null
+++ b/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch
@@ -0,0 +1,102 @@
+From db8f53df0be1daeda3159c1413549ff40696c710 Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Thu, 2 Sep 2021 17:02:33 -0400
+Subject: [PATCH 16/17] Conditionalize test for hashtable bucket sizes on
+ __LIBSTDCXX_SO_VERSION >= 11
+
+These tests were added upstream 2020-01-20 as part of:
+ libstdc++: Do not over-size hashtable buckets on range insertion
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6dcf042368012e2d7ce1626ee5d378bf3ad0ccfc
+
+but fail when run in DTS against a system libstdc++.so from an older GCC.
+
+In particular, _M_insert_unique_node from the header is using the older
+implementation of
+ std::__detail::_Prime_rehash_policy::_M_need_rehash
+from the dynamic library.
+
+ 23: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const@GLIBCXX_3.4.18 (5)
+ 412: 0000000000000000 0 FUNC GLOBAL DEFAULT UNDEF std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const@@GLIBCXX_3.4.18
+---
+ .../23_containers/unordered_set/cons/bucket_hint.cc | 10 ++++++++++
+ .../23_containers/unordered_set/modifiers/insert.cc | 9 +++++++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc
+index a3b014a3a..af231e54e 100644
+--- a/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc
++++ b/libstdc++-v3/testsuite/23_containers/unordered_set/cons/bucket_hint.cc
+@@ -29,7 +29,11 @@ void test01()
+ a.reserve(2);
+
+ std::unordered_set b({ 0, 1, 0, 1, 0, 1, 0, 1 }, a.bucket_count());
++
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( b.bucket_count() == a.bucket_count() );
++#endif
+ }
+
+ void test02()
+@@ -40,7 +44,10 @@ void test02()
+ std::vector v { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 };
+
+ std::unordered_set b(v.begin(), v.end(), a.bucket_count());
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( b.bucket_count() == a.bucket_count() );
++#endif
+ }
+
+ void test03()
+@@ -51,7 +58,10 @@ void test03()
+ std::forward_list fl { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 };
+
+ std::unordered_set b(fl.begin(), fl.end(), a.bucket_count());
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( b.bucket_count() == a.bucket_count() );
++#endif
+ }
+
+ int main()
+diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc
+index 015c2f872..aae8298ae 100644
+--- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc
++++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/insert.cc
+@@ -30,7 +30,10 @@ void test01()
+
+ auto bkt_count = a.bucket_count();
+ a.insert({ 0, 1, 0, 1, 0, 1, 0, 1 });
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( a.bucket_count() == bkt_count );
++#endif
+ }
+
+ void test02()
+@@ -42,7 +45,10 @@ void test02()
+
+ auto bkt_count = a.bucket_count();
+ a.insert(v.begin(), v.end());
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( a.bucket_count() == bkt_count );
++#endif
+ }
+
+ void test03()
+@@ -54,7 +60,10 @@ void test03()
+
+ auto bkt_count = a.bucket_count();
+ a.insert(fl.begin(), fl.end());
++ // Fixed upstream in GCC 11
++#if __LIBSTDCXX_SO_VERSION >= 11
+ VERIFY( a.bucket_count() == bkt_count );
++#endif
+ }
+
+ int main()
+--
+2.31.1
+
diff --git a/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch b/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d18de1df5a7b4794d6b68e1a2cce7570a2d599bf
--- /dev/null
+++ b/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch
@@ -0,0 +1,33 @@
+From 102adc148612b50a4e3f12a88871ddc47bfb469e Mon Sep 17 00:00:00 2001
+From: David Malcolm
+Date: Thu, 2 Sep 2021 17:17:50 -0400
+Subject: [PATCH 17/17] Conditionalize test for PR libstdc++/71181 on
+ __LIBSTDCXX_SO_VERSION >= 7
+
+This test was added upstream 2016-06-20 as part of:
+ re PR libstdc++/71181 (Reserving in unordered_map doesn't reserve enough)
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=29dbb034cb3199167a9d0aaed040733c72326eed
+
+but fails when run in DTS against a system libstdc++.so from an older GCC.
+---
+ .../testsuite/23_containers/unordered_set/hash_policy/71181.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc
+index 324d735b8..b2dcd0137 100644
+--- a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc
++++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc
+@@ -39,7 +39,10 @@ template
+
+ us.insert(nb_insert);
+
++ // Fixed upstream in GCC 7
++#if __LIBSTDCXX_SO_VERSION >= 7
+ VERIFY( us.bucket_count() == bkts );
++#endif
+ }
+ }
+
+--
+2.31.1
+
diff --git a/0018-Use-CXX11-ABI.patch b/0018-Use-CXX11-ABI.patch
new file mode 100644
index 0000000000000000000000000000000000000000..88449dde2aff29c2b261e6994e913c239a44c215
--- /dev/null
+++ b/0018-Use-CXX11-ABI.patch
@@ -0,0 +1,13 @@
+diff --git a/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C b/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
+index 47f97dcb636..66f07aaa749 100644
+--- a/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
++++ b/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
+@@ -4,6 +4,8 @@
+ { dg-do compile { target c++11 } }
+ { dg-options "-O2 -Wall" } */
+
++#define _GLIBCXX_USE_CXX11_ABI 1
++
+ #include
+ #include
+
diff --git a/0020-more-fixes.patch b/0020-more-fixes.patch
new file mode 100644
index 0000000000000000000000000000000000000000..2dd02c747f9c598b4538301bcd3dbc00a23259e5
--- /dev/null
+++ b/0020-more-fixes.patch
@@ -0,0 +1,12 @@
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
+index b64e71dae22..5bf47b20820 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
+@@ -12,7 +12,6 @@
+ 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*-*-* } } } } */
+
+ enum STATE {
+ S0=0,
diff --git a/0021-libstdc++-disable-tests.patch b/0021-libstdc++-disable-tests.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3416e48c37fc21b421e7c2cfd63725607f4cc4c8
--- /dev/null
+++ b/0021-libstdc++-disable-tests.patch
@@ -0,0 +1,424 @@
+See https://bugzilla.redhat.com/show_bug.cgi?id=2095749#c3
+
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
+index 071597b4dd3..22cfdc7415b 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/2.cc
+@@ -99,5 +99,7 @@ void test02()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test02();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc
+index ec0f943dd73..6c7c0c60ed0 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/3.cc
+@@ -351,6 +351,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc
+index d0619f9de1f..499871bf5b4 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/4.cc
+@@ -238,6 +238,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc
+index 9171b7d5a17..9c6d1794991 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71367.cc
+@@ -62,6 +62,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc
+index 9d004b05e87..9eeff07aaf3 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/char/71557.cc
+@@ -91,6 +91,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc
+index 45d4edeca00..6e2efad56d4 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/3.cc
+@@ -351,6 +351,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc
+index 0518842692f..485c1b41d1b 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/4.cc
+@@ -238,6 +238,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc
+index 456472601be..180255e948e 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71367.cc
+@@ -62,6 +62,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc
+index 7c5a829fa60..38673aac17b 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/71557.cc
+@@ -91,6 +91,8 @@ test01()
+ int
+ main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc
+index e50afa6aa73..2f326f85afe 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/6.cc
+@@ -74,6 +74,8 @@ void test01()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc
+index f6e32b7f781..54a921e243b 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/6.cc
+@@ -74,6 +74,8 @@ void test01()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc
+index fe6980dff29..0a033b81138 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/char/lwg415.cc
+@@ -71,7 +71,9 @@ test03()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
+ test03();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc
+index fd040098b40..3adabc60221 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/lwg415.cc
+@@ -71,7 +71,9 @@ test03()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
+ test03();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
+index e39f5928a1f..22421b158cb 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
+@@ -15,6 +15,7 @@
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ #if __cpp_lib_ios_noreplace
+ std::ios::openmode noreplace = std::ios::noreplace;
+ #else
+@@ -26,4 +27,5 @@ int main()
+ of.close();
+ of.open("noreplace", noreplace);
+ VERIFY( ! of.is_open() );
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
+index 77f11865ac4..07748578417 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
+@@ -15,6 +15,7 @@
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ #if __cpp_lib_ios_noreplace
+ std::wios::openmode noreplace = std::wios::noreplace;
+ #else
+@@ -26,4 +27,5 @@ int main()
+ of.close();
+ of.open("noreplace", noreplace);
+ VERIFY( ! of.is_open() );
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc
+index 12da0b1f011..689ee0ee85b 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/n3168.cc
+@@ -98,6 +98,8 @@ test02()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc
+index 652f46f615c..abe55ca1285 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/n3168.cc
+@@ -96,6 +96,8 @@ test02()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc
+index 8c2fe85db36..92fb45495c1 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/n3168.cc
+@@ -59,6 +59,8 @@ test02()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc
+index 887a9a773d1..efb0c2e878a 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/n3168.cc
+@@ -59,6 +59,8 @@ test02()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
+index 39ff1761c55..9583c630fa8 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
+@@ -91,6 +91,8 @@ static bool ampm_time_format()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test02();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
+index 228d61f1e41..a1c3265155f 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
+@@ -91,6 +91,8 @@ static bool ampm_time_format()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test02();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
+index adbf7e7e733..4d6b4e2ec96 100644
+--- a/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
++++ b/libstdc++-v3/testsuite/22_locale/time_get/get/wchar_t/2.cc
+@@ -99,5 +99,7 @@ void test02()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test02();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
+index de7a371c1c4..d5fc73d1a36 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
+@@ -59,7 +59,9 @@ void test02()
+
+ VERIFY( os.good() );
+ VERIFY( buf.sync_called() );
++#if __LIBSTDCXX_SO_VERSION >= 8
+ VERIFY( buf_tie.sync_called() );
++#endif
+ }
+
+ void
+@@ -80,7 +82,9 @@ test03()
+
+ VERIFY( os.rdstate() & std::ios_base::eofbit );
+ VERIFY( !buf.sync_called() );
++#if __LIBSTDCXX_SO_VERSION >= 8
+ VERIFY( !buf_tie.sync_called() );
++#endif
+ }
+
+ int main()
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
+index b330be46afa..40b9dfdb61b 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
+@@ -57,7 +57,9 @@ void test02()
+
+ VERIFY( os.good() );
+ VERIFY( buf.sync_called() );
++#if __LIBSTDCXX_SO_VERSION >= 8
+ VERIFY( buf_tie.sync_called() );
++#endif
+ }
+
+ void
+@@ -78,7 +80,9 @@ test03()
+
+ VERIFY( os.rdstate() & std::ios_base::eofbit );
+ VERIFY( !buf.sync_called() );
++#if __LIBSTDCXX_SO_VERSION >= 8
+ VERIFY( !buf_tie.sync_called() );
++#endif
+ }
+
+ int main()
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
+index 138648f5264..70f651818ba 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
+@@ -73,7 +73,9 @@ void test02()
+ // libstdc++/9546
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
+index 731df74de9f..b6d31711910 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
+@@ -73,7 +73,9 @@ void test02()
+ // libstdc++/9546
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
+ test02();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
+index 2eccfdceb94..98d57ff4259 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
+@@ -47,6 +47,8 @@ void test01()
+ // libstdc++/9546
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
+index 92161b22632..9d75c2c69fb 100644
+--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
++++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
+@@ -47,6 +47,8 @@ void test01()
+ // libstdc++/9546
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ return 0;
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
+index d4cd0dc3040..a60acf00b04 100644
+--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
++++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/char/2.cc
+@@ -44,5 +44,7 @@ void test01()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ }
+diff --git a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
+index c639ce54906..5c749922016 100644
+--- a/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
++++ b/libstdc++-v3/testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc
+@@ -45,5 +45,7 @@ void test01()
+
+ int main()
+ {
++#if __LIBSTDCXX_SO_VERSION >= 8
+ test01();
++#endif
+ }
diff --git a/gcc-14.2.1-20240801.tar.xz b/gcc-14.2.1-20240801.tar.xz
new file mode 100644
index 0000000000000000000000000000000000000000..f5cf0037969e7db97e7b10cb131d9eb94a26b060
Binary files /dev/null and b/gcc-14.2.1-20240801.tar.xz differ
diff --git a/gcc.spec b/gcc.spec
new file mode 100644
index 0000000000000000000000000000000000000000..87eefcfbb3b60dd686e7ce3785917c9c4787dd71
--- /dev/null
+++ b/gcc.spec
@@ -0,0 +1,2688 @@
+%define anolis_release 1
+
+%{?scl_package:%global scl gcc-toolset-14}
+%global scl_prefix gcc-toolset-14-
+BuildRequires: scl-utils-build
+%global __python /usr/bin/python3
+%{?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 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 nvptx_tools_gitrev 87ce9dc5999e5fca2e1d3478a30888d9864c9804
+%global newlib_cygwin_gitrev d45261f62a15f8abd94a1031020b9a9f455e4eed
+%global isl_version 0.24
+%global mpc_version 1.0.3
+%global mpfr_version 3.1.4
+%global gmp_version 6.1.0
+%global doxygen_version 1.8.0
+%global _unpackaged_files_terminate_build 0
+# Until annobin is fixed (#1519165).
+%undefine _annotated_build
+# Strip will fail on nvptx-none *.a archives and the brp-* scripts will
+# fail randomly depending on what is stripped last.
+%if 0%{?__brp_strip_static_archive:1}
+%global __brp_strip_static_archive %{__brp_strip_static_archive} || :
+%endif
+%if 0%{?__brp_strip_lto:1}
+%global __brp_strip_lto %{__brp_strip_lto} || :
+%endif
+%global multilib_64_archs sparc64 ppc64 ppc64p7 x86_64
+%global build_ada 0
+%global build_objc 0
+%global build_go 0
+%global build_d 0
+%global build_m2 0
+# Only so that rpmbuild doesn't complain on Fedora.
+%global build_libquadmath 0
+%global build_libitm 0
+%ifarch %{ix86} x86_64 ia64 ppc64le
+%global build_libquadmath 1
+%else
+%global build_libquadmath 0
+%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64
+%global build_libasan 1
+%else
+%global build_libasan 0
+%endif
+%ifarch x86_64 aarch64
+%global build_libhwasan 1
+%else
+%global build_libhwasan 0
+%endif
+%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64
+%global build_libtsan 1
+%else
+%global build_libtsan 0
+%endif
+%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64
+%global build_liblsan 1
+%else
+%global build_liblsan 0
+%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64
+%global build_libubsan 1
+%else
+%global build_libubsan 0
+%endif
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64
+%global build_libatomic 1
+%else
+%global build_libatomic 0
+%endif
+%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64 riscv64
+%global build_libitm 1
+%else
+%global build_libitm 0
+%endif
+%global build_isl 0
+%global build_libstdcxx_docs 1
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64
+%global attr_ifunc 1
+%else
+%global attr_ifunc 0
+%endif
+%ifarch x86_64 ppc64le
+%global build_offload_nvptx 1
+%else
+%global build_offload_nvptx 0
+%endif
+%ifarch x86_64
+%global build_offload_amdgcn 0
+%else
+%global build_offload_amdgcn 0
+%endif
+%ifarch sparc64
+%global multilib_32_arch sparcv9
+%endif
+%ifarch ppc64 ppc64p7
+%global multilib_32_arch ppc
+%endif
+%ifarch x86_64
+%global multilib_32_arch i686
+%endif
+%global build_annobin_plugin 1
+Summary: GCC version %{gcc_major}
+Name: %{?scl_prefix}gcc
+Version: %{gcc_version}
+Release: %{anolis_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
+# libcody: Apache-2.0
+# libphobos/src/etc/c/curl.d: curl
+# All of the remaining license soup is in newlib.
+License: GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
+ExcludeArch: loongarch64
+
+# The source for this package was pulled from upstream's vcs.
+# %%{gitrev} is some commit from the
+# https://gcc.gnu.org/git/?p=gcc.git;h=refs/vendors/redhat/heads/gcc-%%{gcc_major}-branch
+# branch. Use the following command to generate the tarball:
+# ./update-gcc.sh %%{gitrev}
+# optionally if say /usr/src/gcc/.git/ is an existing gcc git clone
+# ./update-gcc.sh %%{gitrev} /usr/src/gcc/.git/
+# to speed up the clone operations. Note, %%{gitrev} macro in
+# gcc.spec shouldn't be updated before running the script, the script
+# will update it, fill in some %%changelog details etc.
+Source0: gcc-%{version}-%{DATE}.tar.xz
+Source1: https://gcc.gnu.org/pub/gcc/infrastructure/isl-%{isl_version}.tar.bz2
+#Source2: http://www.multiprecision.org/mpc/download/mpc-%%{mpc_version}.tar.gz
+#Source3: ftp://ftp.stack.nl/pub/users/dimitri/doxygen-%%{doxygen_version}.src.tar.gz
+# The source for nvptx-tools package was pulled from upstream's vcs. Use the
+# following commands to generate the tarball:
+# git clone --depth 1 https://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
+# git --git-dir=nvptx-tools-dir.tmp/.git fetch --depth 1 origin %%{nvptx_tools_gitrev}
+# git --git-dir=nvptx-tools-dir.tmp/.git archive --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ %%{nvptx_tools_gitrev} | xz -9e > nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
+# rm -rf nvptx-tools-dir.tmp
+Source4: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
+# The source for nvptx-newlib package was pulled from upstream's vcs. Use the
+# following commands to generate the tarball:
+# git clone git://sourceware.org/git/newlib-cygwin.git newlib-cygwin-dir.tmp
+# git --git-dir=newlib-cygwin-dir.tmp/.git archive --prefix=newlib-cygwin-%%{newlib_cygwin_gitrev}/ %%{newlib_cygwin_gitrev} ":(exclude)newlib/libc/sys/linux/include/rpc/*.[hx]" | xz -9e > newlib-cygwin-%%{newlib_cygwin_gitrev}.tar.xz
+# rm -rf newlib-cygwin-dir.tmp
+Source5: newlib-cygwin-%{newlib_cygwin_gitrev}.tar.xz
+#Source7: http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-%%{mpfr_version}.tar.bz2
+#Source8: http://gcc.gnu.org/pub/gcc/infrastructure/gmp-%%{gmp_version}.tar.bz2
+URL: http://gcc.gnu.org
+# Need binutils with -pie support >= 2.14.90.0.4-4
+# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
+# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
+# Need binutils which support .weakref >= 2.16.91.0.3-1
+# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
+# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
+# Need binutils which support --build-id >= 2.17.50.0.17-3
+# Need binutils which support %%gnu_unique_object >= 2.19.51.0.14
+# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
+# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
+# Need binutils which support -plugin
+# Need binutils which support .loc view >= 2.30
+# Need binutils which support --generate-missing-build-notes=yes >= 2.31
+BuildRequires: %{?scl_prefix}binutils >= 2.31
+# For VTA guality testing
+BuildRequires: gdb >= 7.4.50
+#BuildRequires: %{?scl_prefix}gdb >= 7.4.50
+# While gcc doesn't include statically linked binaries, during testing
+# -static is used several times.
+BuildRequires: glibc-static
+BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, sharutils
+BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man
+#BuildRequires: systemtap-sdt-devel >= 1.3
+#BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1
+#BuildRequires: python3-devel, /usr/bin/python
+BuildRequires: gcc, gcc-c++, make
+# Make sure pthread.h doesn't contain __thread tokens
+# Make sure glibc supports stack protector
+# Make sure glibc supports DT_GNU_HASH
+BuildRequires: glibc-devel >= 2.4.90-13
+BuildRequires: elfutils-devel >= 0.147
+BuildRequires: elfutils-libelf-devel >= 0.147
+BuildRequires: libzstd-devel
+%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
+# Make sure glibc supports TFmode long double
+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
+%endif
+%ifarch ia64
+BuildRequires: libunwind >= 0.98
+%endif
+# Need .eh_frame ld optimizations
+# Need proper visibility support
+# Need -pie support
+# Need --as-needed/--no-as-needed support
+# On ppc64, need omit dot symbols support and --non-overlapping-opd
+# Need binutils that owns /usr/bin/c++filt
+# Need binutils that support .weakref
+# Need binutils that supports --hash-style=gnu
+# Need binutils that support mffgpr/mftgpr
+# Need binutils that support --build-id
+# Need binutils that support %%gnu_unique_object
+# Need binutils that support .cfi_sections
+# Need binutils that support --no-add-needed
+# Need binutils that support -plugin
+# Need binutils that support .loc view >= 2.30
+# Need binutils which support --generate-missing-build-notes=yes >= 2.31
+Requires: %{?scl_prefix}binutils >= 2.22.52.0.1
+# Make sure gdb will understand DW_FORM_strp
+Conflicts: gdb < 5.1-2
+Requires: glibc-devel >= 2.2.90-12
+%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha
+# Make sure glibc supports TFmode long double
+Requires: glibc >= 2.3.90-35
+%endif
+BuildRequires: gmp-devel >= 4.3.2
+BuildRequires: mpfr-devel >= 3.1.0
+BuildRequires: libmpc-devel >= 0.8.1
+%if %{build_libstdcxx_docs}
+BuildRequires: libxml2
+BuildRequires: graphviz
+BuildRequires: doxygen >= 1.7.1
+BuildRequires: dblatex, texlive-collection-latex, docbook-style-xsl
+%endif
+
+Requires: libgcc >= 4.1.2-43
+Requires: libgomp >= 4.4.4-13
+# lto-wrapper invokes make
+Requires: make
+%{?scl:Requires:%scl_runtime}
+AutoReq: true
+# Various libraries are imported. #1859893 asks us to list them all.
+Provides: bundled(libiberty)
+Provides: bundled(libbacktrace)
+Provides: bundled(libffi)
+Provides: gcc(major) = %{gcc_major}
+%ifarch sparc64 ppc64 ppc64le s390x x86_64 ia64 aarch64
+Provides: liblto_plugin.so.0()(64bit)
+%else
+Provides: liblto_plugin.so.0
+%endif
+%global oformat %{nil}
+%global oformat2 %{nil}
+%ifarch %{ix86}
+%global oformat OUTPUT_FORMAT(elf32-i386)
+%endif
+%ifarch x86_64
+%global oformat OUTPUT_FORMAT(elf64-x86-64)
+%global oformat2 OUTPUT_FORMAT(elf32-i386)
+%endif
+%ifarch ppc
+%global oformat OUTPUT_FORMAT(elf32-powerpc)
+%global oformat2 OUTPUT_FORMAT(elf64-powerpc)
+%endif
+%ifarch ppc64
+%global oformat OUTPUT_FORMAT(elf64-powerpc)
+%global oformat2 OUTPUT_FORMAT(elf32-powerpc)
+%endif
+%ifarch s390
+%global oformat OUTPUT_FORMAT(elf32-s390)
+%endif
+%ifarch s390x
+%global oformat OUTPUT_FORMAT(elf64-s390)
+%global oformat2 OUTPUT_FORMAT(elf32-s390)
+%endif
+%ifarch ia64
+%global oformat OUTPUT_FORMAT(elf64-ia64-little)
+%endif
+%ifarch ppc64le
+%global oformat OUTPUT_FORMAT(elf64-powerpcle)
+%endif
+%ifarch aarch64
+%global oformat OUTPUT_FORMAT(elf64-littleaarch64)
+%endif
+
+Patch0: gcc14-hack.patch
+Patch2: gcc14-sparc-config-detection.patch
+Patch3: gcc14-libgomp-omp_h-multilib.patch
+Patch4: gcc14-libtool-no-rpath.patch
+Patch5: gcc14-isl-dl.patch
+Patch6: gcc14-isl-dl2.patch
+Patch7: gcc14-libstdc++-docs.patch
+Patch8: gcc14-no-add-needed.patch
+Patch9: gcc14-Wno-format-security.patch
+Patch10: gcc14-rh1574936.patch
+Patch11: gcc14-d-shared-libphobos.patch
+Patch12: gcc14-pr101523.patch
+
+Patch50: isl-rh2155127.patch
+
+Patch100: gcc14-fortran-fdec-duplicates.patch
+
+Patch1000: gcc14-libstdc++-compat.patch
+Patch1001: gcc14-libgfortran-compat.patch
+
+
+Patch3000: 0001-basic_string-reserve-n-semantics-are-not-available-i.patch
+Patch3001: 0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch
+Patch3002: 0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch
+Patch3003: 0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch
+Patch3004: 0008-testsuite-build-plugins-with-std-c-11.patch
+Patch3006: 0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch
+Patch3007: 0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch
+Patch3008: 0012-dts.exp-use-usr-bin-gcc.patch
+Patch3009: 0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch
+Patch3010: 0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch
+Patch3011: 0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch
+Patch3012: 0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch
+Patch3013: 0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch
+Patch3014: gcc14-dg-ice-fixes.patch
+Patch3015: 0018-Use-CXX11-ABI.patch
+Patch3017: 0020-more-fixes.patch
+Patch3018: 0021-libstdc++-disable-tests.patch
+
+%global nonsharedver 110
+%if 0%{?scl:1}
+%global _gnu %{nil}
+%else
+%global _gnu -gnueabi
+%endif
+%ifarch sparcv9
+%global gcc_target_platform sparc64-%{_vendor}-%{_target_os}
+%endif
+%ifarch ppc ppc64p7
+%global gcc_target_platform ppc64-%{_vendor}-%{_target_os}
+%endif
+%ifnarch sparcv9 ppc ppc64p7
+%global gcc_target_platform %{_target_platform}
+%endif
+
+%description
+The %{?scl_prefix}gcc package contains the GNU Compiler Collection
+version %{gcc_major}.
+
+%package -n libgcc
+Summary: GCC version %{gcc_major} shared support library
+Autoreq: false
+
+%description -n libgcc
+This package contains GCC shared support library which is needed
+e.g. for exception handling support.
+
+%package c++
+Summary: C++ support for GCC version %{gcc_major}
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+Requires: libstdc++
+Requires: %{?scl_prefix}libstdc++-devel = %{version}-%{release}
+Autoreq: true
+
+%description c++
+This package adds C++ support to the GNU Compiler Collection
+version %{gcc_major}. It includes support for most of the current C++
+specification and a lot of support for the upcoming C++ specification.
+
+%package -n libstdc++
+Summary: GNU Standard C++ Library
+Autoreq: true
+Requires: glibc >= 2.10.90-7
+
+%description -n libstdc++
+The libstdc++ package contains a rewritten standard compliant GCC Standard
+C++ Library.
+
+%package -n %{?scl_prefix}libstdc++-devel
+Summary: Header files and libraries for C++ development
+Requires: libstdc++%{?_isa}
+Autoreq: true
+
+%description -n %{?scl_prefix}libstdc++-devel
+This is the GNU implementation of the standard C++ libraries. This
+package includes the header files and libraries needed for C++
+development. This includes rewritten implementation of STL.
+
+%package -n %{?scl_prefix}libstdc++-docs
+Summary: Documentation for the GNU standard C++ library
+Autoreq: true
+
+%description -n %{?scl_prefix}libstdc++-docs
+Manual, doxygen generated API information and Frequently Asked Questions
+for the GNU standard C++ library.
+
+%package gfortran
+Summary: Fortran support for GCC %{gcc_major}
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+Requires: libgfortran >= 8.1.1
+Autoreq: true
+
+%if %{build_libquadmath}
+%if 0%{!?scl:1}
+Requires: libquadmath
+%endif
+Requires: %{?scl_prefix}libquadmath-devel = %{version}-%{release}
+%endif
+Autoreq: true
+
+%description gfortran
+The %{?scl_prefix}gcc-gfortran package provides support for compiling Fortran
+programs with the GNU Compiler Collection.
+
+
+%package gdb-plugin
+Summary: GCC %{gcc_major} plugin for GDB
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+
+%description gdb-plugin
+This package contains GCC %{gcc_major} plugin for GDB C expression evaluation.
+
+%package -n %{?scl_prefix}libgccjit
+Summary: Library for embedding GCC inside programs and libraries
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+
+%description -n %{?scl_prefix}libgccjit
+This package contains shared library with GCC %{gcc_major} JIT front-end.
+
+%package -n %{?scl_prefix}libgccjit-devel
+Summary: Support for embedding GCC inside programs and libraries
+Group: Development/Libraries
+Requires: %{?scl_prefix}libgccjit = %{version}-%{release}
+# We don't build it anymore. See #2213635/#2213634.
+#Requires: %%{?scl_prefix}libgccjit-docs = %%{version}-%%{release}
+
+%description -n %{?scl_prefix}libgccjit-devel
+This package contains header files for GCC %{gcc_major} JIT front end.
+
+%package -n %{?scl_prefix}libgccjit-docs
+Summary: Documentation for embedding GCC inside programs and libraries
+Group: Development/Libraries
+BuildRequires: python3-sphinx
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n %{?scl_prefix}libgccjit-docs
+This package contains documentation for GCC %{gcc_major} JIT front-end.
+
+%package -n libquadmath
+Summary: GCC %{gcc_major} __float128 shared support library
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n libquadmath
+This package contains GCC shared support library which is needed
+for __float128 math support and for Fortran REAL*16 support.
+
+%package -n %{?scl_prefix}libquadmath-devel
+Summary: GCC %{gcc_major} __float128 support
+Group: Development/Libraries
+%if 0%{!?scl:1}
+Requires: %{?scl_prefix}libquadmath%{_isa} = %{version}-%{release}
+%else
+Requires: libquadmath%{_isa}
+%endif
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+
+%description -n %{?scl_prefix}libquadmath-devel
+This package contains headers for building Fortran programs using
+REAL*16 and programs using __float128 math.
+
+%package -n libitm
+Summary: The GNU Transactional Memory library
+Group: System Environment/Libraries
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n libitm
+This package contains the GNU Transactional Memory library
+which is a GCC transactional memory support runtime library.
+
+%package -n %{?scl_prefix}libitm-devel
+Summary: The GNU Transactional Memory support
+Requires: libitm%{_isa} >= 4.7.0-1
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+
+%description -n %{?scl_prefix}libitm-devel
+This package contains headers and support files for the
+GNU Transactional Memory library.
+
+%package plugin-devel
+Summary: Support for compiling GCC plugins
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+Requires: gmp-devel >= 4.3.2
+Requires: mpfr-devel >= 3.1.0
+Requires: libmpc-devel >= 0.8.1
+
+%description plugin-devel
+This package contains header files and other support files
+for compiling GCC %{gcc_major} plugins. The GCC plugin ABI is currently
+not stable, so plugins must be rebuilt any time GCC is updated.
+
+%package -n libatomic
+Summary: The GNU Atomic library
+Group: System Environment/Libraries
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n libatomic
+This package contains the GNU Atomic library
+which is a GCC support runtime library for atomic operations not supported
+by hardware.
+
+%package -n %{?scl_prefix}libatomic-devel
+Summary: The GNU Atomic static library
+Requires: libatomic%{_isa} >= 4.8.0
+
+%description -n %{?scl_prefix}libatomic-devel
+This package contains GNU Atomic static libraries.
+
+%package -n libasan8
+Summary: The Address Sanitizer runtime library from GCC %{gcc_major}
+
+%description -n libasan8
+This package contains the Address Sanitizer library from GCC %{gcc_major}
+which is used for -fsanitize=address instrumented programs.
+
+%package -n %{?scl_prefix}libasan-devel
+Summary: The Address Sanitizer static library
+Requires: libasan8%{_isa} >= 12.1.1
+Obsoletes: libasan5 <= 8.3.1
+
+%description -n %{?scl_prefix}libasan-devel
+This package contains Address Sanitizer static runtime library.
+
+%package -n libhwasan
+Summary: The Hardware-assisted Address Sanitizer runtime library
+
+%description -n libhwasan
+This package contains the Hardware-assisted Address Sanitizer library
+which is used for -fsanitize=hwaddress instrumented programs.
+
+%package -n %{?scl_prefix}libhwasan-devel
+Summary: The Hardware-assisted Address Sanitizer static library
+Requires: libhwasan >= 13.1.1
+
+%description -n %{?scl_prefix}libhwasan-devel
+This package contains Hardware-assisted Address Sanitizer static runtime
+library.
+
+%package -n libtsan2
+Summary: The Thread Sanitizer runtime library
+
+%description -n libtsan2
+This package contains the Thread Sanitizer library
+which is used for -fsanitize=thread instrumented programs.
+
+%package -n %{?scl_prefix}libtsan-devel
+Summary: The Thread Sanitizer static library
+Requires: libtsan2%{_isa} >= 12.1.1
+
+%description -n %{?scl_prefix}libtsan-devel
+This package contains Thread Sanitizer static runtime library.
+
+%package -n libubsan1
+Summary: The Undefined Behavior Sanitizer runtime library
+
+%description -n libubsan1
+This package contains the Undefined Behavior Sanitizer library
+which is used for -fsanitize=undefined instrumented programs.
+
+%package -n %{?scl_prefix}libubsan-devel
+Summary: The Undefined Behavior Sanitizer static library
+Requires: libubsan%{_isa} >= 8.3.1
+Obsoletes: libubsan1 <= 8.3.1
+
+%description -n %{?scl_prefix}libubsan-devel
+This package contains Undefined Behavior Sanitizer static runtime library.
+
+%package -n liblsan
+Summary: The Leak Sanitizer runtime library
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n liblsan
+This package contains the Leak Sanitizer library
+which is used for -fsanitize=leak instrumented programs.
+
+%package -n %{?scl_prefix}liblsan-devel
+Summary: The Leak Sanitizer static library
+Requires: liblsan%{_isa} >= 5.1.1
+
+%description -n %{?scl_prefix}liblsan-devel
+This package contains Leak Sanitizer static runtime library.
+
+%package -n %{?scl_prefix}offload-nvptx
+Summary: Offloading compiler to NVPTX
+Requires: gcc >= 8.3.1
+Requires: libgomp-offload-nvptx >= 8.3.1
+
+%description -n %{?scl_prefix}offload-nvptx
+The gcc-offload-nvptx package provides offloading support for
+NVidia PTX. OpenMP and OpenACC programs linked with -fopenmp will
+by default add PTX code into the binaries, which can be offloaded
+to NVidia PTX capable devices if available.
+
+%if %{build_annobin_plugin}
+%package -n %{?scl_prefix}gcc-plugin-annobin
+Summary: The annobin plugin for gcc, built by the installed version of gcc
+Requires: %{?scl_prefix}gcc = %{version}-%{release}
+BuildRequires: rpm-devel, binutils-devel, xz
+
+%description -n %{?scl_prefix}gcc-plugin-annobin
+This package adds a version of the annobin plugin for gcc. This version
+of the plugin is explicitly built by the same version of gcc that is installed
+so that there cannot be any synchronization problems.
+%endif
+
+%prep
+%setup -q -n gcc-%{version}-%{DATE} -a 1 -a 4 -a 5
+%patch -P0 -p0 -b .hack~
+%patch -P2 -p0 -b .sparc-config-detection~
+%patch -P3 -p0 -b .libgomp-omp_h-multilib~
+%patch -P4 -p0 -b .libtool-no-rpath~
+%if %{build_isl}
+%patch -P5 -p0 -b .isl-dl~
+%patch -P6 -p0 -b .isl-dl2~
+%endif
+%if %{build_libstdcxx_docs}
+%patch -P7 -p0 -b .libstdc++-docs~
+%endif
+%patch -P8 -p0 -b .no-add-needed~
+%patch -P9 -p0 -b .Wno-format-security~
+%patch -P10 -p0 -b .rh1574936~
+%patch -P11 -p0 -b .d-shared-libphobos~
+%patch -P12 -p1 -b .pr101523~
+
+%patch -P100 -p1 -b .fortran-fdec-duplicates~
+
+%ifarch %{arm}
+rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go
+%endif
+#rm -f libphobos/testsuite/libphobos.gc/forkgc2.d
+#rm -rf libphobos/testsuite/libphobos.gc
+
+%patch -P1000 -p0 -b .libstdc++-compat~
+%patch -P1001 -p0 -b .libgfortran-compat~
+
+%if %{build_isl}
+%patch -P50 -p0 -b .isl-rh2155127~
+touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m4
+%endif
+
+# Apply DTS-specific testsuite patches.
+%patch -P3000 -p1 -b .dts-test-0~
+%patch -P3001 -p1 -b .dts-test-1~
+%patch -P3002 -p1 -b .dts-test-2~
+%patch -P3003 -p1 -b .dts-test-3~
+%patch -P3004 -p1 -b .dts-test-4~
+%patch -P3006 -p1 -b .dts-test-6~
+%patch -P3007 -p1 -b .dts-test-7~
+%patch -P3008 -p1 -b .dts-test-8~
+%patch -P3009 -p1 -b .dts-test-9~
+%patch -P3010 -p1 -b .dts-test-10~
+%patch -P3011 -p1 -b .dts-test-11~
+%patch -P3012 -p1 -b .dts-test-12~
+%patch -P3013 -p1 -b .dts-test-13~
+%patch -P3014 -p1 -b .dts-test-14~
+%patch -P3015 -p1 -b .dts-test-15~
+%patch -P3017 -p1 -b .dts-test-17~
+%patch -P3018 -p1 -b .dts-test-18~
+
+find gcc/testsuite -name \*.pr96939~ | xargs rm -f
+
+echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
+
+cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
+cp -a libstdc++-v3/config/cpu/i{4,3}86/opt
+echo 'TM_H += $(srcdir)/config/rs6000/rs6000-modes.h' >> gcc/config/rs6000/t-rs6000
+
+./contrib/gcc_update --touch
+
+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
+
+%ifarch ppc
+if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
+ mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
+ mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
+ mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
+ rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
+fi
+%endif
+%ifarch sparc
+if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
+ mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
+ mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
+ mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
+ rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
+fi
+%endif
+
+# This test causes fork failures, because it spawns way too many threads
+rm -f gcc/testsuite/go.test/test/chan/goroutines.go
+
+# These tests get stuck and don't timeout.
+%ifarch ppc ppc64 ppc64le s390x
+rm -f libgomp/testsuite/libgomp.c/target-*.c
+rm -rf libgomp/testsuite/libgomp.oacc*
+rm -rf libgomp/testsuite/libgomp.graphite*
+# This uses a removed file (#2093997).
+rm -rf libgomp/testsuite/libgomp.fortran/pr90030.f90
+%endif
+# This test gets stuck.
+%ifarch %{ix86} ppc64 s390x
+rm -f libstdc++-v3/testsuite/30_threads/future/members/poll.cc
+%endif
+
+%build
+
+# Undo the broken autoconf change in recent Fedora versions
+export CONFIG_SITE=NONE
+
+CC=gcc
+CXX=g++
+OPT_FLAGS="%{optflags}"
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=[123]//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[123]//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-U_FORTIFY_SOURCE//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fno-omit-frame-pointer//g;s/-mbackchain//g;s/-mno-omit-leaf-frame-pointer//g'`
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'`
+%ifarch sparc
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
+%endif
+%ifarch %{ix86}
+OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
+%endif
+OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
+case "$OPT_FLAGS" in
+ *-fasynchronous-unwind-tables*)
+ sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' \
+ libgcc/Makefile.in
+ ;;
+esac
+
+%if %{build_offload_nvptx}
+mkdir obji
+IROOT=`pwd`/obji
+cd nvptx-tools-%{nvptx_tools_gitrev}
+rm -rf obj-%{gcc_target_platform}
+mkdir obj-%{gcc_target_platform}
+cd obj-%{gcc_target_platform}
+CC="$CC" CXX="$CXX" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" \
+../configure --prefix=%{_prefix}
+make %{?_smp_mflags}
+make install prefix=${IROOT}%{_prefix}
+cd ../..
+
+ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
+rm -rf obj-offload-nvptx-none
+mkdir obj-offload-nvptx-none
+
+cd obj-offload-nvptx-none
+CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
+ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
+ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
+ ../configure --disable-bootstrap --disable-sjlj-exceptions \
+ --enable-newlib-io-long-long --with-build-time-tools=${IROOT}%{_prefix}/nvptx-none/bin \
+ --target nvptx-none --enable-as-accelerator-for=%{gcc_target_platform} \
+ --enable-languages=c,c++,fortran,lto \
+ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+ --with-bugurl=http://bugzilla.redhat.com/bugzilla \
+ --enable-checking=release --with-system-zlib \
+ --with-gcc-major-version-only --without-isl
+make %{?_smp_mflags}
+cd ..
+rm -f newlib
+%endif
+
+rm -rf obj-%{gcc_target_platform}
+mkdir obj-%{gcc_target_platform}
+cd obj-%{gcc_target_platform}
+
+%if %{build_isl}
+mkdir isl-build isl-install
+%ifarch s390 s390x
+ISL_FLAG_PIC=-fPIC
+%else
+ISL_FLAG_PIC=-fpic
+%endif
+cd isl-build
+sed -i 's|libisl\([^-]\)|libgcc%{gcc_major}privateisl\1|g' \
+ ../../isl-%{isl_version}/Makefile.{am,in}
+../../isl-%{isl_version}/configure \
+ CC=/usr/bin/gcc CXX=/usr/bin/g++ \
+ CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC" --prefix=`cd ..; pwd`/isl-install
+# Make sure we build with -g (#2155127).
+sed -i -e 's/CFLAGS =.*/& -g/' Makefile
+make %{?_smp_mflags} CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC"
+make install
+cd ../isl-install/lib
+rm libgcc%{gcc_major}privateisl.so{,.23}
+mv libgcc%{gcc_major}privateisl.so.23.1.0 libisl.so.23
+ln -sf libisl.so.23 libisl.so
+cd ../..
+%endif
+
+# Disabled on Intel because of:
+# https://bugzilla.redhat.com/show_bug.cgi?id=2091571#c1
+%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
+
+# We're going to use the old long double format (double double) until RHEL10.
+# Only -static-lib{stdc++,gfortran}/libgcc would work with IEEE double.
+# Upstream also uses the old long double format, but Fedora uses the new
+# format. To make things clearer, --with-long-double-format=ibm is used
+# explicitly.
+CONFIGURE_OPTS="\
+ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+ --with-bugurl=http://bugzilla.redhat.com/bugzilla \
+ --enable-shared --enable-threads=posix --enable-checking=release \
+%ifarch ppc64le
+ --enable-targets=powerpcle-linux \
+%endif
+%ifarch ppc64le %{mips} s390x
+ --disable-multilib \
+%else
+ --enable-multilib \
+%endif
+ --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
+ --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \
+ --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=%{_root_datadir}/zoneinfo \
+%ifnarch %{mips}
+ --with-linker-hash-style=gnu \
+%endif
+ --enable-plugin --enable-initfini-array \
+%if %{build_isl}
+ --with-isl=`pwd`/isl-install \
+%else
+ --without-isl \
+%endif
+%if %{build_offload_nvptx}
+ --enable-offload-targets=nvptx-none \
+ --without-cuda-driver --enable-offload-defaulted \
+%endif
+%if %{attr_ifunc}
+ --enable-gnu-indirect-function \
+%endif
+%ifarch %{arm}
+ --disable-sjlj-exceptions \
+%endif
+%ifarch ppc ppc64 ppc64le ppc64p7
+ --enable-secureplt \
+%endif
+%ifarch sparc sparcv9 sparc64 ppc ppc64 ppc64le ppc64p7 s390 s390x alpha
+ --with-long-double-128 \
+%endif
+%ifarch ppc64le
+ --with-long-double-format=ibm \
+%endif
+%ifarch sparc
+ --disable-linux-futex \
+%endif
+%ifarch sparc64
+ --with-cpu=ultrasparc \
+%endif
+%ifarch sparc sparcv9
+ --host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
+%endif
+%ifarch ppc ppc64 ppc64p7
+ --with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \
+%endif
+%ifarch ppc64le
+ --with-cpu-32=power9 --with-tune-32=power9 --with-cpu-64=power9 --with-tune-64=power9 \
+%endif
+%ifarch ppc
+ --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
+%endif
+%ifarch %{ix86} x86_64
+ --enable-cet \
+ --with-tune=generic \
+%endif
+%ifarch %{ix86}
+ --with-arch=x86-64 \
+%endif
+%ifarch x86_64
+ --with-arch_64=x86-64-v2 \
+ --with-arch_32=x86-64 \
+%endif
+%ifarch s390 s390x
+ --with-arch=z14 --with-tune=z15 \
+%endif
+ --enable-decimal-float \
+%endif
+%ifarch armv7hl
+ --with-tune=generic-armv7-a --with-arch=armv7-a \
+ --with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux \
+%endif
+%ifarch mips mipsel
+ --with-arch=mips32r2 --with-fp-32=xx \
+%endif
+%ifarch mips64 mips64el
+ --with-arch=mips64r2 --with-abi=64 \
+%endif
+%ifarch riscv64
+ --with-arch=rv64gc --with-abi=lp64d --with-multilib-list=lp64d \
+%endif
+%ifnarch sparc sparcv9 ppc
+ --build=%{gcc_target_platform} \
+%endif
+%ifnarch %{arm}
+ --with-build-config=bootstrap-lto --enable-link-serialization=1 \
+%endif
+ "
+
+CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
+ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
+ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
+ ../configure --enable-bootstrap \
+ --enable-languages=c,c++,fortran,lto \
+ $CONFIGURE_OPTS
+
+%ifarch sparc sparcv9 sparc64
+make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now bootstrap
+%else
+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`"
+
+# Build libgccjit separately, so that normal compiler binaries aren't -fpic
+# unnecessarily.
+mkdir objlibgccjit
+cd objlibgccjit
+CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \
+ CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \
+ | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
+ ../../configure --disable-bootstrap --enable-host-shared \
+ --enable-languages=jit $CONFIGURE_OPTS
+make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc
+cp -a gcc/libgccjit.so* ../gcc/
+cd ../gcc/
+ln -sf xgcc %{gcc_target_platform}-gcc-%{gcc_major}
+cp -a Makefile{,.orig}
+sed -i -e '/^CHECK_TARGETS/s/$/ check-jit/' Makefile
+touch -r Makefile.orig Makefile
+rm Makefile.orig
+# No longer works. See #2213635/#2213634.
+#make jit.sphinx.html
+#make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html
+cd ..
+
+%if %{build_isl}
+cp -a isl-install/lib/libisl.so.23 gcc/
+%endif
+
+# Make generated man pages even if Pod::Man is not new enough
+perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
+for i in ../gcc/doc/*.texi; do
+ cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
+done
+make -C gcc generated-manpages
+for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
+
+# Make generated doxygen pages.
+%if %{build_libstdcxx_docs}
+cd %{gcc_target_platform}/libstdc++-v3
+make doc-html-doxygen
+make doc-man-doxygen
+cd ../..
+%endif
+
+# Copy various doc files here and there
+cd ..
+mkdir -p rpm.doc/gfortran rpm.doc/libquadmath rpm.doc/libitm
+mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/jit,libstdc++-v3,libgomp,libatomic,libsanitizer}
+
+for i in {gcc,gcc/cp,gcc/jit,libstdc++-v3,libgomp,libatomic,libsanitizer}/ChangeLog*; do
+ cp -p $i rpm.doc/changelogs/$i
+done
+
+(cd gcc/fortran; for i in ChangeLog*; do
+ cp -p $i ../../rpm.doc/gfortran/$i
+done)
+(cd libgfortran; for i in ChangeLog*; do
+ cp -p $i ../rpm.doc/gfortran/$i.libgfortran
+done)
+%if %{build_libquadmath}
+(cd libquadmath; for i in ChangeLog* COPYING.LIB; do
+ cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
+done)
+%endif
+%if %{build_libitm}
+(cd libitm; for i in ChangeLog*; do
+ cp -p $i ../rpm.doc/libitm/$i.libitm
+done)
+%endif
+
+rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
+find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
+
+%if %{build_annobin_plugin}
+mkdir annobin-plugin
+cd annobin-plugin
+tar xf %{_usrsrc}/annobin/latest-annobin.tar.xz
+cd annobin*
+touch aclocal.m4 configure Makefile.in */configure */config.h.in */Makefile.in
+ANNOBIN_FLAGS=../../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags
+ANNOBIN_CFLAGS1="%build_cflags -I %{_builddir}/gcc-%{version}-%{DATE}/gcc"
+ANNOBIN_CFLAGS1="$ANNOBIN_CFLAGS1 -I %{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/gcc"
+ANNOBIN_CFLAGS2="-I %{_builddir}/gcc-%{version}-%{DATE}/include -I %{_builddir}/gcc-%{version}-%{DATE}/libcpp/include"
+ANNOBIN_LDFLAGS="%build_ldflags -L%{_builddir}/gcc-%{version}-%{DATE}/obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs"
+CC="`$ANNOBIN_FLAGS --build-cc`" CXX="`$ANNOBIN_FLAGS --build-cxx`" \
+ CFLAGS="$ANNOBIN_CFLAGS1 $ANNOBIN_CFLAGS2 $ANNOBIN_LDFLAGS" \
+ CXXFLAGS="$ANNOBIN_CFLAGS1 `$ANNOBIN_FLAGS --build-includes` $ANNOBIN_CFLAGS2 $ANNOBIN_LDFLAGS" \
+ ./configure --with-gcc-plugin-dir=%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin \
+ --without-annocheck --without-tests --without-docs --disable-rpath --without-debuginfod \
+ --without-clang-plugin --without-llvm-plugin
+make
+cd ../..
+%endif
+
+# Test the nonshared bits.
+mkdir libstdc++_compat_test
+cd libstdc++_compat_test
+readelf -Ws %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_\(LDBL_\)\?[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_\(LDBL_\)\?[0-9.]*//' | LC_ALL=C sort -u > system.abilist
+readelf -Ws ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_\(LDBL_\)\?[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_\(LDBL_\)\?[0-9.]*//' | LC_ALL=C sort -u > vanilla.abilist
+diff -up system.abilist vanilla.abilist | awk '/^\+\+\+/{next}/^\+/{print gensub(/^+(.*)$/,"\\1","1",$0)}' > system2vanilla.abilist.diff
+../obj-%{gcc_target_platform}/gcc/xgcc -B ../obj-%{gcc_target_platform}/gcc/ -shared -o libstdc++_nonshared.so -Wl,--whole-archive ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a -Wl,--no-whole-archive %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6
+readelf -Ws libstdc++_nonshared.so | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_\(LDBL_\)\?[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_\(LDBL_\)\?[0-9.]*//' | LC_ALL=C sort -u > nonshared.abilist
+echo ====================NONSHARED=========================
+ldd -d -r ./libstdc++_nonshared.so || :
+ldd -u ./libstdc++_nonshared.so || :
+diff -up system2vanilla.abilist.diff nonshared.abilist || :
+readelf -Ws ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a | grep HIDDEN.*UND | grep -v __dso_handle || :
+echo ====================NONSHARED END=====================
+rm -f libstdc++_nonshared.so
+cd ..
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}
+
+# RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d.
+# Make these be symlinks to /lib64 or /usr/lib64 respectively. See:
+# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DRHT5YTPK4WWVGL3GIN5BF2IKX2ODHZ3/
+%ifarch riscv64
+for d in %{buildroot}%{_libdir} %{buildroot}/%{_lib} \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} \
+ %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/%{_lib}; do
+ mkdir -p $d
+ (cd $d && ln -sf . lp64d)
+done
+%endif
+
+%if %{build_offload_nvptx}
+cd nvptx-tools-%{nvptx_tools_gitrev}
+cd obj-%{gcc_target_platform}
+make install prefix=%{buildroot}%{_prefix}
+cd ../..
+
+ln -sf newlib-cygwin-%{newlib_cygwin_gitrev}/newlib newlib
+cd obj-offload-nvptx-none
+make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
+ infodir=%{buildroot}%{_infodir} install
+rm -rf %{buildroot}%{_prefix}/libexec/gcc/nvptx-none/%{gcc_major}/install-tools
+rm -rf %{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/{install-tools,plugin,cc1,cc1plus,f951}
+rm -rf %{buildroot}%{_infodir} %{buildroot}%{_mandir}/man7 %{buildroot}%{_prefix}/share/locale
+rm -rf %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/{install-tools,plugin}
+rm -rf %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/{install-tools,plugin,include-fixed}
+rm -rf %{buildroot}%{_prefix}/%{_lib}/libc[cp]1*
+mv -f %{buildroot}%{_prefix}/nvptx-none/lib/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
+mv -f %{buildroot}%{_prefix}/nvptx-none/lib/mgomp/*.{a,spec} %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
+mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/
+mv -f %{buildroot}%{_prefix}/lib/gcc/nvptx-none/%{gcc_major}/mgomp/*.a %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none/mgomp/
+find %{buildroot}%{_prefix}/lib/gcc/nvptx-none %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none \
+ %{buildroot}%{_prefix}/nvptx-none/lib -name \*.la | xargs rm
+cd ..
+rm -f newlib
+%endif
+
+%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
+# Also set LD_LIBRARY_PATH so that DTS eu-strip (called from find-debuginfo.sh)
+# can find the libraries it needs.
+%{?scl:export LD_LIBRARY_PATH=%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}}
+
+perl -pi -e \
+ 's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
+ libstdc++-v3/doc/html/api.html
+
+cd obj-%{gcc_target_platform}
+
+TARGET_PLATFORM=%{gcc_target_platform}
+
+# There are some MP bugs in libstdc++ Makefiles
+make -C %{gcc_target_platform}/libstdc++-v3
+
+%if 0%{?scl:1}
+rm -f gcc/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+%{oformat}
+GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > gcc/libgcc_s.so
+%endif
+
+make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
+ infodir=%{buildroot}%{_infodir} install
+
+%if 0%{?scl:1}
+rm -f gcc/libgcc_s.so
+ln -sf libgcc_s.so.1 gcc/libgcc_s.so
+%endif
+
+FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+
+%if 0%{?scl:1}
+ln -sf ../../../../bin/ar $FULLEPATH/ar
+ln -sf ../../../../bin/as $FULLEPATH/as
+ln -sf ../../../../bin/ld $FULLEPATH/ld
+ln -sf ../../../../bin/ld.bfd $FULLEPATH/ld.bfd
+ln -sf ../../../../bin/ld.gold $FULLEPATH/ld.gold
+ln -sf ../../../../bin/nm $FULLEPATH/nm
+ln -sf ../../../../bin/objcopy $FULLEPATH/objcopy
+ln -sf ../../../../bin/ranlib $FULLEPATH/ranlib
+ln -sf ../../../../bin/strip $FULLEPATH/strip
+%endif
+
+%if %{build_isl}
+cp -a isl-install/lib/libisl.so.23 $FULLPATH/
+%endif
+
+# fix some things
+ln -sf gcc %{buildroot}%{_prefix}/bin/cc
+mkdir -p %{buildroot}/lib
+ln -sf ..%{_prefix}/bin/cpp %{buildroot}/lib/cpp
+ln -sf gfortran %{buildroot}%{_prefix}/bin/f95
+rm -f %{buildroot}%{_infodir}/dir
+gzip -9 %{buildroot}%{_infodir}/*.info*
+ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc
+mkdir -p %{buildroot}%{_fmoddir}
+
+cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
+for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
+ if ! diff -up $cxxconfig $i; then
+ cat > %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/c++config.h <
+#if __WORDSIZE == 32
+%ifarch %{multilib_64_archs}
+`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
+%else
+`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
+%endif
+#else
+%ifarch %{multilib_64_archs}
+`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
+%else
+`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
+%endif
+#endif
+#endif
+EOF
+ break
+ fi
+done
+
+for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/ -name c++config.h`; do
+ for i in 1 2 4 8; do
+ sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
+&\
+#endif/' $f
+ done
+done
+
+# Nuke bits/*.h.gch dirs
+# 1) sometimes it is hard to match the exact options used for building
+# libstdc++-v3 or they aren't desirable
+# 2) there are multilib issues, conflicts etc. with this
+# 3) it is huge
+# People can always precompile on their own whatever they want, but
+# shipping this for everybody is unnecessary.
+rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch
+
+%if %{build_libstdcxx_docs}
+libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
+mkdir -p ../rpm.doc/libstdc++-v3
+cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
+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
+%endif
+
+%ifarch sparcv9 sparc64
+ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
+ %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
+%endif
+%ifarch ppc ppc64 ppc64p7
+ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \
+ %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
+%endif
+
+%ifarch sparcv9 ppc
+FULLLPATH=$FULLPATH/lib32
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+FULLLPATH=$FULLPATH/lib64
+%endif
+if [ -n "$FULLLPATH" ]; then
+ mkdir -p $FULLLPATH
+else
+ FULLLPATH=$FULLPATH
+fi
+
+find %{buildroot} -name \*.la | xargs rm -f
+
+mv %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/
+%if %{build_libitm}
+mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/
+%endif
+%if %{build_libasan}
+mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/
+%endif
+
+mkdir -p %{buildroot}/%{_lib}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
+chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1
+ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
+ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
+%ifarch %{multilib_64_archs}
+ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
+%endif
+
+rm -f $FULLPATH/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+%{oformat}
+GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so
+%ifarch sparcv9 ppc
+rm -f $FULLPATH/64/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+%{oformat2}
+GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so
+%endif
+%ifarch %{multilib_64_archs}
+rm -f $FULLPATH/32/libgcc_s.so
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+%{oformat2}
+GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so
+%endif
+
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
+cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \
+ $FULLLPATH/libstdc++_nonshared.a
+cp -a %{gcc_target_platform}/libgfortran/.libs/libgfortran_nonshared80.a \
+ $FULLLPATH/libgfortran_nonshared.a
+
+mkdir -p %{buildroot}%{_prefix}/libexec/getconf
+if gcc/xgcc -B gcc/ -E -P -dD -xc /dev/null | grep '__LONG_MAX__.*\(2147483647\|0x7fffffff\($\|[LU]\)\)'; then
+ ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
+else
+ ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
+fi
+
+mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
+pushd ../libstdc++-v3/python
+for i in `find . -name \*.py`; do
+ touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i
+done
+touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py
+popd
+for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do
+ r=${f/$RPM_BUILD_ROOT/}
+ %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
+ %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
+done
+
+rm -f $FULLEPATH/libgccjit.so
+mkdir -p %{buildroot}%{_prefix}/%{_lib}/
+cp -a objlibgccjit/gcc/libgccjit.so.* %{buildroot}%{_prefix}/%{_lib}/
+rm -f $FULLPATH/libgccjit.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{_prefix}/%{_lib}/libgccjit.so.0 )' > $FULLPATH/libgccjit.so
+cp -a ../gcc/jit/libgccjit*.h $FULLPATH/include/
+/usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/
+gzip -9 %{buildroot}/%{_infodir}/libgccjit.info
+
+pushd $FULLPATH
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so
+
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so
+rm -f libgfortran.so
+echo '/* GNU ld script
+ 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}/libgfortran.so.5 -lgfortran_nonshared )' > libgfortran.so
+%if %{build_libquadmath}
+rm -f libquadmath.so
+echo '/* GNU ld script */
+%{oformat}
+%if 0%{!?scl:1}
+INPUT ( %{_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so
+%else
+INPUT ( %{_root_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so
+%endif
+%endif
+%if %{build_libitm}
+rm -f libitm.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1 )' > libitm.so
+%endif
+%if %{build_libatomic}
+rm -f libatomic.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1 )' > libatomic.so
+%endif
+%if %{build_libasan}
+rm -f libasan.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libasan.so.8 )' > libasan.so
+%endif
+%if %{build_libtsan}
+rm -f libtsan.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libtsan.so.2 )' > libtsan.so
+%endif
+%if %{build_libubsan}
+rm -f libubsan.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libubsan.so.1 )' > libubsan.so
+%endif
+%if %{build_libhwasan}
+rm -f libhwasan.so
+echo 'INPUT ( %{_root_prefix}/%{_lib}/'`echo ../../../../%{_lib}/libhwasan.so.0.* | sed 's,^.*libh,libh,'`' )' > libhwasan.so
+%endif
+%if %{build_liblsan}
+rm -f liblsan.so
+echo '/* GNU ld script */
+%{oformat}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/liblsan.so.0 )' > liblsan.so
+%endif
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a .
+mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
+%if %{build_libquadmath}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
+%endif
+%if %{build_libitm}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
+%endif
+%if %{build_libatomic}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/
+%endif
+%if %{build_libasan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libasan_preinit.o $FULLLPATH/
+%endif
+%if %{build_libubsan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/
+%endif
+%if %{build_libtsan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan_preinit.o $FULLPATH/
+%endif
+%if %{build_libhwasan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libhwasan.*a $FULLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/libhwasan_preinit.o $FULLPATH/
+%endif
+%if %{build_liblsan}
+mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/
+mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan_preinit.o $FULLPATH/
+%endif
+
+%ifarch sparcv9 ppc
+echo '/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so
+rm -f 64/libgfortran.so
+echo '/* GNU ld script
+ 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/libgfortran.so.5 -lgfortran_nonshared )' > 64/libgfortran.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libgomp.so.1 )' > 64/libgomp.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{_prefix}/lib64/libgccjit.so.0 )' > 64/libgccjit.so
+%if %{build_libquadmath}
+rm -f 64/libquadmath.so
+echo '/* GNU ld script */
+%{oformat2}
+%if 0%{!?scl:1}
+INPUT ( %{_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so
+%else
+INPUT ( %{_root_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so
+%endif
+%endif
+%if %{build_libitm}
+rm -f 64/libitm.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libitm.so.1 )' > 64/libitm.so
+%endif
+%if %{build_libatomic}
+rm -f 64/libatomic.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libatomic.so.1 )' > 64/libatomic.so
+%endif
+%if %{build_libasan}
+rm -f 64/libasan.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libasan.so.8 )' > 64/libasan.so
+%endif
+%if %{build_libubsan}
+rm -f 64/libubsan.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libubsan.so.1 )' > 64/libubsan.so
+%endif
+mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
+mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
+mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
+%if %{build_libquadmath}
+mv -f %{buildroot}%{_prefix}/lib64/libquadmath.*a 64/
+%endif
+ln -sf lib32/libstdc++.a libstdc++.a
+ln -sf ../lib64/libstdc++.a 64/libstdc++.a
+ln -sf lib32/libstdc++fs.a libstdc++fs.a
+ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a
+ln -sf lib32/libstdc++_nonshared.a libstdc++_nonshared.a
+ln -sf ../lib64/libstdc++_nonshared.a 64/libstdc++_nonshared.a
+%if %{build_libquadmath}
+ln -sf lib32/libquadmath.a libquadmath.a
+ln -sf ../lib64/libquadmath.a 64/libquadmath.a
+%endif
+%if %{build_libitm}
+ln -sf lib32/libitm.a libitm.a
+ln -sf ../lib64/libitm.a 64/libitm.a
+%endif
+%if %{build_libatomic}
+ln -sf lib32/libatomic.a libatomic.a
+ln -sf ../lib64/libatomic.a 64/libatomic.a
+%endif
+%if %{build_libasan}
+ln -sf lib32/libasan.a libasan.a
+ln -sf ../lib64/libasan.a 64/libasan.a
+ln -sf lib32/libasan_preinit.o libasan_preinit.o
+ln -sf ../lib64/libasan_preinit.o 64/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+ln -sf lib32/libubsan.a libubsan.a
+ln -sf ../lib64/libubsan.a 64/libubsan.a
+%endif
+%endif
+%ifarch %{multilib_64_archs}
+mkdir -p 32
+echo '/* GNU ld script
+ 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
+rm -f 32/libgfortran.so
+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/libgfortran.so.5 -lgfortran_nonshared )' > 32/libgfortran.so
+
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 )' > 32/libgomp.so
+
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{_prefix}/lib/libgccjit.so.0 )' > 32/libgccjit.so
+%if %{build_libquadmath}
+rm -f 32/libquadmath.so
+echo '/* GNU ld script */
+%{oformat2}
+%if 0%{!?scl:1}
+INPUT ( %{_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so
+%else
+INPUT ( %{_root_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so
+%endif
+%endif
+%if %{build_libitm}
+rm -f 32/libitm.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libitm.so.1 )' > 32/libitm.so
+%endif
+%if %{build_libatomic}
+rm -f 32/libatomic.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libatomic.so.1 )' > 32/libatomic.so
+%endif
+%if %{build_libasan}
+rm -f 32/libasan.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libasan.so.8 )' > 32/libasan.so
+%endif
+%if %{build_libubsan}
+rm -f 32/libubsan.so
+echo '/* GNU ld script */
+%{oformat2}
+INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libubsan.so.1 )' > 32/libubsan.so
+%endif
+mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
+mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
+mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
+%if %{build_libquadmath}
+mv -f %{buildroot}%{_prefix}/lib/libquadmath.*a 32/
+%endif
+%endif
+%ifarch sparc64 ppc64
+ln -sf ../lib32/libstdc++.a 32/libstdc++.a
+ln -sf lib64/libstdc++.a libstdc++.a
+ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a
+ln -sf lib64/libstdc++fs.a libstdc++fs.a
+ln -sf ../lib32/libstdc++_nonshared.a 32/libstdc++_nonshared.a
+ln -sf lib64/libstdc++_nonshared.a libstdc++_nonshared.a
+ln -sf ../lib32/libgfortran_nonshared.a 32/libgfortran_nonshared.a
+ln -sf lib64/libgfortran_nonshared.a libgfortran_nonshared.a
+%if %{build_libquadmath}
+ln -sf ../lib32/libquadmath.a 32/libquadmath.a
+ln -sf lib64/libquadmath.a libquadmath.a
+%endif
+%if %{build_libitm}
+ln -sf ../lib32/libitm.a 32/libitm.a
+ln -sf lib64/libitm.a libitm.a
+%endif
+%if %{build_libatomic}
+ln -sf ../lib32/libatomic.a 32/libatomic.a
+ln -sf lib64/libatomic.a libatomic.a
+%endif
+%if %{build_libasan}
+ln -sf ../lib32/libasan.a 32/libasan.a
+ln -sf lib64/libasan.a libasan.a
+ln -sf ../lib32/libasan_preinit.o 32/libasan_preinit.o
+ln -sf lib64/libasan_preinit.o libasan_preinit.o
+%endif
+%if %{build_libubsan}
+ln -sf ../lib32/libubsan.a 32/libubsan.a
+# BZ #2027391
+mv -f lib64/libubsan.a libubsan.a
+%endif
+%else
+%ifarch %{multilib_64_archs}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libstdc++.a 32/libstdc++.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libstdc++_nonshared.a 32/libstdc++_nonshared.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libgfortran_nonshared.a 32/libgfortran_nonshared.a
+%if %{build_libquadmath}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libquadmath.a 32/libquadmath.a
+%endif
+%if %{build_libitm}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libitm.a 32/libitm.a
+%endif
+%if %{build_libatomic}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libatomic.a 32/libatomic.a
+%endif
+%if %{build_libasan}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libasan.a 32/libasan.a
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libasan_preinit.o 32/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libubsan.a 32/libubsan.a
+%endif
+%endif
+%endif
+
+# If we are building a debug package then copy all of the static archives
+# into the debug directory to keep them as unstripped copies.
+%if 0%{?_enable_debug_packages}
+mkdir -p $RPM_BUILD_ROOT%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+adirs="$FULLPATH"
+if [ "$FULLLPATH" != "$FULLPATH" ]; then
+ adirs="$adirs $FULLLPATH"
+fi
+for f in `find $adirs -maxdepth 1 -a \
+ \( -name libgfortran.a -o -name libgomp.a \
+ -o -name libgcc.a -o -name libgcc_eh.a -o -name libgcov.a \
+ -o -name libquadmath.a -o -name libitm.a \
+ -o -name libatomic.a -o -name libasan.a \
+ -o -name libtsan.a -o -name libubsan.a \
+ -o -name liblsan.a \
+ -o -name libstdc++_nonshared.a \
+ -o -name libgfortran_nonshared.a \
+ -o -name libsupc++.a \
+ -o -name libstdc++.a -o -name libcaf_single.a \
+ -o -name libstdc++fs.a \) -a -type f`; do
+ cp -a $f $RPM_BUILD_ROOT%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/
+done
+%endif
+
+# Strip debug info from Fortran/ObjC/Java static libraries
+strip -g `find . \( -name libgfortran.a -o -name libgomp.a \
+ -o -name libgcc.a -o -name libgcov.a \
+ -o -name libquadmath.a -o -name libitm.a \
+ -o -name libatomic.a -o -name libasan.a \
+ -o -name libtsan.a -o -name libubsan.a \
+ -o -name liblsan.a \) -a -type f`
+popd
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
+%if %{build_libquadmath}
+%if 0%{!?scl:1}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
+%endif
+%endif
+%if %{build_libitm}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/libitm.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%endif
+%if %{build_libatomic}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.*
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%endif
+%if %{build_libasan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.*
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/libasan.so.8* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%endif
+%if %{build_libtsan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2.*
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%endif
+%if %{build_libubsan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.*
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%endif
+%if %{build_libhwasan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.*
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%if %{build_liblsan}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.*
+%if 0%{?scl:1}
+mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/
+mv %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0* %{buildroot}%{_root_prefix}/%{_lib}/
+mkdir -p %{buildroot}%{_root_infodir}
+%endif
+%endif
+
+for h in `find $FULLPATH/include -name \*.h`; do
+ if grep -q 'It has been auto-edited by fixincludes from' $h; then
+ rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
+ diff -up $rh $h || :
+ rm -f $h
+ fi
+done
+
+
+cd ..
+
+# Remove binaries we will not be including, so that they don't end up in
+# gcc-debuginfo
+rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libstdc++*,libgfortran*} || :
+%if 0%{?scl:1}
+rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath*,libitm*,libatomic*,libasan*,libtsan*,libubsan*,liblsan*}
+%else
+rm -f %{buildroot}%{_prefix}/%{_lib}/{libitm*,libatomic*}
+%endif
+rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp*
+rm -f %{buildroot}/%{_lib}/libgcc_s*
+rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
+rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
+rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
+rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || :
+rm -f %{buildroot}/lib/cpp
+rm -f %{buildroot}/%{_lib}/libgcc_s*
+rm -f %{buildroot}%{_prefix}/bin/{gccbug,gnatgcc*}
+rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gfortran
+%if 0%{!?scl:1}
+rm -f %{buildroot}%{_prefix}/bin/{*c++*,cc,cpp}
+%endif
+rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || :
+
+%ifarch %{multilib_64_archs}
+# Remove libraries for the other arch on multilib arches
+rm -f %{buildroot}%{_prefix}/lib/lib*.so*
+rm -f %{buildroot}%{_prefix}/lib/lib*.a
+rm -f %{buildroot}/lib/libgcc_s*.so*
+%else
+%ifarch sparcv9 ppc
+rm -f %{buildroot}%{_prefix}/lib64/lib*.so*
+rm -f %{buildroot}%{_prefix}/lib64/lib*.a
+rm -f %{buildroot}/lib64/libgcc_s*.so*
+%endif
+%endif
+
+%ifnarch sparc64 ppc64
+%ifarch %{multilib_64_archs}
+cat <<\EOF > %{buildroot}%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}-gcc-%{gcc_major}
+#!/bin/sh
+%ifarch s390x
+exec %{gcc_target_platform}-gcc-%{gcc_major} -m31 "$@"
+%else
+exec %{gcc_target_platform}-gcc-%{gcc_major} -m32 "$@"
+%endif
+EOF
+chmod 755 %{buildroot}%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}-gcc-%{gcc_major}
+%endif
+%endif
+
+# Help plugins find out nvra.
+echo %{?scl_prefix}gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
+
+# Add symlink to lto plugin in the binutils plugin directory.
+%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
+ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \
+ %{buildroot}%{_libdir}/bfd-plugins/
+
+%if %{build_annobin_plugin}
+mkdir -p $FULLPATH/plugin
+rm -f $FULLPATH/plugin/gts-gcc-annobin*
+cp -a %{_builddir}/gcc-%{version}-%{DATE}/annobin-plugin/annobin*/gcc-plugin/.libs/annobin.so.0.0.0 \
+ $FULLPATH/plugin/gts-gcc-annobin.so.0.0.0
+pushd $FULLPATH/plugin/
+ln -sf gts-gcc-annobin.so.0.0.0 gts-gcc-annobin.so.0
+ln -sf gts-gcc-annobin.so.0.0.0 gts-gcc-annobin.so
+popd
+%endif
+
+%check
+cd obj-%{gcc_target_platform}
+
+%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
+# Test against the system libstdc++.so.6 + libstdc++_nonshared.a combo
+mv %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6{,.not_here}
+mv %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so{,.not_here}
+ln -sf %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 \
+ %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6
+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 )' \
+ > %{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
+
+# run the tests.
+LC_ALL=C make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
+ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
+( LC_ALL=C ../contrib/test_summary -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults
+rm -rf gcc/testsuite.prev
+mv gcc/testsuite{,.prev}
+rm -f gcc/site.exp
+LC_ALL=C make %{?_smp_mflags} -C gcc -k check-gcc check-g++ ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}' compat.exp struct-layout-1.exp" || :
+mv gcc/testsuite/gcc/gcc.sum{,.sent}
+mv gcc/testsuite/g++/g++.sum{,.sent}
+( LC_ALL=C ../contrib/test_summary -o -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults2
+rm -rf gcc/testsuite.compat
+mv gcc/testsuite{,.compat}
+mv gcc/testsuite{.prev,}
+echo ====================TESTING=========================
+cat testresults
+echo ===`gcc --version | head -1` compatibility tests====
+cat testresults2
+echo ====================TESTING END=====================
+mkdir testlogs-%{_target_platform}-%{version}-%{release}
+for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
+ ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
+done
+for i in `find gcc/testsuite.compat -name \*.log | grep -v 'config.log\|acats.*/tests/'`; do
+ ln $i testlogs-%{_target_platform}-%{version}-%{release}/`basename $i`.compat || :
+done
+tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
+ | uuencode testlogs-%{_target_platform}.tar.bz2 || :
+rm -rf testlogs-%{_target_platform}-%{version}-%{release}
+
+
+%if 0%{?scl:1}
+%post gfortran
+if [ -f %{_infodir}/gfortran.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
+fi
+
+%preun gfortran
+if [ $1 = 0 -a -f %{_infodir}/gfortran.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
+fi
+%endif
+
+%post gdb-plugin -p /sbin/ldconfig
+
+%postun gdb-plugin -p /sbin/ldconfig
+
+%post -n %{?scl_prefix}libgccjit -p /sbin/ldconfig
+
+%postun -n %{?scl_prefix}libgccjit -p /sbin/ldconfig
+
+%post -n %{?scl_prefix}libgccjit-docs
+if [ -f %{_infodir}/libgccjit.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
+fi
+
+%preun -n %{?scl_prefix}libgccjit-docs
+if [ $1 = 0 -a -f %{_infodir}/libgccjit.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
+fi
+
+%post -n libquadmath
+/sbin/ldconfig
+if [ -f %{_infodir}/libquadmath.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
+fi
+
+%preun -n libquadmath
+if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
+fi
+
+%postun -n libquadmath -p /sbin/ldconfig
+
+%post -n libitm
+/sbin/ldconfig
+if [ -f %{_infodir}/libitm.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
+fi
+
+%preun -n libitm
+if [ $1 = 0 -a -f %{_infodir}/libitm.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
+fi
+
+%postun -n libitm -p /sbin/ldconfig
+
+%post -n libatomic -p /sbin/ldconfig
+
+%postun -n libatomic -p /sbin/ldconfig
+
+%post -n libasan8 -p /sbin/ldconfig
+
+%postun -n libasan8 -p /sbin/ldconfig
+
+%post -n libtsan2 -p /sbin/ldconfig
+
+%postun -n libtsan2 -p /sbin/ldconfig
+
+%post -n libubsan1 -p /sbin/ldconfig
+
+%postun -n libubsan1 -p /sbin/ldconfig
+
+%post -n liblsan -p /sbin/ldconfig
+
+%postun -n liblsan -p /sbin/ldconfig
+
+%files
+%{_prefix}/bin/gcc
+%{_prefix}/bin/gcov
+%{_prefix}/bin/gcov-tool
+%{_prefix}/bin/gcov-dump
+%{_prefix}/bin/gcc-ar
+%{_prefix}/bin/gcc-nm
+%{_prefix}/bin/gcc-ranlib
+%{_prefix}/bin/lto-dump
+%ifarch ppc
+%{_prefix}/bin/%{_target_platform}-gcc
+%endif
+%ifarch sparc64 sparcv9
+%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}%{?_gnu}-gcc
+%endif
+%ifarch ppc64 ppc64p7
+%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}%{?_gnu}-gcc
+%endif
+%{_prefix}/bin/%{gcc_target_platform}-gcc
+%{_prefix}/bin/%{gcc_target_platform}-gcc-%{gcc_major}
+%ifnarch sparc64 ppc64
+%ifarch %{multilib_64_archs}
+%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}-gcc-%{gcc_major}
+%endif
+%endif
+%if 0%{?scl:1}
+%{_prefix}/bin/cc
+%{_prefix}/bin/cpp
+%{_mandir}/man1/gcc.1*
+%{_mandir}/man1/cpp.1*
+%{_mandir}/man1/gcov.1*
+%{_mandir}/man1/gcov-tool.1*
+%{_mandir}/man1/gcov-dump.1*
+%{_mandir}/man1/lto-dump.1*
+%{_infodir}/gcc*
+%{_infodir}/cpp*
+%endif
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so*
+%{_libdir}/bfd-plugins/liblto_plugin.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdfix.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/varargs.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/float.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/limits.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdbool.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/iso646.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/syslimits.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/acc_prof.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdckdint.h
+%ifarch %{ix86} x86_64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ammintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fma4intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xopintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lwpintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/popcntintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tbmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia32intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/f16cintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lzcntintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rtmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xtestintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/adxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rdseedintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fxsrintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveoptintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512cdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512erintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512pfintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/shaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm3dnow.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cpuid.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cross-stdarg.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512dqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmavlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmivlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlbwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vldqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clflushoptintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clwbintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavecintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavesintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clzerointrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pkuintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124fmapsintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124vnniwintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sgxintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gfniintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cetintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cet.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnniintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnnivlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vaesintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vpclmulqdqintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqvlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/waitpkgintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cldemoteintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/serializeintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tsxldtrkintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxtileintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxint8intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxbf16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/uintrintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/hresetintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/keylockerintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16vlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxifmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniint8intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxneconvertintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cmpccxaddintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxfp16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/raointintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxcomplexintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgvlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniint16intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sha512intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sm3intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sm4intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/usermsrintrin.h
+%endif
+%ifarch ia64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h
+%endif
+%ifarch ppc ppc64 ppc64le ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppc-asm.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/altivec.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppu_intrinsics.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/si2vmx.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/spu2vmx.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vec_types.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amo.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rs6000-vecdefines.h
+%endif
+%ifarch %{arm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind-arm-common.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_cmse.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
+%endif
+%ifarch aarch64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sve.h
+%endif
+%ifarch sparc sparcv9 sparc64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h
+%endif
+%ifarch s390 s390x
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/s390intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer
+%endif
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
+%if 0%{?scl:1}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ar
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/as
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld.bfd
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld.gold
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/nm
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/objcopy
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ranlib
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/strip
+%endif
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_eh.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_s.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.spec
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.so
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.spec
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsanitizer.spec
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
+%endif
+%endif
+%if %{build_isl}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libisl.so.*
+%endif
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/crt*.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcov.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_eh.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_s.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.so
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.so
+%endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.so
+%endif
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.so
+%endif
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/crt*.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcov.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_eh.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
+
+
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgccjit.so
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so
+%endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so
+%endif
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
+%endif
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%if %{build_libquadmath}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
+%endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
+%endif
+%if %{build_libatomic}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
+%endif
+%if %{build_libasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
+%endif
+%if %{build_libubsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
+%endif
+%if %{build_libtsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
+%endif
+%if %{build_libhwasan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o
+%endif
+%if %{build_liblsan}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so
+%endif
+%endif
+%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING* COPYING.RUNTIME
+
+%if %{build_annobin_plugin}
+%files -n %{?scl_prefix}gcc-plugin-annobin
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gts-gcc-annobin.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gts-gcc-annobin.so.0
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gts-gcc-annobin.so.0.0.0
+%endif
+
+%files c++
+%{_prefix}/bin/%{gcc_target_platform}-g++
+%{_prefix}/bin/g++
+%if 0%{?scl:1}
+%{_prefix}/bin/%{gcc_target_platform}-c++
+%{_prefix}/bin/c++
+%{_mandir}/man1/g++.1*
+%endif
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/g++-mapper-server
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++_nonshared.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++_nonshared.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a
+%endif
+%ifarch sparcv9 ppc %{multilib_64_archs}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
+%endif
+%ifarch sparcv9 sparc64 ppc ppc64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_nonshared.a
+%endif
+%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
+
+%files -n %{?scl_prefix}libstdc++-devel
+%defattr(-,root,root,-)
+%dir %{_prefix}/include/c++
+%{_prefix}/include/c++/%{gcc_major}
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++_nonshared.a
+%endif
+%ifarch sparc64 ppc64
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++_nonshared.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_nonshared.a
+%endif
+%ifnarch sparcv9 ppc %{multilib_64_archs}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a
+%endif
+%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
+
+
+%if %{build_libstdcxx_docs}
+%files -n %{?scl_prefix}libstdc++-docs
+%{_mandir}/man3/*
+%doc rpm.doc/libstdc++-v3/html
+%endif
+
+%files gfortran
+%{_prefix}/bin/gfortran
+%{_prefix}/bin/f95
+%if 0%{?scl:1}
+%{_mandir}/man1/gfortran.1*
+%{_infodir}/gfortran*
+%endif
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ISO_Fortran_binding.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.f90
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib_kinds.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.f90
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_kinds.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_lib.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_arithmetic.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_exceptions.mod
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_features.mod
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/f951
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.spec
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libcaf_single.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran_nonshared.a
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libcaf_single.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/finclude
+%endif
+%ifarch %{multilib_64_archs}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran_nonshared.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude
+%endif
+%ifarch ppc64
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgfortran_nonshared.a
+%endif
+%doc rpm.doc/gfortran/*
+
+%if %{build_libquadmath}
+%files -n %{?scl_prefix}libquadmath-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libquadmath.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so
+%endif
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch %{ix86}
+# Need it for -m32.
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran_nonshared.a
+%endif
+%doc rpm.doc/libquadmath/ChangeLog*
+%endif
+
+%if %{build_libitm}
+%files -n %{?scl_prefix}libitm-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a
+%endif
+%doc rpm.doc/libitm/ChangeLog*
+%endif
+
+%if %{build_libatomic}
+%files -n %{?scl_prefix}libatomic-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libatomic.a
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a
+%endif
+%doc rpm.doc/changelogs/libatomic/ChangeLog*
+%endif
+
+%if %{build_libasan}
+%files -n libasan8
+%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libasan.so.8*
+
+%files -n %{?scl_prefix}libasan-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan_preinit.o
+%endif
+%ifarch sparc64 ppc64 ppc64p7
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan_preinit.o
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o
+%endif
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_libubsan}
+# GTS 12 libubsan1 would clash with the system RHEL 8 libubsan.
+#%%if 0%{?rhel} < 8
+#%%files -n libubsan1
+#%%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libubsan.so.1*
+#%%endif
+
+%files -n %{?scl_prefix}libubsan-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_libtsan}
+%files -n libtsan2
+%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libtsan.so.2*
+
+%files -n %{?scl_prefix}libtsan-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_libhwasan}
+%files -n libhwasan
+%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libhwasan.so.0*
+
+%files -n %{?scl_prefix}libhwasan-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%if %{build_liblsan}
+# Use the system liblsan.
+#%%if 0%{?rhel} < 8
+#%%files -n liblsan
+#%%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/liblsan.so.0*
+#%%else
+%ifarch s390x
+# Except that on s390x we don't have the system liblsan, because we
+# only enabled LSan in GCC 12. ??? Ugly duplication.
+%files -n liblsan
+%{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/liblsan.so.0*
+%endif
+#%%endif
+
+%files -n %{?scl_prefix}liblsan-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a
+%doc rpm.doc/changelogs/libsanitizer/ChangeLog*
+%{!?_licensedir:%global license %%doc}
+%license libsanitizer/LICENSE.TXT
+%endif
+
+%files -n %{?scl_prefix}libgccjit
+%{_prefix}/%{_lib}/libgccjit.so*
+%doc rpm.doc/changelogs/gcc/jit/ChangeLog*
+
+%files -n %{?scl_prefix}libgccjit-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgccjit.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/libgccjit*.h
+
+%if 0
+%files -n %{?scl_prefix}libgccjit-docs
+%{_infodir}/libgccjit.info*
+%doc rpm.doc/libgccjit-devel/*
+%doc gcc/jit/docs/examples
+%endif
+
+%files plugin-devel
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gtype.state
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+
+%if 0
+%files gdb-plugin
+%{_prefix}/%{_lib}/libcc1.so*
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so*
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so*
+%doc rpm.doc/changelogs/libcc1/ChangeLog*
+%endif
+
+%if %{build_offload_nvptx}
+%files -n %{?scl_prefix}offload-nvptx
+%{_prefix}/bin/nvptx-none-*
+%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-gcc
+%{_prefix}/bin/%{gcc_target_platform}-accel-nvptx-none-lto-dump
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel
+%{_prefix}/lib/gcc/nvptx-none
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/accel/nvptx-none
+%dir %{_prefix}/nvptx-none
+%{_prefix}/nvptx-none/bin
+%{_prefix}/nvptx-none/include
+%endif
+
+%changelog
+* Wed Sep 18 2024 mgb01105731 14.2.1-1
+- Init upstream from 14.2.1
diff --git a/gcc14-Wno-format-security.patch b/gcc14-Wno-format-security.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e317c159983a5e0e9af5e7d941c3c196a11347a1
--- /dev/null
+++ b/gcc14-Wno-format-security.patch
@@ -0,0 +1,62 @@
+2022-01-07 Jakub Jelinek
+
+ * Makefile.tpl (GOCFLAGS, GDCFLAGS): Filter out -Wformat-security.
+ * Makefile.in: Regenerated.
+
+2017-02-25 Jakub Jelinek
+
+ * configure.ac: When adding -Wno-format, also add -Wno-format-security.
+ * configure: Regenerated.
+
+--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
++++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
+@@ -570,7 +570,7 @@ AC_ARG_ENABLE(build-format-warnings,
+ AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
+ [],[enable_build_format_warnings=yes])
+ AS_IF([test $enable_build_format_warnings = no],
+- [wf_opt=-Wno-format],[wf_opt=])
++ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
+ ACX_PROG_CXX_WARNING_OPTS(
+ m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
+ [-Wcast-qual $wf_opt])),
+--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
++++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
+@@ -7077,7 +7077,7 @@ else
+ fi
+
+ if test $enable_build_format_warnings = no; then :
+- wf_opt=-Wno-format
++ wf_opt="-Wno-format -Wno-format-security"
+ else
+ wf_opt=
+ fi
+--- Makefile.tpl.jj 2023-11-29 13:21:41.680292662 +0100
++++ Makefile.tpl 2023-11-29 13:23:24.677839321 +0100
+@@ -448,9 +448,9 @@ LDFLAGS = @LDFLAGS@
+ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+-GOCFLAGS = $(CFLAGS)
+-GDCFLAGS = @GDCFLAGS@
+-GM2FLAGS = $(CFLAGS)
++GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
++GDCFLAGS = $(filter-out -Wformat-security,@GDCFLAGS@)
++GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
+
+ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+
+--- Makefile.in.jj 2023-11-29 13:21:41.691292507 +0100
++++ Makefile.in 2023-11-29 13:24:01.254323180 +0100
+@@ -445,9 +445,9 @@ LDFLAGS = @LDFLAGS@
+ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+-GOCFLAGS = $(CFLAGS)
+-GDCFLAGS = @GDCFLAGS@
+-GM2FLAGS = $(CFLAGS)
++GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
++GDCFLAGS = $(filter-out -Wformat-security,@GDCFLAGS@)
++GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
+
+ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+
diff --git a/gcc14-d-shared-libphobos.patch b/gcc14-d-shared-libphobos.patch
new file mode 100644
index 0000000000000000000000000000000000000000..6384bbb556e68464fb55ee0fbabd5a478f73a037
--- /dev/null
+++ b/gcc14-d-shared-libphobos.patch
@@ -0,0 +1,20 @@
+2019-01-17 Jakub Jelinek
+
+ * d-spec.cc (lang_specific_driver): Make -shared-libphobos
+ the default rather than -static-libphobos.
+
+--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100
++++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100
+@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option
+ /* Add `-lgphobos' if we haven't already done so. */
+ if (phobos_library != PHOBOS_NOLINK)
+ {
+- /* Default to static linking. */
+- if (phobos_library != PHOBOS_DYNAMIC)
+- phobos_library = PHOBOS_STATIC;
++ /* Default to shared linking. */
++ if (phobos_library != PHOBOS_STATIC)
++ phobos_library = PHOBOS_DYNAMIC;
+
+ #ifdef HAVE_LD_STATIC_DYNAMIC
+ if (phobos_library == PHOBOS_STATIC && !static_link)
diff --git a/gcc14-dg-ice-fixes.patch b/gcc14-dg-ice-fixes.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e47b10b6ba12ae5a89ab97ac275b677a6eb2b1dd
--- /dev/null
+++ b/gcc14-dg-ice-fixes.patch
@@ -0,0 +1,44 @@
+--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
++++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
+@@ -1,6 +1,6 @@
+ /* { dg-additional-options "--param openacc-kernels=decompose" } */
+
+-/* { dg-additional-options "-fchecking" }
++/* { dg-additional-options "-fchecking -fno-report-bug" }
+ { dg-ice TODO { c++ } }
+ { dg-prune-output "during GIMPLE pass: omp_oacc_kernels_decompose" } */
+
+--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-4.c
++++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-4.c
+@@ -1,6 +1,6 @@
+ /* { dg-additional-options "--param openacc-kernels=decompose" } */
+
+-/* { dg-additional-options "-fchecking" }
++/* { dg-additional-options "-fchecking -fno-report-bug" }
+ { dg-ice TODO { c++ } }
+ { dg-prune-output "during GIMPLE pass: omp_oacc_kernels_decompose" } */
+
+diff --git a/gcc/testsuite/g++.dg/cpp0x/vt-88982.C b/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
+index 7a868233d73..45307a63483 100644
+--- a/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
++++ b/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
+@@ -1,6 +1,6 @@
+ // PR c++/88982
+ // { dg-do compile { target c++11 } }
+-// { dg-additional-options "-fchecking" }
++// { dg-additional-options "-fchecking -fno-report-bug" }
+ // { dg-ice "tsubst_pack_expansion" }
+
+ template struct A {
+diff --git a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
+index bed5ea0cfc0..cb235bf891a 100644
+--- a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
++++ b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
+@@ -1,6 +1,6 @@
+ // PR c++/88003
+ // { dg-do compile { target c++14 } }
+-// { dg-additional-options "-fchecking" }
++// { dg-additional-options "-fchecking -fno-report-bug" }
+ // { dg-ice "poplevel_class" }
+
+ auto test() {
diff --git a/gcc14-fortran-fdec-duplicates.patch b/gcc14-fortran-fdec-duplicates.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5298baa959a2336ea50a802cf4c80d09e82500af
--- /dev/null
+++ b/gcc14-fortran-fdec-duplicates.patch
@@ -0,0 +1,215 @@
+From 23b1fcb104c666429451ffaf936f8da5fcd3d43a Mon Sep 17 00:00:00 2001
+From: Mark Eggleston
+Date: Fri, 22 Jan 2021 12:29:47 +0000
+Subject: [PATCH 01/10] Allow duplicate declarations.
+
+Enabled by -fdec-duplicates and -fdec.
+
+Some fixes by Jim MacArthur
+Addition of -fdec-duplicates by Mark Eggleston
+---
+ gcc/fortran/lang.opt | 4 ++++
+ gcc/fortran/options.cc | 1 +
+ gcc/fortran/symbol.cc | 21 +++++++++++++++++--
+ .../gfortran.dg/duplicate_type_4.f90 | 13 ++++++++++++
+ .../gfortran.dg/duplicate_type_5.f90 | 13 ++++++++++++
+ .../gfortran.dg/duplicate_type_6.f90 | 13 ++++++++++++
+ .../gfortran.dg/duplicate_type_7.f90 | 13 ++++++++++++
+ .../gfortran.dg/duplicate_type_8.f90 | 12 +++++++++++
+ .../gfortran.dg/duplicate_type_9.f90 | 12 +++++++++++
+ 9 files changed, 100 insertions(+), 2 deletions(-)
+ create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_4.f90
+ create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_5.f90
+ create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_6.f90
+ create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_7.f90
+ create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_8.f90
+ create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_9.f90
+
+diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
+index 2b1977c523b..52bd522051e 100644
+--- a/gcc/fortran/lang.opt
++++ b/gcc/fortran/lang.opt
+@@ -469,6 +469,10 @@ Fortran Var(flag_dec_char_conversions)
+ Enable the use of character literals in assignments and data statements
+ for non-character variables.
+
++fdec-duplicates
++Fortran Var(flag_dec_duplicates)
++Allow varibles to be duplicated in the type specification matches.
++
+ fdec-include
+ Fortran Var(flag_dec_include)
+ Enable legacy parsing of INCLUDE as statement.
+diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
+index 3a0b98bf1ec..f19ba87f8a0 100644
+--- a/gcc/fortran/options.cc
++++ b/gcc/fortran/options.cc
+@@ -77,6 +77,7 @@ set_dec_flags (int value)
+ SET_BITFLAG (flag_dec_format_defaults, value, value);
+ SET_BITFLAG (flag_dec_blank_format_item, value, value);
+ SET_BITFLAG (flag_dec_char_conversions, value, value);
++ SET_BITFLAG (flag_dec_duplicates, value, value);
+ }
+
+ /* Finalize DEC flags. */
+diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc
+index 3b988d1be22..9843175cc2a 100644
+--- a/gcc/fortran/symbol.cc
++++ b/gcc/fortran/symbol.cc
+@@ -1995,6 +1995,8 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
+ if (sym->attr.result && type == BT_UNKNOWN && sym->ns->proc_name)
+ type = sym->ns->proc_name->ts.type;
+
++ flavor = sym->attr.flavor;
++
+ if (type != BT_UNKNOWN && !(sym->attr.function && sym->attr.implicit_type)
+ && !(gfc_state_stack->previous && gfc_state_stack->previous->previous
+ && gfc_state_stack->previous->previous->state == COMP_SUBMODULE)
+@@ -2007,6 +2009,23 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
+ else if (sym->attr.function && sym->attr.result)
+ gfc_error ("Symbol %qs at %L already has basic type of %s",
+ sym->ns->proc_name->name, where, gfc_basic_typename (type));
++ else if (flag_dec_duplicates)
++ {
++ /* Ignore temporaries and class/procedure names */
++ if (sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS
++ || sym->ts.type == BT_PROCEDURE)
++ return false;
++
++ if (gfc_compare_types (&sym->ts, ts)
++ && (flavor == FL_UNKNOWN || flavor == FL_VARIABLE
++ || flavor == FL_PROCEDURE))
++ {
++ return gfc_notify_std (GFC_STD_LEGACY,
++ "Symbol '%qs' at %L already has "
++ "basic type of %s", sym->name, where,
++ gfc_basic_typename (type));
++ }
++ }
+ else
+ gfc_error ("Symbol %qs at %L already has basic type of %s", sym->name,
+ where, gfc_basic_typename (type));
+@@ -2020,8 +2039,6 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
+ return false;
+ }
+
+- flavor = sym->attr.flavor;
+-
+ if (flavor == FL_PROGRAM || flavor == FL_BLOCK_DATA || flavor == FL_MODULE
+ || flavor == FL_LABEL
+ || (flavor == FL_PROCEDURE && sym->attr.subroutine)
+diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_4.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_4.f90
+new file mode 100644
+index 00000000000..cdd29ea8846
+--- /dev/null
++++ b/gcc/testsuite/gfortran.dg/duplicate_type_4.f90
+@@ -0,0 +1,13 @@
++! { dg-do compile }
++! { dg-options "-std=f95" }
++
++! PR fortran/30239
++! Check for errors when a symbol gets declared a type twice, even if it
++! is the same.
++
++INTEGER FUNCTION foo ()
++ IMPLICIT NONE
++ INTEGER :: x
++ INTEGER :: x ! { dg-error "basic type of" }
++ x = 42
++END FUNCTION foo
+diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_5.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_5.f90
+new file mode 100644
+index 00000000000..00f931809aa
+--- /dev/null
++++ b/gcc/testsuite/gfortran.dg/duplicate_type_5.f90
+@@ -0,0 +1,13 @@
++! { dg-do run }
++! { dg-options "-fdec" }
++!
++! Test case contributed by Mark Eggleston
++!
++
++program test
++ implicit none
++ integer :: x
++ integer :: x
++ x = 42
++ if (x /= 42) stop 1
++end program test
+diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_6.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_6.f90
+new file mode 100644
+index 00000000000..f0df27e323c
+--- /dev/null
++++ b/gcc/testsuite/gfortran.dg/duplicate_type_6.f90
+@@ -0,0 +1,13 @@
++! { dg-do run }
++! { dg-options "-std=legacy -fdec-duplicates" }
++!
++! Test case contributed by Mark Eggleston
++!
++
++program test
++ implicit none
++ integer :: x
++ integer :: x
++ x = 42
++ if (x /= 42) stop 1
++end program test
+diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_7.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_7.f90
+new file mode 100644
+index 00000000000..f32472ff586
+--- /dev/null
++++ b/gcc/testsuite/gfortran.dg/duplicate_type_7.f90
+@@ -0,0 +1,13 @@
++! { dg-do run }
++! { dg-options "-fdec-duplicates" }
++!
++! Test case contributed by Mark Eggleston
++!
++
++program test
++ implicit none
++ integer :: x
++ integer :: x! { dg-warning "Legacy Extension" }
++ x = 42
++ if (x /= 42) stop 1
++end program test
+diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_8.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_8.f90
+new file mode 100644
+index 00000000000..23c94add179
+--- /dev/null
++++ b/gcc/testsuite/gfortran.dg/duplicate_type_8.f90
+@@ -0,0 +1,12 @@
++! { dg-do compile }
++! { dg-options "-fdec -fno-dec-duplicates" }
++!
++! Test case contributed by Mark Eggleston
++!
++
++integer function foo ()
++ implicit none
++ integer :: x
++ integer :: x ! { dg-error "basic type of" }
++ x = 42
++end function foo
+diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_9.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_9.f90
+new file mode 100644
+index 00000000000..d5edee4d8ee
+--- /dev/null
++++ b/gcc/testsuite/gfortran.dg/duplicate_type_9.f90
+@@ -0,0 +1,12 @@
++! { dg-do compile }
++! { dg-options "-fdec-duplicates -fno-dec-duplicates" }
++!
++! Test case contributed by Mark Eggleston
++!
++
++integer function foo ()
++ implicit none
++ integer :: x
++ integer :: x ! { dg-error "basic type of" }
++ x = 42
++end function foo
+--
+2.27.0
+
diff --git a/gcc14-hack.patch b/gcc14-hack.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e98649ef0aa596b11d25c7f6e2b3bbd92d183734
--- /dev/null
+++ b/gcc14-hack.patch
@@ -0,0 +1,126 @@
+--- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100
++++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100
+@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $(
+ libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
+ ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+
++DEFAULTMULTIFLAGS :=
++ifeq ($(MULTISUBDIR),)
++targ:=$(subst -, ,$(target))
++arch:=$(word 1,$(targ))
++ifeq ($(words $(targ)),2)
++osys:=$(word 2,$(targ))
++else
++osys:=$(word 3,$(targ))
++endif
++ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
++ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
++DEFAULTMULTIFLAGS := -m64
++else
++ifeq ($(strip $(filter-out s390%, $(arch))),)
++DEFAULTMULTIFLAGS := -m31
++else
++DEFAULTMULTIFLAGS := -m32
++endif
++endif
++endif
++endif
++
+ # exeext should not be used because it's the *host* exeext. We're building
+ # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
+ # definitions just in case something slips through the safety net provided
+ # by recursive make invocations in gcc/ada/Makefile.in
+ LIBADA_FLAGS_TO_PASS = \
+ "MAKEOVERRIDES=" \
+- "LDFLAGS=$(LDFLAGS)" \
++ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \
+ "LN_S=$(LN_S)" \
+ "SHELL=$(SHELL)" \
+- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
+- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
+- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
++ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
++ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG)" \
+ "THREAD_KIND=$(THREAD_KIND)" \
+ "TRACE=$(TRACE)" \
+@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \
+ "exeext=.exeext.should.not.be.used " \
+ 'CC=the.host.compiler.should.not.be.needed' \
+ "GCC_FOR_TARGET=$(CC)" \
+- "CFLAGS=$(CFLAGS)"
++ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
+
+ .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool
+
+--- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100
++++ config-ml.in 2019-01-11 18:16:23.442726914 +0100
+@@ -511,6 +511,8 @@ multi-do:
+ ADAFLAGS="$(ADAFLAGS) $${flags}" \
+ prefix="$(prefix)" \
+ exec_prefix="$(exec_prefix)" \
++ mandir="$(mandir)" \
++ infodir="$(infodir)" \
+ GOCFLAGS="$(GOCFLAGS) $${flags}" \
+ GDCFLAGS="$(GDCFLAGS) $${flags}" \
+ CXXFLAGS="$(CXXFLAGS) $${flags}" \
+--- libcpp/macro.cc.jj 2019-01-09 13:01:21.420552123 +0100
++++ libcpp/macro.cc 2019-01-11 18:18:17.736876285 +0100
+@@ -3256,8 +3256,6 @@ static cpp_macro *
+ create_iso_definition (cpp_reader *pfile)
+ {
+ bool following_paste_op = false;
+- const char *paste_op_error_msg =
+- N_("'##' cannot appear at either end of a macro expansion");
+ unsigned int num_extra_tokens = 0;
+ unsigned nparms = 0;
+ cpp_hashnode **params = NULL;
+@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile
+ function-like macros, but not at the end. */
+ if (following_paste_op)
+ {
+- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
++ cpp_error (pfile, CPP_DL_ERROR,
++ "'##' cannot appear at either end of a macro "
++ "expansion");
+ goto out;
+ }
+ if (!vaopt_tracker.completed ())
+@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile
+ function-like macros, but not at the beginning. */
+ if (macro->count == 1)
+ {
+- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
++ cpp_error (pfile, CPP_DL_ERROR,
++ "'##' cannot appear at either end of a macro "
++ "expansion");
+ goto out;
+ }
+
+--- libcpp/expr.cc.jj 2019-01-09 13:01:22.415535734 +0100
++++ libcpp/expr.cc 2019-01-11 18:16:23.444726882 +0100
+@@ -803,16 +803,17 @@ cpp_classify_number (cpp_reader *pfile,
+ if ((result & CPP_N_WIDTH) == CPP_N_LARGE
+ && CPP_OPTION (pfile, cpp_warn_long_long))
+ {
+- const char *message = CPP_OPTION (pfile, cplusplus)
+- ? N_("use of C++11 long long integer constant")
+- : N_("use of C99 long long integer constant");
+-
+ if (CPP_OPTION (pfile, c99))
+ cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location,
+- 0, message);
++ 0, CPP_OPTION (pfile, cplusplus)
++ ? N_("use of C++11 long long integer constant")
++ : N_("use of C99 long long integer constant"));
+ else
+ cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG,
+- virtual_location, 0, message);
++ virtual_location, 0,
++ CPP_OPTION (pfile, cplusplus)
++ ? N_("use of C++11 long long integer constant")
++ : N_("use of C99 long long integer constant"));
+ }
+
+ if ((result & CPP_N_SIZE_T) == CPP_N_SIZE_T
diff --git a/gcc14-isl-dl.patch b/gcc14-isl-dl.patch
new file mode 100644
index 0000000000000000000000000000000000000000..20dd8bfee0a82cce3836597cbc7f6f62d40eaf1a
--- /dev/null
+++ b/gcc14-isl-dl.patch
@@ -0,0 +1,716 @@
+--- gcc/Makefile.in.jj 2015-06-06 10:00:25.000000000 +0200
++++ gcc/Makefile.in 2015-11-04 14:56:02.643536437 +0100
+@@ -1063,7 +1063,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
+ # and the system's installed libraries.
+ LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
+ $(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
+-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
++BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
+ $(ZLIB) $(ZSTD_LIB)
+ # Any system libraries needed just for GNAT.
+ SYSLIBS = @GNAT_LIBEXC@
+@@ -2302,6 +2302,15 @@ $(out_object_file): $(out_file)
+ $(common_out_object_file): $(common_out_file)
+ $(COMPILE) $<
+ $(POSTCOMPILE)
++
++graphite%.o : \
++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++graphite.o : \
++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++graphite%.o : \
++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
++graphite.o : \
++ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
+ #
+ # Generate header and source files from the machine description,
+ # and compile them.
+--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
++++ gcc/graphite.h 2022-11-03 19:14:50.369690720 +0100
+@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
+
+ #include "sese.h"
+
++#include
++#include
++
++#define DYNSYMS \
++ DYNSYM (isl_aff_add_coefficient_si); \
++ DYNSYM (isl_aff_free); \
++ DYNSYM (isl_aff_get_space); \
++ DYNSYM (isl_aff_set_coefficient_si); \
++ DYNSYM (isl_aff_set_constant_si); \
++ DYNSYM (isl_aff_zero_on_domain); \
++ /* DYNSYM (isl_band_free); */ \
++ /* DYNSYM (isl_band_get_children); */ \
++ /* DYNSYM (isl_band_get_partial_schedule); */ \
++ /* DYNSYM (isl_band_has_children); */ \
++ /* DYNSYM (isl_band_list_free); */ \
++ /* DYNSYM (isl_band_list_get_band); */ \
++ /* DYNSYM (isl_band_list_get_ctx); */ \
++ /* DYNSYM (isl_band_list_n_band); */ \
++ /* DYNSYM (isl_band_n_member); */ \
++ DYNSYM (isl_basic_map_add_constraint); \
++ DYNSYM (isl_basic_map_project_out); \
++ DYNSYM (isl_basic_map_universe); \
++ DYNSYM (isl_constraint_set_coefficient_si); \
++ DYNSYM (isl_constraint_set_constant_si); \
++ DYNSYM (isl_ctx_alloc); \
++ DYNSYM (isl_ctx_free); \
++ DYNSYM (isl_equality_alloc); \
++ DYNSYM (isl_id_alloc); \
++ DYNSYM (isl_id_copy); \
++ DYNSYM (isl_id_free); \
++ DYNSYM (isl_inequality_alloc); \
++ DYNSYM (isl_local_space_copy); \
++ DYNSYM (isl_local_space_free); \
++ DYNSYM (isl_local_space_from_space); \
++ DYNSYM (isl_local_space_range); \
++ DYNSYM (isl_map_add_constraint); \
++ DYNSYM (isl_map_add_dims); \
++ DYNSYM (isl_map_align_params); \
++ DYNSYM (isl_map_apply_range); \
++ DYNSYM (isl_map_copy); \
++ DYNSYM (isl_map_dim); \
++ DYNSYM (isl_map_dump); \
++ DYNSYM (isl_map_equate); \
++ DYNSYM (isl_map_fix_si); \
++ DYNSYM (isl_map_flat_product); \
++ DYNSYM (isl_map_flat_range_product); \
++ DYNSYM (isl_map_free); \
++ DYNSYM (isl_map_from_basic_map); \
++ DYNSYM (isl_map_from_pw_aff); \
++ DYNSYM (isl_map_from_union_map); \
++ DYNSYM (isl_map_get_ctx); \
++ DYNSYM (isl_map_get_space); \
++ DYNSYM (isl_map_get_tuple_id); \
++ DYNSYM (isl_map_insert_dims); \
++ DYNSYM (isl_map_intersect); \
++ DYNSYM (isl_map_intersect_domain); \
++ DYNSYM (isl_map_intersect_range); \
++ DYNSYM (isl_map_is_empty); \
++ DYNSYM (isl_map_lex_ge); \
++ DYNSYM (isl_map_lex_le); \
++ /* DYNSYM (isl_map_n_out); */ \
++ DYNSYM (isl_map_range); \
++ DYNSYM (isl_map_set_tuple_id); \
++ DYNSYM (isl_map_universe); \
++ DYNSYM (isl_options_set_on_error); \
++ DYNSYM (isl_options_set_schedule_serialize_sccs); \
++ DYNSYM (isl_printer_set_yaml_style); \
++ DYNSYM (isl_options_set_schedule_max_constant_term); \
++ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
++ DYNSYM (isl_printer_free); \
++ DYNSYM (isl_printer_print_aff); \
++ DYNSYM (isl_printer_print_constraint); \
++ DYNSYM (isl_printer_print_map); \
++ DYNSYM (isl_printer_print_set); \
++ DYNSYM (isl_printer_to_file); \
++ DYNSYM (isl_pw_aff_add); \
++ DYNSYM (isl_pw_aff_alloc); \
++ DYNSYM (isl_pw_aff_copy); \
++ DYNSYM (isl_pw_aff_eq_set); \
++ DYNSYM (isl_pw_aff_free); \
++ DYNSYM (isl_pw_aff_from_aff); \
++ DYNSYM (isl_pw_aff_ge_set); \
++ DYNSYM (isl_pw_aff_gt_set); \
++ DYNSYM (isl_pw_aff_is_cst); \
++ DYNSYM (isl_pw_aff_le_set); \
++ DYNSYM (isl_pw_aff_lt_set); \
++ DYNSYM (isl_pw_aff_mul); \
++ DYNSYM (isl_pw_aff_ne_set); \
++ DYNSYM (isl_pw_aff_nonneg_set); \
++ DYNSYM (isl_pw_aff_set_tuple_id); \
++ DYNSYM (isl_pw_aff_sub); \
++ DYNSYM (isl_pw_aff_zero_set); \
++ DYNSYM (isl_schedule_free); \
++ /* DYNSYM (isl_schedule_get_band_forest); */ \
++ DYNSYM (isl_set_add_constraint); \
++ DYNSYM (isl_set_add_dims); \
++ DYNSYM (isl_set_apply); \
++ DYNSYM (isl_set_coalesce); \
++ DYNSYM (isl_set_copy); \
++ DYNSYM (isl_set_dim); \
++ DYNSYM (isl_set_fix_si); \
++ DYNSYM (isl_set_free); \
++ DYNSYM (isl_set_get_space); \
++ DYNSYM (isl_set_get_tuple_id); \
++ DYNSYM (isl_set_intersect); \
++ DYNSYM (isl_set_is_empty); \
++ DYNSYM (isl_set_n_dim); \
++ DYNSYM (isl_set_nat_universe); \
++ DYNSYM (isl_set_project_out); \
++ DYNSYM (isl_set_set_tuple_id); \
++ DYNSYM (isl_set_universe); \
++ DYNSYM (isl_space_add_dims); \
++ DYNSYM (isl_space_alloc); \
++ DYNSYM (isl_space_copy); \
++ DYNSYM (isl_space_dim); \
++ DYNSYM (isl_space_domain); \
++ DYNSYM (isl_space_find_dim_by_id); \
++ DYNSYM (isl_space_free); \
++ DYNSYM (isl_space_from_domain); \
++ DYNSYM (isl_space_get_tuple_id); \
++ DYNSYM (isl_space_params_alloc); \
++ DYNSYM (isl_space_range); \
++ DYNSYM (isl_space_set_alloc); \
++ DYNSYM (isl_space_set_dim_id); \
++ DYNSYM (isl_space_set_tuple_id); \
++ DYNSYM (isl_union_map_add_map); \
++ DYNSYM (isl_union_map_align_params); \
++ DYNSYM (isl_union_map_apply_domain); \
++ DYNSYM (isl_union_map_apply_range); \
++ DYNSYM (isl_union_map_compute_flow); \
++ DYNSYM (isl_union_map_copy); \
++ DYNSYM (isl_union_map_empty); \
++ DYNSYM (isl_union_map_flat_range_product); \
++ DYNSYM (isl_union_map_foreach_map); \
++ DYNSYM (isl_union_map_free); \
++ DYNSYM (isl_union_map_from_map); \
++ DYNSYM (isl_union_map_get_ctx); \
++ DYNSYM (isl_union_map_get_space); \
++ DYNSYM (isl_union_map_gist_domain); \
++ DYNSYM (isl_union_map_gist_range); \
++ DYNSYM (isl_union_map_intersect_domain); \
++ DYNSYM (isl_union_map_is_empty); \
++ DYNSYM (isl_union_map_subtract); \
++ DYNSYM (isl_union_map_union); \
++ DYNSYM (isl_union_set_add_set); \
++ DYNSYM (isl_union_set_compute_schedule); \
++ DYNSYM (isl_union_set_copy); \
++ DYNSYM (isl_union_set_empty); \
++ DYNSYM (isl_union_set_from_set); \
++ DYNSYM (isl_aff_add_constant_val); \
++ DYNSYM (isl_aff_get_coefficient_val); \
++ DYNSYM (isl_aff_get_ctx); \
++ DYNSYM (isl_aff_mod_val); \
++ DYNSYM (isl_ast_build_ast_from_schedule); \
++ DYNSYM (isl_ast_build_free); \
++ DYNSYM (isl_ast_build_from_context); \
++ DYNSYM (isl_ast_build_get_ctx); \
++ DYNSYM (isl_ast_build_get_schedule); \
++ DYNSYM (isl_ast_build_get_schedule_space); \
++ DYNSYM (isl_ast_build_set_before_each_for); \
++ DYNSYM (isl_ast_build_set_options); \
++ DYNSYM (isl_ast_expr_free); \
++ DYNSYM (isl_ast_expr_from_val); \
++ DYNSYM (isl_ast_expr_get_ctx); \
++ DYNSYM (isl_ast_expr_get_id); \
++ DYNSYM (isl_ast_expr_get_op_arg); \
++ DYNSYM (isl_ast_expr_get_op_n_arg); \
++ DYNSYM (isl_ast_expr_get_op_type); \
++ DYNSYM (isl_ast_expr_get_type); \
++ DYNSYM (isl_ast_expr_get_val); \
++ DYNSYM (isl_ast_expr_sub); \
++ DYNSYM (isl_ast_node_block_get_children); \
++ DYNSYM (isl_ast_node_for_get_body); \
++ DYNSYM (isl_ast_node_for_get_cond); \
++ DYNSYM (isl_ast_node_for_get_inc); \
++ DYNSYM (isl_ast_node_for_get_init); \
++ DYNSYM (isl_ast_node_for_get_iterator); \
++ DYNSYM (isl_ast_node_free); \
++ DYNSYM (isl_ast_node_get_annotation); \
++ DYNSYM (isl_ast_node_get_type); \
++ DYNSYM (isl_ast_node_if_get_cond); \
++ DYNSYM (isl_ast_node_if_get_else); \
++ DYNSYM (isl_ast_node_if_get_then); \
++ DYNSYM (isl_ast_node_list_free); \
++ DYNSYM (isl_ast_node_list_get_ast_node); \
++ DYNSYM (isl_ast_node_list_n_ast_node); \
++ DYNSYM (isl_ast_node_user_get_expr); \
++ DYNSYM (isl_constraint_set_coefficient_val); \
++ DYNSYM (isl_constraint_set_constant_val); \
++ DYNSYM (isl_id_get_user); \
++ DYNSYM (isl_local_space_get_ctx); \
++ DYNSYM (isl_map_fix_val); \
++ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \
++ DYNSYM (isl_printer_print_ast_node); \
++ DYNSYM (isl_printer_print_str); \
++ DYNSYM (isl_printer_set_output_format); \
++ DYNSYM (isl_pw_aff_mod_val); \
++ DYNSYM (isl_schedule_constraints_compute_schedule); \
++ DYNSYM (isl_schedule_constraints_on_domain); \
++ DYNSYM (isl_schedule_constraints_set_coincidence); \
++ DYNSYM (isl_schedule_constraints_set_proximity); \
++ DYNSYM (isl_schedule_constraints_set_validity); \
++ DYNSYM (isl_set_get_dim_id); \
++ DYNSYM (isl_set_max_val); \
++ DYNSYM (isl_set_min_val); \
++ DYNSYM (isl_set_params); \
++ DYNSYM (isl_space_align_params); \
++ DYNSYM (isl_space_map_from_domain_and_range); \
++ DYNSYM (isl_space_set_tuple_name); \
++ DYNSYM (isl_space_wrap); \
++ DYNSYM (isl_union_map_from_domain_and_range); \
++ DYNSYM (isl_union_map_range); \
++ DYNSYM (isl_union_set_union); \
++ DYNSYM (isl_union_set_universe); \
++ DYNSYM (isl_val_2exp); \
++ DYNSYM (isl_val_add_ui); \
++ DYNSYM (isl_val_copy); \
++ DYNSYM (isl_val_free); \
++ DYNSYM (isl_val_int_from_si); \
++ DYNSYM (isl_val_int_from_ui); \
++ DYNSYM (isl_val_mul); \
++ DYNSYM (isl_val_neg); \
++ DYNSYM (isl_val_sub); \
++ DYNSYM (isl_printer_print_union_map); \
++ DYNSYM (isl_pw_aff_get_ctx); \
++ DYNSYM (isl_val_is_int); \
++ DYNSYM (isl_ctx_get_max_operations); \
++ DYNSYM (isl_ctx_set_max_operations); \
++ DYNSYM (isl_ctx_last_error); \
++ DYNSYM (isl_ctx_reset_operations); \
++ DYNSYM (isl_map_coalesce); \
++ DYNSYM (isl_printer_print_schedule); \
++ DYNSYM (isl_set_set_dim_id); \
++ DYNSYM (isl_union_map_coalesce); \
++ DYNSYM (isl_multi_val_set_val); \
++ DYNSYM (isl_multi_val_zero); \
++ DYNSYM (isl_options_set_schedule_max_coefficient); \
++ DYNSYM (isl_options_set_tile_scale_tile_loops); \
++ DYNSYM (isl_schedule_copy); \
++ DYNSYM (isl_schedule_get_map); \
++ DYNSYM (isl_schedule_map_schedule_node_bottom_up); \
++ DYNSYM (isl_schedule_node_band_get_permutable); \
++ DYNSYM (isl_schedule_node_band_get_space); \
++ DYNSYM (isl_schedule_node_band_tile); \
++ DYNSYM (isl_schedule_node_child); \
++ DYNSYM (isl_schedule_node_free); \
++ DYNSYM (isl_schedule_node_get_child); \
++ DYNSYM (isl_schedule_node_get_ctx); \
++ DYNSYM (isl_schedule_node_get_type); \
++ DYNSYM (isl_schedule_node_n_children); \
++ DYNSYM (isl_union_map_is_equal); \
++ DYNSYM (isl_union_access_info_compute_flow); \
++ DYNSYM (isl_union_access_info_from_sink); \
++ DYNSYM (isl_union_access_info_set_may_source); \
++ DYNSYM (isl_union_access_info_set_must_source); \
++ DYNSYM (isl_union_access_info_set_schedule); \
++ DYNSYM (isl_union_flow_free); \
++ DYNSYM (isl_union_flow_get_may_dependence); \
++ DYNSYM (isl_union_flow_get_must_dependence); \
++ DYNSYM (isl_aff_var_on_domain); \
++ DYNSYM (isl_multi_aff_from_aff); \
++ DYNSYM (isl_schedule_get_ctx); \
++ DYNSYM (isl_multi_aff_set_tuple_id); \
++ DYNSYM (isl_multi_aff_dim); \
++ DYNSYM (isl_schedule_get_domain); \
++ DYNSYM (isl_union_set_is_empty); \
++ DYNSYM (isl_union_set_get_space); \
++ DYNSYM (isl_union_pw_multi_aff_empty); \
++ DYNSYM (isl_union_set_foreach_set); \
++ DYNSYM (isl_union_set_free); \
++ DYNSYM (isl_multi_union_pw_aff_from_union_pw_multi_aff); \
++ DYNSYM (isl_multi_union_pw_aff_apply_multi_aff); \
++ DYNSYM (isl_schedule_insert_partial_schedule); \
++ DYNSYM (isl_union_pw_multi_aff_free); \
++ DYNSYM (isl_pw_multi_aff_project_out_map); \
++ DYNSYM (isl_union_pw_multi_aff_add_pw_multi_aff); \
++ DYNSYM (isl_schedule_from_domain); \
++ DYNSYM (isl_schedule_sequence); \
++ DYNSYM (isl_ast_build_node_from_schedule); \
++ DYNSYM (isl_ast_node_mark_get_node); \
++ DYNSYM (isl_schedule_node_band_member_get_ast_loop_type); \
++ DYNSYM (isl_schedule_node_band_member_set_ast_loop_type); \
++ DYNSYM (isl_val_n_abs_num_chunks); \
++ DYNSYM (isl_val_get_abs_num_chunks); \
++ DYNSYM (isl_val_int_from_chunks); \
++ DYNSYM (isl_val_is_neg); \
++ DYNSYM (isl_version); \
++ DYNSYM (isl_options_get_on_error); \
++ DYNSYM (isl_ctx_reset_error);
++
++extern struct isl_pointers_s__
++{
++ bool inited;
++ void *h;
++#define DYNSYM(x) __typeof (x) *p_##x
++ DYNSYMS
++#undef DYNSYM
++} isl_pointers__;
++
++#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si)
++#define isl_aff_free (*isl_pointers__.p_isl_aff_free)
++#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space)
++#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si)
++#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si)
++#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain)
++#define isl_band_free (*isl_pointers__.p_isl_band_free)
++#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children)
++#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule)
++#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children)
++#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free)
++#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band)
++#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx)
++#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band)
++#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member)
++#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint)
++#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out)
++#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe)
++#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si)
++#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si)
++#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc)
++#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free)
++#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc)
++#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc)
++#define isl_id_copy (*isl_pointers__.p_isl_id_copy)
++#define isl_id_free (*isl_pointers__.p_isl_id_free)
++#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc)
++#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy)
++#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free)
++#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space)
++#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range)
++#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint)
++#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims)
++#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params)
++#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range)
++#define isl_map_copy (*isl_pointers__.p_isl_map_copy)
++#define isl_map_dim (*isl_pointers__.p_isl_map_dim)
++#define isl_map_dump (*isl_pointers__.p_isl_map_dump)
++#define isl_map_equate (*isl_pointers__.p_isl_map_equate)
++#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si)
++#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product)
++#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product)
++#define isl_map_free (*isl_pointers__.p_isl_map_free)
++#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map)
++#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff)
++#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map)
++#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx)
++#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space)
++#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id)
++#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims)
++#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect)
++#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain)
++#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range)
++#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty)
++#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge)
++#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le)
++#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out)
++#define isl_map_range (*isl_pointers__.p_isl_map_range)
++#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id)
++#define isl_map_universe (*isl_pointers__.p_isl_map_universe)
++#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error)
++#define isl_options_set_schedule_serialize_sccs (*isl_pointers__.p_isl_options_set_schedule_serialize_sccs)
++#define isl_printer_set_yaml_style (*isl_pointers__.p_isl_printer_set_yaml_style)
++#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term)
++#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth)
++#define isl_printer_free (*isl_pointers__.p_isl_printer_free)
++#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff)
++#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint)
++#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map)
++#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set)
++#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file)
++#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add)
++#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc)
++#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy)
++#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set)
++#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free)
++#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff)
++#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set)
++#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set)
++#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst)
++#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set)
++#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set)
++#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul)
++#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set)
++#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set)
++#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id)
++#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub)
++#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set)
++#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free)
++#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest)
++#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint)
++#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims)
++#define isl_set_apply (*isl_pointers__.p_isl_set_apply)
++#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce)
++#define isl_set_copy (*isl_pointers__.p_isl_set_copy)
++#define isl_set_dim (*isl_pointers__.p_isl_set_dim)
++#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si)
++#define isl_set_free (*isl_pointers__.p_isl_set_free)
++#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space)
++#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id)
++#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect)
++#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty)
++#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim)
++#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe)
++#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out)
++#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id)
++#define isl_set_universe (*isl_pointers__.p_isl_set_universe)
++#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims)
++#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc)
++#define isl_space_copy (*isl_pointers__.p_isl_space_copy)
++#define isl_space_dim (*isl_pointers__.p_isl_space_dim)
++#define isl_space_domain (*isl_pointers__.p_isl_space_domain)
++#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id)
++#define isl_space_free (*isl_pointers__.p_isl_space_free)
++#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain)
++#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id)
++#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc)
++#define isl_space_range (*isl_pointers__.p_isl_space_range)
++#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc)
++#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id)
++#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id)
++#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map)
++#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params)
++#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain)
++#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range)
++#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow)
++#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy)
++#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty)
++#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product)
++#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map)
++#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free)
++#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map)
++#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx)
++#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space)
++#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain)
++#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range)
++#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain)
++#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty)
++#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract)
++#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union)
++#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set)
++#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule)
++#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy)
++#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty)
++#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set)
++#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val)
++#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val)
++#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx)
++#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val)
++#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule)
++#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free)
++#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context)
++#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx)
++#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule)
++#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space)
++#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for)
++#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options)
++#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free)
++#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val)
++#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx)
++#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id)
++#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg)
++#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg)
++#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type)
++#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type)
++#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val)
++#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub)
++#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children)
++#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body)
++#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond)
++#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc)
++#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init)
++#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator)
++#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free)
++#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation)
++#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type)
++#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond)
++#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else)
++#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then)
++#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free)
++#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node)
++#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node)
++#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr)
++#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val)
++#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val)
++#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user)
++#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx)
++#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val)
++#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound)
++#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node)
++#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str)
++#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format)
++#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val)
++#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule)
++#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain)
++#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence)
++#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity)
++#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity)
++#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id)
++#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val)
++#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val)
++#define isl_set_params (*isl_pointers__.p_isl_set_params)
++#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params)
++#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range)
++#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name)
++#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap)
++#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range)
++#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range)
++#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union)
++#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe)
++#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp)
++#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui)
++#define isl_val_copy (*isl_pointers__.p_isl_val_copy)
++#define isl_val_free (*isl_pointers__.p_isl_val_free)
++#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si)
++#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui)
++#define isl_val_mul (*isl_pointers__.p_isl_val_mul)
++#define isl_val_neg (*isl_pointers__.p_isl_val_neg)
++#define isl_val_sub (*isl_pointers__.p_isl_val_sub)
++#define isl_printer_print_union_map (*isl_pointers__.p_isl_printer_print_union_map)
++#define isl_pw_aff_get_ctx (*isl_pointers__.p_isl_pw_aff_get_ctx)
++#define isl_val_is_int (*isl_pointers__.p_isl_val_is_int)
++#define isl_ctx_get_max_operations (*isl_pointers__.p_isl_ctx_get_max_operations)
++#define isl_ctx_set_max_operations (*isl_pointers__.p_isl_ctx_set_max_operations)
++#define isl_ctx_last_error (*isl_pointers__.p_isl_ctx_last_error)
++#define isl_ctx_reset_operations (*isl_pointers__.p_isl_ctx_reset_operations)
++#define isl_map_coalesce (*isl_pointers__.p_isl_map_coalesce)
++#define isl_printer_print_schedule (*isl_pointers__.p_isl_printer_print_schedule)
++#define isl_set_set_dim_id (*isl_pointers__.p_isl_set_set_dim_id)
++#define isl_union_map_coalesce (*isl_pointers__.p_isl_union_map_coalesce)
++#define isl_multi_val_set_val (*isl_pointers__.p_isl_multi_val_set_val)
++#define isl_multi_val_zero (*isl_pointers__.p_isl_multi_val_zero)
++#define isl_options_set_schedule_max_coefficient (*isl_pointers__.p_isl_options_set_schedule_max_coefficient)
++#define isl_options_set_tile_scale_tile_loops (*isl_pointers__.p_isl_options_set_tile_scale_tile_loops)
++#define isl_schedule_copy (*isl_pointers__.p_isl_schedule_copy)
++#define isl_schedule_get_map (*isl_pointers__.p_isl_schedule_get_map)
++#define isl_schedule_map_schedule_node_bottom_up (*isl_pointers__.p_isl_schedule_map_schedule_node_bottom_up)
++#define isl_schedule_node_band_get_permutable (*isl_pointers__.p_isl_schedule_node_band_get_permutable)
++#define isl_schedule_node_band_get_space (*isl_pointers__.p_isl_schedule_node_band_get_space)
++#define isl_schedule_node_band_tile (*isl_pointers__.p_isl_schedule_node_band_tile)
++#define isl_schedule_node_child (*isl_pointers__.p_isl_schedule_node_child)
++#define isl_schedule_node_free (*isl_pointers__.p_isl_schedule_node_free)
++#define isl_schedule_node_get_child (*isl_pointers__.p_isl_schedule_node_get_child)
++#define isl_schedule_node_get_ctx (*isl_pointers__.p_isl_schedule_node_get_ctx)
++#define isl_schedule_node_get_type (*isl_pointers__.p_isl_schedule_node_get_type)
++#define isl_schedule_node_n_children (*isl_pointers__.p_isl_schedule_node_n_children)
++#define isl_union_map_is_equal (*isl_pointers__.p_isl_union_map_is_equal)
++#define isl_union_access_info_compute_flow (*isl_pointers__.p_isl_union_access_info_compute_flow)
++#define isl_union_access_info_from_sink (*isl_pointers__.p_isl_union_access_info_from_sink)
++#define isl_union_access_info_set_may_source (*isl_pointers__.p_isl_union_access_info_set_may_source)
++#define isl_union_access_info_set_must_source (*isl_pointers__.p_isl_union_access_info_set_must_source)
++#define isl_union_access_info_set_schedule (*isl_pointers__.p_isl_union_access_info_set_schedule)
++#define isl_union_flow_free (*isl_pointers__.p_isl_union_flow_free)
++#define isl_union_flow_get_may_dependence (*isl_pointers__.p_isl_union_flow_get_may_dependence)
++#define isl_union_flow_get_must_dependence (*isl_pointers__.p_isl_union_flow_get_must_dependence)
++#define isl_aff_var_on_domain (*isl_pointers__.p_isl_aff_var_on_domain)
++#define isl_multi_aff_from_aff (*isl_pointers__.p_isl_multi_aff_from_aff)
++#define isl_schedule_get_ctx (*isl_pointers__.p_isl_schedule_get_ctx)
++#define isl_multi_aff_set_tuple_id (*isl_pointers__.p_isl_multi_aff_set_tuple_id)
++#define isl_multi_aff_dim (*isl_pointers__.p_isl_multi_aff_dim)
++#define isl_schedule_get_domain (*isl_pointers__.p_isl_schedule_get_domain)
++#define isl_union_set_is_empty (*isl_pointers__.p_isl_union_set_is_empty)
++#define isl_union_set_get_space (*isl_pointers__.p_isl_union_set_get_space)
++#define isl_union_pw_multi_aff_empty (*isl_pointers__.p_isl_union_pw_multi_aff_empty)
++#define isl_union_set_foreach_set (*isl_pointers__.p_isl_union_set_foreach_set)
++#define isl_union_set_free (*isl_pointers__.p_isl_union_set_free)
++#define isl_multi_union_pw_aff_from_union_pw_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_from_union_pw_multi_aff)
++#define isl_multi_union_pw_aff_apply_multi_aff (*isl_pointers__.p_isl_multi_union_pw_aff_apply_multi_aff)
++#define isl_schedule_insert_partial_schedule (*isl_pointers__.p_isl_schedule_insert_partial_schedule)
++#define isl_union_pw_multi_aff_free (*isl_pointers__.p_isl_union_pw_multi_aff_free)
++#define isl_pw_multi_aff_project_out_map (*isl_pointers__.p_isl_pw_multi_aff_project_out_map)
++#define isl_union_pw_multi_aff_add_pw_multi_aff (*isl_pointers__.p_isl_union_pw_multi_aff_add_pw_multi_aff)
++#define isl_schedule_from_domain (*isl_pointers__.p_isl_schedule_from_domain)
++#define isl_schedule_sequence (*isl_pointers__.p_isl_schedule_sequence)
++#define isl_ast_build_node_from_schedule (*isl_pointers__.p_isl_ast_build_node_from_schedule)
++#define isl_ast_node_mark_get_node (*isl_pointers__.p_isl_ast_node_mark_get_node)
++#define isl_schedule_node_band_member_get_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_get_ast_loop_type)
++#define isl_schedule_node_band_member_set_ast_loop_type (*isl_pointers__.p_isl_schedule_node_band_member_set_ast_loop_type)
++#define isl_val_n_abs_num_chunks (*isl_pointers__.p_isl_val_n_abs_num_chunks)
++#define isl_val_get_abs_num_chunks (*isl_pointers__.p_isl_val_get_abs_num_chunks)
++#define isl_val_int_from_chunks (*isl_pointers__.p_isl_val_int_from_chunks)
++#define isl_val_is_neg (*isl_pointers__.p_isl_val_is_neg)
++#define isl_version (*isl_pointers__.p_isl_version)
++#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
++#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
++
+ typedef struct poly_dr *poly_dr_p;
+
+ typedef struct poly_bb *poly_bb_p;
+@@ -448,5 +1033,6 @@ extern tree cached_scalar_evolution_in_r
+ extern void dot_all_sese (FILE *, vec &);
+ extern void dot_sese (sese_l &);
+ extern void dot_cfg ();
++extern const char *get_isl_version (bool);
+
+ #endif
+--- gcc/graphite.cc.jj 2015-11-04 14:15:32.000000000 +0100
++++ gcc/graphite.cc 2015-11-04 14:56:02.645536409 +0100
+@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
+ #include "tree-ssa-propagate.h"
+ #include "graphite.h"
+
++__typeof (isl_pointers__) isl_pointers__;
++
++static bool
++init_isl_pointers (void)
++{
++ void *h;
++
++ if (isl_pointers__.inited)
++ return isl_pointers__.h != NULL;
++ h = dlopen ("libisl.so.23", RTLD_LAZY);
++ isl_pointers__.h = h;
++ if (h == NULL)
++ return false;
++#define DYNSYM(x) \
++ do \
++ { \
++ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \
++ u.q = dlsym (h, #x); \
++ if (u.q == NULL) \
++ return false; \
++ isl_pointers__.p_##x = u.p; \
++ } \
++ while (0)
++ DYNSYMS
++#undef DYNSYM
++ isl_pointers__.inited = true;
++ return true;
++}
++
+ /* Print global statistics to FILE. */
+
+ static void
+@@ -424,6 +453,15 @@ graphite_transform_loops (void)
+ if (parallelized_function_p (cfun->decl))
+ return;
+
++ if (number_of_loops (cfun) <= 1)
++ return;
++
++ if (!init_isl_pointers ())
++ {
++ sorry ("Graphite loop optimizations cannot be used");
++ return;
++ }
++
+ calculate_dominance_info (CDI_DOMINATORS);
+
+ /* We rely on post-dominators during merging of SESE regions so those
+@@ -519,6 +557,14 @@ graphite_transform_loops (void)
+ }
+ }
+
++const char *
++get_isl_version (bool force)
++{
++ if (force)
++ init_isl_pointers ();
++ return (isl_pointers__.inited && isl_version) ? isl_version () : "none";
++}
++
+ #else /* If isl is not available: #ifndef HAVE_isl. */
+
+ static void
+--- gcc/toplev.cc.jj 2017-02-19 13:02:31.000000000 +0100
++++ gcc/toplev.cc 2017-02-19 16:50:25.536301350 +0100
+@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
+
+ #ifdef HAVE_isl
+ #include
++extern const char *get_isl_version (bool);
+ #endif
+
+ static void general_init (const char *, bool);
+@@ -683,7 +684,7 @@ print_version (FILE *file, const char *i
+ #ifndef HAVE_isl
+ "none"
+ #else
+- isl_version ()
++ get_isl_version (*indent == 0)
+ #endif
+ );
+ if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version))
diff --git a/gcc14-isl-dl2.patch b/gcc14-isl-dl2.patch
new file mode 100644
index 0000000000000000000000000000000000000000..2e12499b4739a9574393361068bae7c86dcf2c72
--- /dev/null
+++ b/gcc14-isl-dl2.patch
@@ -0,0 +1,71 @@
+2011-04-04 Jakub Jelinek
+
+ * toplev.cc (toplev_main_argv): New variable.
+ (toplev_main): Initialize it.
+ * graphite.cc (init_isl_pointers): Load libisl.so.23 from gcc's private
+ directory.
+
+--- gcc/toplev.cc.jj 2008-12-09 23:59:10.000000000 +0100
++++ gcc/toplev.cc 2009-01-27 14:33:52.000000000 +0100
+@@ -113,6 +113,8 @@ static void finalize (bool);
+ static void crash_signal (int) ATTRIBUTE_NORETURN;
+ static void compile_file (void);
+
++const char **toplev_main_argv;
++
+ /* Decoded options, and number of such options. */
+ struct cl_decoded_option *save_decoded_options;
+ unsigned int save_decoded_options_count;
+@@ -2239,6 +2241,8 @@ toplev::main (int argc, char **argv)
+
+ expandargv (&argc, &argv);
+
++ toplev_main_argv = CONST_CAST2 (const char **, char **, argv);
++
+ /* Initialization of GCC's environment, and diagnostics. */
+ general_init (argv[0], m_init_signals);
+
+--- gcc/graphite.cc.jj 2010-12-01 10:24:32.000000000 -0500
++++ gcc/graphite.cc 2010-12-01 11:46:07.832118193 -0500
+@@ -64,11 +64,39 @@ __typeof (isl_pointers__) isl_pointers__
+ static bool
+ init_isl_pointers (void)
+ {
+- void *h;
++ void *h = NULL;
++ extern const char **toplev_main_argv;
++ char *buf, *p;
++ size_t len;
+
+ if (isl_pointers__.inited)
+ return isl_pointers__.h != NULL;
+- h = dlopen ("libisl.so.23", RTLD_LAZY);
++ len = progname - toplev_main_argv[0];
++ buf = XALLOCAVAR (char, len + sizeof "libisl.so.23");
++ memcpy (buf, toplev_main_argv[0], len);
++ strcpy (buf + len, "libisl.so.23");
++ len += sizeof "libisl.so.23";
++ p = strstr (buf, "/libexec/");
++ if (p != NULL)
++ {
++ while (1)
++ {
++ char *q = strstr (p + 8, "/libexec/");
++ if (q == NULL)
++ break;
++ p = q;
++ }
++ memmove (p + 4, p + 8, len - (p + 8 - buf));
++ h = dlopen (buf, RTLD_LAZY);
++ if (h == NULL)
++ {
++ len = progname - toplev_main_argv[0];
++ memcpy (buf, toplev_main_argv[0], len);
++ strcpy (buf + len, "libisl.so.23");
++ }
++ }
++ if (h == NULL)
++ h = dlopen (buf, RTLD_LAZY);
+ isl_pointers__.h = h;
+ if (h == NULL)
+ return false;
diff --git a/gcc14-libgfortran-compat.patch b/gcc14-libgfortran-compat.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3cb6e05e79f9dabb1a03f14ca3a4cf17311e1d6f
--- /dev/null
+++ b/gcc14-libgfortran-compat.patch
@@ -0,0 +1,754 @@
+--- libgfortran/Makefile.am.jj 2024-04-26 11:47:02.740161941 +0200
++++ libgfortran/Makefile.am 2024-07-19 16:22:00.633418680 +0200
+@@ -50,6 +50,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
+ $(lt_host_flags)
+
+ toolexeclib_LTLIBRARIES = libgfortran.la
++noinst_LTLIBRARIES = libgfortran_nonshared80.la libgfortran_nonshared110.la
+ toolexeclib_DATA = libgfortran.spec
+ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
+@@ -1128,6 +1129,98 @@ BUILT_SOURCES=$(gfor_built_src) $(gfor_b
+ libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
+ $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
+
++$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/generated/%.c
++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/generated/%.c
++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/intrinsics/%.c
++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/intrinsics/%.c
++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/runtime/%.c
++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/runtime/%.c
++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.f90,%.lo,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/intrinsics/%.f90
++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
++
++$(patsubst %.f90,%.o,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/intrinsics/%.f90
++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
++
++nonshared_runtime_C_SRC = \
++nonshared-ISO_Fortran_binding.c
++
++nonshared_io_C_SRC = \
++$(srcdir)/io/nonshared-transfer.c
++
++nonshared_generated_C_SRC = \
++nonshared-findloc0_i1.c \
++nonshared-findloc0_i2.c \
++nonshared-findloc0_i4.c \
++nonshared-findloc0_i8.c \
++nonshared-findloc0_i16.c \
++nonshared-findloc0_r4.c \
++nonshared-findloc0_r8.c \
++nonshared-findloc0_r10.c \
++nonshared-findloc0_r16.c \
++nonshared-findloc0_c4.c \
++nonshared-findloc0_c8.c \
++nonshared-findloc0_c10.c \
++nonshared-findloc0_c16.c \
++nonshared-findloc0_s1.c \
++nonshared-findloc0_s4.c \
++nonshared-findloc1_i1.c \
++nonshared-findloc1_i2.c \
++nonshared-findloc1_i4.c \
++nonshared-findloc1_i8.c \
++nonshared-findloc1_i16.c \
++nonshared-findloc1_r4.c \
++nonshared-findloc1_r8.c \
++nonshared-findloc1_r10.c \
++nonshared-findloc1_r16.c \
++nonshared-findloc1_c4.c \
++nonshared-findloc1_c8.c \
++nonshared-findloc1_c10.c \
++nonshared-findloc1_c16.c \
++nonshared-findloc1_s1.c \
++nonshared-findloc1_s4.c \
++nonshared-findloc2_s1.c \
++nonshared-findloc2_s4.c
++
++nonshared_intrinsics_C_SRC = \
++nonshared-is_contiguous.c \
++nonshared-trigd.c
++
++nonshared_intrinsics_f90_SRC = \
++nonshared-random_init.f90
++
++libgfortran_nonshared80_la_SOURCES = \
++$(nonshared_runtime_C_SRC) \
++$(nonshared_generated_C_SRC) \
++$(nonshared_intrinsics_C_SRC) \
++$(nonshared_intrinsics_f90_SRC) \
++$(srcdir)/ieee/nonshared-ieee_arithmetic.c \
++$(srcdir)/ieee/nonshared-ieee_exceptions.c \
++$(srcdir)/io/nonshared-transfer.c \
++$(srcdir)/runtime/nonshared-error.c
++
++libgfortran_nonshared110_la_SOURCES = \
++$(srcdir)/ieee/nonshared-ieee_exceptions.c
++
+ I_M4_DEPS=m4/iparm.m4 m4/mtype.m4
+ I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
+ I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4
+--- libgfortran/ieee/nonshared-ieee_exceptions.c.jj 2024-07-19 16:22:00.655418401 +0200
++++ libgfortran/ieee/nonshared-ieee_exceptions.c 2024-07-19 16:22:00.655418401 +0200
+@@ -0,0 +1,50 @@
++/* Helper functions in C for IEEE modules
++ Copyright (C) 2013-2023 Free Software Foundation, Inc.
++ Contributed by Francois-Xavier Coudert
++
++This file is part of the GNU Fortran runtime library (libgfortran).
++
++Libgfortran is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public
++License as published by the Free Software Foundation; either
++version 3 of the License, or (at your option) any later version.
++
++Libgfortran is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++. */
++
++#include "libgfortran.h"
++
++#define options ((const options_t) {})
++
++#include "fpu-target.h"
++
++struct ieee_modes_type {
++ GFC_INTEGER_4 rounding, underflow, halting;
++};
++
++void
++__ieee_exceptions_MOD_ieee_get_modes (struct ieee_modes_type *modes)
++{
++ modes->rounding = get_fpu_rounding_mode ();
++ modes->underflow = get_fpu_underflow_mode ();
++ modes->halting = get_fpu_trap_exceptions ();
++}
++
++void
++__ieee_exceptions_MOD_ieee_set_modes (struct ieee_modes_type *modes)
++{
++ set_fpu_rounding_mode (modes->rounding);
++ set_fpu_underflow_mode (modes->underflow);
++ set_fpu_trap_exceptions (modes->halting, ~modes->halting);
++}
+--- libgfortran/ieee/nonshared-ieee_arithmetic.c.jj 2024-07-19 16:22:00.655418401 +0200
++++ libgfortran/ieee/nonshared-ieee_arithmetic.c 2024-07-19 16:22:00.655418401 +0200
+@@ -0,0 +1,64 @@
++/* Helper functions in C for IEEE modules
++ Copyright (C) 2013-2023 Free Software Foundation, Inc.
++ Contributed by Francois-Xavier Coudert
++
++This file is part of the GNU Fortran runtime library (libgfortran).
++
++Libgfortran is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public
++License as published by the Free Software Foundation; either
++version 3 of the License, or (at your option) any later version.
++
++Libgfortran is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++. */
++
++#include "libgfortran.h"
++
++GFC_LOGICAL_4
++__ieee_arithmetic_MOD_ieee_support_subnormal_4 (gfc_array_r4 *arg)
++{
++ (void) arg;
++ return 1;
++}
++
++GFC_LOGICAL_4
++__ieee_arithmetic_MOD_ieee_support_subnormal_8 (gfc_array_r8 *arg)
++{
++ (void) arg;
++ return 1;
++}
++
++#ifdef HAVE_GFC_REAL_10
++GFC_LOGICAL_4
++__ieee_arithmetic_MOD_ieee_support_subnormal_10 (gfc_array_r10 *arg)
++{
++ (void) arg;
++ return 1;
++}
++#endif
++
++#ifdef HAVE_GFC_REAL_16
++GFC_LOGICAL_4
++__ieee_arithmetic_MOD_ieee_support_subnormal_16 (gfc_array_r16 *arg)
++{
++ (void) arg;
++ return 1;
++}
++#endif
++
++GFC_LOGICAL_4
++__ieee_arithmetic_MOD_ieee_support_subnormal_noarg (void)
++{
++ return 1;
++}
+--- libgfortran/Makefile.in.jj 2024-04-26 11:47:02.744161886 +0200
++++ libgfortran/Makefile.in 2024-07-19 16:22:46.496837520 +0200
+@@ -216,7 +216,8 @@ am__uninstall_files_from_dir = { \
+ am__installdirs = "$(DESTDIR)$(cafexeclibdir)" \
+ "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" \
+ "$(DESTDIR)$(gfor_cdir)" "$(DESTDIR)$(fincludedir)"
+-LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
++LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(noinst_LTLIBRARIES) \
++ $(toolexeclib_LTLIBRARIES)
+ libcaf_single_la_LIBADD =
+ am_libcaf_single_la_OBJECTS = single.lo
+ libcaf_single_la_OBJECTS = $(am_libcaf_single_la_OBJECTS)
+@@ -484,6 +485,40 @@ am_libgfortran_la_OBJECTS = $(am__object
+ $(am__objects_55) $(am__objects_58) $(am__objects_59) \
+ $(am__objects_60) $(am__objects_64)
+ libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
++libgfortran_nonshared110_la_LIBADD =
++am_libgfortran_nonshared110_la_OBJECTS = nonshared-ieee_exceptions.lo
++libgfortran_nonshared110_la_OBJECTS = \
++ $(am_libgfortran_nonshared110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libgfortran_nonshared80_la_LIBADD =
++am__objects_65 = nonshared-ISO_Fortran_binding.lo
++am__objects_66 = nonshared-findloc0_i1.lo nonshared-findloc0_i2.lo \
++ nonshared-findloc0_i4.lo nonshared-findloc0_i8.lo \
++ nonshared-findloc0_i16.lo nonshared-findloc0_r4.lo \
++ nonshared-findloc0_r8.lo nonshared-findloc0_r10.lo \
++ nonshared-findloc0_r16.lo nonshared-findloc0_c4.lo \
++ nonshared-findloc0_c8.lo nonshared-findloc0_c10.lo \
++ nonshared-findloc0_c16.lo nonshared-findloc0_s1.lo \
++ nonshared-findloc0_s4.lo nonshared-findloc1_i1.lo \
++ nonshared-findloc1_i2.lo nonshared-findloc1_i4.lo \
++ nonshared-findloc1_i8.lo nonshared-findloc1_i16.lo \
++ nonshared-findloc1_r4.lo nonshared-findloc1_r8.lo \
++ nonshared-findloc1_r10.lo nonshared-findloc1_r16.lo \
++ nonshared-findloc1_c4.lo nonshared-findloc1_c8.lo \
++ nonshared-findloc1_c10.lo nonshared-findloc1_c16.lo \
++ nonshared-findloc1_s1.lo nonshared-findloc1_s4.lo \
++ nonshared-findloc2_s1.lo nonshared-findloc2_s4.lo
++am__objects_67 = nonshared-is_contiguous.lo nonshared-trigd.lo
++am__objects_68 = nonshared-random_init.lo
++am_libgfortran_nonshared80_la_OBJECTS = $(am__objects_65) \
++ $(am__objects_66) $(am__objects_67) $(am__objects_68) \
++ nonshared-ieee_arithmetic.lo nonshared-ieee_exceptions.lo \
++ nonshared-transfer.lo nonshared-error.lo
++libgfortran_nonshared80_la_OBJECTS = \
++ $(am_libgfortran_nonshared80_la_OBJECTS)
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -500,10 +535,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/../depcomp
+ am__depfiles_maybe = depfiles
+ am__mv = mv -f
+-AM_V_lt = $(am__v_lt_@AM_V@)
+-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+-am__v_lt_0 = --silent
+-am__v_lt_1 =
+ PPFCCOMPILE = $(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+ LTPPFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
+@@ -547,7 +578,9 @@ AM_V_FC = $(am__v_FC_@AM_V@)
+ am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
+ am__v_FC_0 = @echo " FC " $@;
+ am__v_FC_1 =
+-SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES)
++SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES) \
++ $(libgfortran_nonshared110_la_SOURCES) \
++ $(libgfortran_nonshared80_la_SOURCES)
+ am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+@@ -753,6 +786,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
+ $(lt_host_flags)
+
+ toolexeclib_LTLIBRARIES = libgfortran.la
++noinst_LTLIBRARIES = libgfortran_nonshared80.la libgfortran_nonshared110.la
+ toolexeclib_DATA = libgfortran.spec
+ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
+@@ -1655,6 +1689,66 @@ BUILT_SOURCES = $(gfor_built_src) $(gfor
+ libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
+ $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
+
++nonshared_runtime_C_SRC = \
++nonshared-ISO_Fortran_binding.c
++
++nonshared_io_C_SRC = \
++$(srcdir)/io/nonshared-transfer.c
++
++nonshared_generated_C_SRC = \
++nonshared-findloc0_i1.c \
++nonshared-findloc0_i2.c \
++nonshared-findloc0_i4.c \
++nonshared-findloc0_i8.c \
++nonshared-findloc0_i16.c \
++nonshared-findloc0_r4.c \
++nonshared-findloc0_r8.c \
++nonshared-findloc0_r10.c \
++nonshared-findloc0_r16.c \
++nonshared-findloc0_c4.c \
++nonshared-findloc0_c8.c \
++nonshared-findloc0_c10.c \
++nonshared-findloc0_c16.c \
++nonshared-findloc0_s1.c \
++nonshared-findloc0_s4.c \
++nonshared-findloc1_i1.c \
++nonshared-findloc1_i2.c \
++nonshared-findloc1_i4.c \
++nonshared-findloc1_i8.c \
++nonshared-findloc1_i16.c \
++nonshared-findloc1_r4.c \
++nonshared-findloc1_r8.c \
++nonshared-findloc1_r10.c \
++nonshared-findloc1_r16.c \
++nonshared-findloc1_c4.c \
++nonshared-findloc1_c8.c \
++nonshared-findloc1_c10.c \
++nonshared-findloc1_c16.c \
++nonshared-findloc1_s1.c \
++nonshared-findloc1_s4.c \
++nonshared-findloc2_s1.c \
++nonshared-findloc2_s4.c
++
++nonshared_intrinsics_C_SRC = \
++nonshared-is_contiguous.c \
++nonshared-trigd.c
++
++nonshared_intrinsics_f90_SRC = \
++nonshared-random_init.f90
++
++libgfortran_nonshared80_la_SOURCES = \
++$(nonshared_runtime_C_SRC) \
++$(nonshared_generated_C_SRC) \
++$(nonshared_intrinsics_C_SRC) \
++$(nonshared_intrinsics_f90_SRC) \
++$(srcdir)/ieee/nonshared-ieee_arithmetic.c \
++$(srcdir)/ieee/nonshared-ieee_exceptions.c \
++$(srcdir)/io/nonshared-transfer.c \
++$(srcdir)/runtime/nonshared-error.c
++
++libgfortran_nonshared110_la_SOURCES = \
++$(srcdir)/ieee/nonshared-ieee_exceptions.c
++
+ I_M4_DEPS = m4/iparm.m4 m4/mtype.m4
+ I_M4_DEPS0 = $(I_M4_DEPS) m4/iforeach.m4
+ I_M4_DEPS1 = $(I_M4_DEPS) m4/ifunction.m4
+@@ -1765,6 +1859,17 @@ clean-cafexeclibLTLIBRARIES:
+ rm -f $${locs}; \
+ }
+
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
+ install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
+@@ -1806,6 +1911,12 @@ libcaf_single.la: $(libcaf_single_la_OBJ
+ libgfortran.la: $(libgfortran_la_OBJECTS) $(libgfortran_la_DEPENDENCIES) $(EXTRA_libgfortran_la_DEPENDENCIES)
+ $(AM_V_GEN)$(libgfortran_la_LINK) -rpath $(toolexeclibdir) $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) $(LIBS)
+
++libgfortran_nonshared110.la: $(libgfortran_nonshared110_la_OBJECTS) $(libgfortran_nonshared110_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared110_la_DEPENDENCIES)
++ $(AM_V_CCLD)$(LINK) $(libgfortran_nonshared110_la_OBJECTS) $(libgfortran_nonshared110_la_LIBADD) $(LIBS)
++
++libgfortran_nonshared80.la: $(libgfortran_nonshared80_la_OBJECTS) $(libgfortran_nonshared80_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared80_la_DEPENDENCIES)
++ $(AM_V_FCLD)$(FCLINK) $(libgfortran_nonshared80_la_OBJECTS) $(libgfortran_nonshared80_la_LIBADD) $(LIBS)
++
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+@@ -2256,6 +2367,45 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minval_r8.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_alloc.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mvbits.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ISO_Fortran_binding.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-error.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c10.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c16.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_c8.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i1.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i16.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i2.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_i8.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r10.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r16.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_r8.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_s1.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc0_s4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c10.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c16.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_c8.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i1.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i16.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i2.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_i8.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r10.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r16.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_r8.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_s1.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc1_s4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc2_s1.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-findloc2_s4.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ieee_arithmetic.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ieee_exceptions.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-is_contiguous.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transfer.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-trigd.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r10.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r16.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r17.Plo@am__quote@
+@@ -7300,6 +7450,34 @@ ieee_helper.lo: ieee/ieee_helper.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee_helper.lo `test -f 'ieee/ieee_helper.c' || echo '$(srcdir)/'`ieee/ieee_helper.c
+
++nonshared-ieee_exceptions.lo: $(srcdir)/ieee/nonshared-ieee_exceptions.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-ieee_exceptions.lo -MD -MP -MF $(DEPDIR)/nonshared-ieee_exceptions.Tpo -c -o nonshared-ieee_exceptions.lo `test -f '$(srcdir)/ieee/nonshared-ieee_exceptions.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_exceptions.c
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-ieee_exceptions.Tpo $(DEPDIR)/nonshared-ieee_exceptions.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(srcdir)/ieee/nonshared-ieee_exceptions.c' object='nonshared-ieee_exceptions.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-ieee_exceptions.lo `test -f '$(srcdir)/ieee/nonshared-ieee_exceptions.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_exceptions.c
++
++nonshared-ieee_arithmetic.lo: $(srcdir)/ieee/nonshared-ieee_arithmetic.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-ieee_arithmetic.lo -MD -MP -MF $(DEPDIR)/nonshared-ieee_arithmetic.Tpo -c -o nonshared-ieee_arithmetic.lo `test -f '$(srcdir)/ieee/nonshared-ieee_arithmetic.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_arithmetic.c
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-ieee_arithmetic.Tpo $(DEPDIR)/nonshared-ieee_arithmetic.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(srcdir)/ieee/nonshared-ieee_arithmetic.c' object='nonshared-ieee_arithmetic.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-ieee_arithmetic.lo `test -f '$(srcdir)/ieee/nonshared-ieee_arithmetic.c' || echo '$(srcdir)/'`$(srcdir)/ieee/nonshared-ieee_arithmetic.c
++
++nonshared-transfer.lo: $(srcdir)/io/nonshared-transfer.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-transfer.lo -MD -MP -MF $(DEPDIR)/nonshared-transfer.Tpo -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-transfer.Tpo $(DEPDIR)/nonshared-transfer.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(srcdir)/io/nonshared-transfer.c' object='nonshared-transfer.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c
++
++nonshared-error.lo: $(srcdir)/runtime/nonshared-error.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-error.lo -MD -MP -MF $(DEPDIR)/nonshared-error.Tpo -c -o nonshared-error.lo `test -f '$(srcdir)/runtime/nonshared-error.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-error.c
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/nonshared-error.Tpo $(DEPDIR)/nonshared-error.Plo
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(srcdir)/runtime/nonshared-error.c' object='nonshared-error.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-error.lo `test -f '$(srcdir)/runtime/nonshared-error.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-error.c
++
+ .f90.o:
+ $(AM_V_FC)$(FCCOMPILE) -c -o $@ $<
+
+@@ -7494,7 +7672,8 @@ maintainer-clean-generic:
+ clean: clean-am
+
+ clean-am: clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \
+- clean-local clean-toolexeclibLTLIBRARIES mostlyclean-am
++ clean-local clean-noinstLTLIBRARIES \
++ clean-toolexeclibLTLIBRARIES mostlyclean-am
+
+ distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+@@ -7574,14 +7753,15 @@ uninstall-am: uninstall-cafexeclibLTLIBR
+ .PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \
+ check-am clean clean-cafexeclibLTLIBRARIES clean-cscope \
+ clean-generic clean-libtool clean-local \
+- clean-toolexeclibLTLIBRARIES cscope cscopelist-am ctags \
+- ctags-am distclean distclean-compile distclean-generic \
+- distclean-hdr distclean-libtool distclean-local distclean-tags \
+- dvi dvi-am html html-am info info-am install install-am \
+- install-cafexeclibLTLIBRARIES install-data install-data-am \
+- install-dvi install-dvi-am install-exec install-exec-am \
+- install-exec-local install-gfor_cHEADERS install-html \
+- install-html-am install-info install-info-am install-man \
++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES cscope \
++ cscopelist-am ctags ctags-am distclean distclean-compile \
++ distclean-generic distclean-hdr distclean-libtool \
++ distclean-local distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-cafexeclibLTLIBRARIES \
++ install-data install-data-am install-dvi install-dvi-am \
++ install-exec install-exec-am install-exec-local \
++ install-gfor_cHEADERS install-html install-html-am \
++ install-info install-info-am install-man \
+ install-nodist_fincludeHEADERS install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip install-toolexeclibDATA \
+ install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+@@ -7649,6 +7829,38 @@ ieee_exceptions.mod: ieee_exceptions.lo
+ ieee_arithmetic.mod: ieee_arithmetic.lo
+ :
+
++$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/generated/%.c
++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/generated/%.c
++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/intrinsics/%.c
++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/intrinsics/%.c
++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/runtime/%.c
++ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/runtime/%.c
++ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
++
++$(patsubst %.f90,%.lo,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
++nonshared-%.lo: $(srcdir)/intrinsics/%.f90
++ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
++
++$(patsubst %.f90,%.o,$(nonshared_intrinsics_f90_SRC) $(nonshared)): \
++nonshared-%.o: $(srcdir)/intrinsics/%.f90
++ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
++
+ kinds.h: $(srcdir)/mk-kinds-h.sh
+ $(SHELL) $(srcdir)/mk-kinds-h.sh '@LIBGOMP_CHECKED_INT_KINDS@' \
+ '@LIBGOMP_CHECKED_REAL_KINDS@' \
+--- libgfortran/libgfortran.h.jj 2024-04-26 11:47:02.891159849 +0200
++++ libgfortran/libgfortran.h 2024-07-19 16:22:00.666418262 +0200
+@@ -216,7 +216,7 @@ extern int __mingw_snprintf (char *, siz
+ # define internal_proto(x) sym_rename(x, IPREFIX(x))
+ #endif
+
+-#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS)
++#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS) && !defined(LIBGFORTRAN_NONSHARED)
+ # define export_proto(x) sym_rename(x, PREFIX(x))
+ # define export_proto_np(x) extern char swallow_semicolon
+ # define iexport_proto(x) internal_proto(x)
+@@ -291,6 +291,10 @@ typedef GFC_UINTEGER_4 gfc_char4_t;
+ simply equal to the kind parameter itself. */
+ #define GFC_SIZE_OF_CHAR_KIND(kind) (kind)
+
++#ifdef LIBGFORTRAN_NONSHARED
++#define big_endian (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
++#endif
++
+ #define GFOR_POINTER_TO_L1(p, kind) \
+ ((__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ? 1: 0) * (kind - 1) + (GFC_LOGICAL_1 *)(p))
+
+@@ -2024,4 +2028,63 @@ extern int __snprintfieee128 (char *, si
+ #define HAVE_GFC_UINTEGER_1 1
+ #define HAVE_GFC_UINTEGER_4 1
+
++#ifdef LIBGFORTRAN_NONSHARED
++#include
++#include
++#include
++
++#define internal_malloc_size nonshared_internal_malloc_size
++#define xmalloc nonshared_internal_xmalloc
++#define xmallocarray nonshared_internal_xmallocarray
++#define reshape_packed nonshared_reshape_packed
++static inline __attribute__((__always_inline__, __unused__))
++void *
++internal_malloc_size (size_t size)
++{
++ void *p;
++
++ if (size == 0)
++ return NULL;
++
++ p = (void *) malloc (size);
++ if (p == NULL)
++ os_error ("Memory allocation failed");
++ return p;
++}
++
++static inline __attribute__((__always_inline__, __unused__))
++void *
++xmalloc (size_t size)
++{
++ return internal_malloc_size (size ? size : 1);
++}
++
++static inline __attribute__((__always_inline__, __unused__))
++void *
++xmallocarray (size_t nmemb, size_t size)
++{
++ if (!nmemb || !size)
++ size = nmemb = 1;
++ else if (__builtin_expect ((nmemb | size)
++ >= (((size_t) 1) << (__CHAR_BIT__
++ * sizeof (size_t) / 2)), 0)
++ && nmemb > __SIZE_MAX__ / size)
++ {
++ errno = ENOMEM;
++ os_error ("Integer overflow in xmallocarray");
++ }
++
++ return internal_malloc_size (nmemb * size);
++}
++
++static inline __attribute__((__always_inline__, __unused__))
++#include "intrinsics/reshape_packed.c"
++
++struct no_bounds_check { int bounds_check; };
++#define compile_options ((struct no_bounds_check) { .bounds_check = 0 })
++
++#define internal_error(x, y...) runtime_error (y)
++
++#endif
++
+ #endif /* LIBGFOR_H */
+--- libgfortran/runtime/nonshared-error.c.jj 2024-07-19 16:22:00.666418262 +0200
++++ libgfortran/runtime/nonshared-error.c 2024-07-19 16:22:00.666418262 +0200
+@@ -0,0 +1,56 @@
++/* Copyright (C) 2020-2023 Free Software Foundation, Inc.
++
++This file is part of the GNU Fortran runtime library (libgfortran).
++
++Libgfortran is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++Libgfortran is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++. */
++
++
++#define LIBGFORTRAN_NONSHARED
++#include "libgfortran.h"
++#include "io.h"
++#include "async.h"
++
++#include
++#include
++
++/* Improved version of os_error with a printf style format string and
++ a locus. */
++
++void
++os_error_at (const char *where, const char *message, ...)
++{
++ char buf[4096];
++ size_t len = strlen (where);
++ int written;
++ va_list ap;
++
++ if (len >= 2048)
++ os_error ("Unknown error");
++ memcpy (buf, where, len);
++ memcpy (buf + len, ": ", 2);
++ va_start (ap, message);
++ written = vsnprintf (buf + len + 2, 4095 - len - 2, message, ap);
++ va_end (ap);
++ if (written < 0)
++ written = 0;
++ buf[len + 2 + written] = '\0';
++ os_error (buf);
++}
++iexport(os_error_at);
+--- libgfortran/io/nonshared-transfer.c.jj 2024-07-19 16:22:00.666418262 +0200
++++ libgfortran/io/nonshared-transfer.c 2024-07-19 16:22:00.666418262 +0200
+@@ -0,0 +1,42 @@
++/* Copyright (C) 2002-2023 Free Software Foundation, Inc.
++ Contributed by Andy Vaught
++ Namelist transfer functions contributed by Paul Thomas
++ F2003 I/O support contributed by Jerry DeLisle
++
++This file is part of the GNU Fortran runtime library (libgfortran).
++
++Libgfortran is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++Libgfortran is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++. */
++
++
++/* transfer.c -- Top level handling of data transfer statements. */
++
++#include "io.h"
++#include "fbuf.h"
++#include "format.h"
++#include "unix.h"
++#include "async.h"
++#include
++#include
++
++void
++st_wait_async (st_parameter_wait *wtp)
++{
++ (void) wtp;
++}
diff --git a/gcc14-libgomp-omp_h-multilib.patch b/gcc14-libgomp-omp_h-multilib.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d0e98d19833d7093347ccf6a44a127e0d67f1b1a
--- /dev/null
+++ b/gcc14-libgomp-omp_h-multilib.patch
@@ -0,0 +1,17 @@
+2008-06-09 Jakub Jelinek
+
+ * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
+
+--- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200
++++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200
+@@ -42,8 +42,8 @@ typedef struct
+
+ typedef struct
+ {
+- unsigned char _x[@OMP_NEST_LOCK_SIZE@]
+- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
++ unsigned char _x[8 + sizeof (void *)]
++ __attribute__((__aligned__(sizeof (void *))));
+ } omp_nest_lock_t;
+ #endif
+
diff --git a/gcc14-libstdc++-compat.patch b/gcc14-libstdc++-compat.patch
new file mode 100644
index 0000000000000000000000000000000000000000..44bb4e3bfcc929ae16821ac75df62652415f24ce
--- /dev/null
+++ b/gcc14-libstdc++-compat.patch
@@ -0,0 +1,10445 @@
+--- libstdc++-v3/config/locale/gnu/c_locale.cc.jj 2024-04-26 11:47:03.719148373 +0200
++++ libstdc++-v3/config/locale/gnu/c_locale.cc 2024-07-18 16:10:38.322406800 +0200
+@@ -41,6 +41,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
++#ifndef _GLIBCXX_NONSHARED_CXX98
+ template<>
+ void
+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
+@@ -172,6 +173,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ }
+ return __changed;
+ }
++#endif
+
+ struct _CatalogIdComp
+ {
+@@ -255,6 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
++#ifndef _GLIBCXX_NONSHARED_CXX98
+ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+@@ -294,3 +297,4 @@ _GLIBCXX_END_NAMESPACE_VERSION
+ extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
+ _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct);
+ #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
++#endif
+--- libstdc++-v3/libsupc++/eh_exception.cc.jj 2024-04-26 11:47:04.098143120 +0200
++++ libstdc++-v3/libsupc++/eh_exception.cc 2024-07-18 16:10:38.322406800 +0200
+@@ -26,6 +26,7 @@
+ #include "exception"
+ #include
+
++#ifndef _GLIBCXX_NONSHARED_CXX98
+ std::exception::~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT { }
+
+ std::bad_exception::~bad_exception() _GLIBCXX_TXN_SAFE_DYN
+@@ -50,6 +51,7 @@ std::bad_exception::what() const _GLIBCX
+ {
+ return "std::bad_exception";
+ }
++#endif
+
+ // Transactional clones for the destructors and what().
+ // what() is effectively transaction_pure, but we do not want to annotate it
+--- libstdc++-v3/src/nonshared98/ios_failure.cc.jj 2024-07-18 16:10:38.324406775 +0200
++++ libstdc++-v3/src/nonshared98/ios_failure.cc 2024-07-19 12:00:50.982161134 +0200
+@@ -0,0 +1,27 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_80
++#include "../c++98/ios_failure.cc"
++asm (".hidden _ZSt21__destroy_ios_failurePv");
++asm (".hidden _ZSt23__construct_ios_failurePvPKc");
++asm (".hidden _ZSt24__is_ios_failure_handlerPKN10__cxxabiv117__class_type_infoE");
+--- libstdc++-v3/src/nonshared98/char8_t-rtti.S.jj 2024-07-18 16:10:38.323406788 +0200
++++ libstdc++-v3/src/nonshared98/char8_t-rtti.S 2024-07-18 18:09:02.165562213 +0200
+@@ -0,0 +1,166 @@
++/* Copyright (C) 2012-2024 Free Software Foundation, Inc.
++
++ This file is part of the GNU ISO C++ Library. This library is free
++ software; you can redistribute it and/or modify it under the
++ terms of the GNU General Public License as published by the
++ Free Software Foundation; either version 3, or (at your option)
++ any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ Under Section 7 of GPL version 3, you are granted additional
++ permissions described in the GCC Runtime Library Exception, version
++ 3.1, as published by the Free Software Foundation.
++
++ You should have received a copy of the GNU General Public License and
++ a copy of the GCC Runtime Library Exception along with this program;
++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++ . */
++
++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \
++ || defined __i386__ || defined __powerpc__ || defined __s390__
++#ifdef __i386__
++#define ALIGN1 .align 4
++#elif defined __x86_64__
++#define ALIGN1 .align 32
++#define ALIGN2 .align 16
++#elif defined __ia64__
++#define ALIGN1 .align 8
++#define ALIGN3 .align 8
++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits
++#define POINTER data8
++#define FLAGS data4
++#define PAD .skip 4
++#define STRING stringz
++#elif defined __powerpc64__
++#define ALIGN1 .align 3
++#define ALIGN3 .align 3
++#elif defined __powerpc__
++#define ALIGN1 .align 2
++#define ALIGN3 .align 2
++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits
++#define SECTION3(x)SECTION2(x)
++#elif defined __aarch64__
++#define ALIGN1 .align 3
++#define ALIGN3 .align 3
++#define POINTER .xword
++#define FLAGS .word
++#define OBJECT %object
++#elif defined __s390x__
++#define ALIGN1 .align 8
++#define ALIGN3 .align 2
++#elif defined __s390__
++#define ALIGN1 .align 4
++#define ALIGN3 .align 2
++#endif
++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__
++#define SIZE1 32
++#define SIZE2 16
++#define OFF 16
++#ifndef POINTER
++#define POINTER .quad
++#endif
++#ifndef FLAGS
++#define FLAGS .long
++#endif
++#ifndef PAD
++#define PAD .zero 4
++#endif
++#else
++#define SIZE1 16
++#define SIZE2 8
++#define OFF 8
++#ifndef POINTER
++#define POINTER .long
++#endif
++#ifndef FLAGS
++#define FLAGS .long
++#endif
++#ifndef PAD
++#define PAD
++#endif
++#endif
++#ifndef SYM
++#define SYM(x)x
++#endif
++#ifndef ALIGN2
++#define ALIGN2 ALIGN1
++#endif
++#ifndef ALIGN3
++#define ALIGN3
++#endif
++#ifndef OBJECT
++#define OBJECT @object
++#endif
++#ifndef SECTION1
++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits
++#endif
++#ifndef SECTION2
++#define SECTION2(x)SECTION1(x)
++#endif
++#ifndef SECTION3
++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits
++#endif
++#ifndef STRING
++#define STRING .string
++#endif
++
++ .weak SYM(_ZTIPKDu)
++ SECTION1(_ZTIPKDu)
++ ALIGN1
++ .type SYM(_ZTIPKDu), OBJECT
++ .size SYM(_ZTIPKDu), SIZE1
++_ZTIPKDu:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDu)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDu)
++ .weak SYM(_ZTIPDu)
++ SECTION1(_ZTIPDu)
++ ALIGN1
++ .type SYM(_ZTIPDu), OBJECT
++ .size SYM(_ZTIPDu), SIZE1
++_ZTIPDu:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDu)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDu)
++ .weak SYM(_ZTIDu)
++ SECTION2(_ZTIDu)
++ ALIGN2
++ .type SYM(_ZTIDu), OBJECT
++ .size SYM(_ZTIDu), SIZE2
++_ZTIDu:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDu)
++ .weak SYM(_ZTSPKDu)
++ .hidden SYM(_ZTSPKDu)
++ SECTION3(_ZTSPKDu)
++ ALIGN3
++ .type SYM(_ZTSPKDu), OBJECT
++ .size SYM(_ZTSPKDu), 5
++_ZTSPKDu:
++ STRING "PKDu"
++ .weak SYM(_ZTSPDu)
++ .hidden SYM(_ZTSPDu)
++ SECTION3(_ZTSPDu)
++ ALIGN3
++ .type SYM(_ZTSPDu), OBJECT
++ .size SYM(_ZTSPDu), 4
++_ZTSPDu:
++ STRING "PDu"
++ .weak SYM(_ZTSDu)
++ .hidden SYM(_ZTSDu)
++ SECTION3(_ZTSDu)
++ ALIGN3
++ .type SYM(_ZTSDu), OBJECT
++ .size SYM(_ZTSDu), 3
++_ZTSDu:
++ STRING "Du"
++#endif
++ .section .note.GNU-stack,"",@progbits
+--- libstdc++-v3/src/nonshared98/extfloat.S.jj 2024-07-18 16:10:38.323406788 +0200
++++ libstdc++-v3/src/nonshared98/extfloat.S 2024-07-18 18:09:02.166562200 +0200
+@@ -0,0 +1,547 @@
++/* Copyright (C) 2012-2024 Free Software Foundation, Inc.
++
++ This file is part of the GNU ISO C++ Library. This library is free
++ software; you can redistribute it and/or modify it under the
++ terms of the GNU General Public License as published by the
++ Free Software Foundation; either version 3, or (at your option)
++ any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ Under Section 7 of GPL version 3, you are granted additional
++ permissions described in the GCC Runtime Library Exception, version
++ 3.1, as published by the Free Software Foundation.
++
++ You should have received a copy of the GNU General Public License and
++ a copy of the GCC Runtime Library Exception along with this program;
++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++ . */
++
++#ifdef __i386__
++#define ALIGN1 .align 4
++#elif defined __x86_64__
++#define ALIGN1 .align 32
++#define ALIGN2 .align 16
++#elif defined __ia64__
++#define ALIGN1 .align 8
++#define ALIGN3 .align 8
++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits
++#define POINTER data8
++#define FLAGS data4
++#define PAD .skip 4
++#define STRING stringz
++#elif defined __powerpc64__
++#define ALIGN1 .align 3
++#define ALIGN3 .align 3
++#elif defined __powerpc__
++#define ALIGN1 .align 2
++#define ALIGN3 .align 2
++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits
++#define SECTION3(x)SECTION2(x)
++#elif defined __aarch64__
++#define ALIGN1 .align 3
++#define ALIGN3 .align 3
++#define POINTER .xword
++#define FLAGS .word
++#define OBJECT %object
++#elif defined __s390x__
++#define ALIGN1 .align 8
++#define ALIGN3 .align 2
++#elif defined __s390__
++#define ALIGN1 .align 4
++#define ALIGN3 .align 2
++#endif
++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__
++#define SIZE1 32
++#define SIZE2 16
++#define OFF 16
++#ifndef POINTER
++#define POINTER .quad
++#endif
++#ifndef FLAGS
++#define FLAGS .long
++#endif
++#ifndef PAD
++#define PAD .zero 4
++#endif
++#else
++#define SIZE1 16
++#define SIZE2 8
++#define OFF 8
++#ifndef POINTER
++#define POINTER .long
++#endif
++#ifndef FLAGS
++#define FLAGS .long
++#endif
++#ifndef PAD
++#define PAD
++#endif
++#endif
++#ifndef SYM
++#define SYM(x)x
++#endif
++#ifndef ALIGN2
++#define ALIGN2 ALIGN1
++#endif
++#ifndef ALIGN3
++#define ALIGN3
++#endif
++#ifndef OBJECT
++#define OBJECT @object
++#endif
++#ifndef SECTION1
++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits
++#endif
++#ifndef SECTION2
++#define SECTION2(x)SECTION1(x)
++#endif
++#ifndef SECTION3
++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits
++#endif
++#ifndef STRING
++#define STRING .string
++#endif
++
++#if defined __x86_64__ || defined __i386__ || defined __aarch64__
++ .weak SYM(_ZTIPKDF16_)
++ SECTION1(_ZTIPKDF16_)
++ ALIGN1
++ .type SYM(_ZTIPKDF16_), OBJECT
++ .size SYM(_ZTIPKDF16_), SIZE1
++_ZTIPKDF16_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF16_)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF16_)
++ .weak SYM(_ZTIPDF16_)
++ SECTION1(_ZTIPDF16_)
++ ALIGN1
++ .type SYM(_ZTIPDF16_), OBJECT
++ .size SYM(_ZTIPDF16_), SIZE1
++_ZTIPDF16_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF16_)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF16_)
++ .weak SYM(_ZTIDF16_)
++ SECTION2(_ZTIDF16_)
++ ALIGN2
++ .type SYM(_ZTIDF16_), OBJECT
++ .size SYM(_ZTIDF16_), SIZE2
++_ZTIDF16_:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF16_)
++ .weak SYM(_ZTSPKDF16_)
++ .hidden SYM(_ZTSPKDF16_)
++ SECTION3(_ZTSPKDF16_)
++ ALIGN3
++ .type SYM(_ZTSPKDF16_), OBJECT
++ .size SYM(_ZTSPKDF16_), 8
++_ZTSPKDF16_:
++ STRING "PKDF16_"
++ .weak SYM(_ZTSPDF16_)
++ .hidden SYM(_ZTSPDF16_)
++ SECTION3(_ZTSPDF16_)
++ ALIGN3
++ .type SYM(_ZTSPDF16_), OBJECT
++ .size SYM(_ZTSPDF16_), 7
++_ZTSPDF16_:
++ STRING "PDF16_"
++ .weak SYM(_ZTSDF16_)
++ .hidden SYM(_ZTSDF16_)
++ SECTION3(_ZTSDF16_)
++ ALIGN3
++ .type SYM(_ZTSDF16_), OBJECT
++ .size SYM(_ZTSDF16_), 6
++_ZTSDF16_:
++ STRING "DF16_"
++#endif
++#if defined __x86_64__ || defined __i386__
++ .weak SYM(_ZTIPKDF16b)
++ SECTION1(_ZTIPKDF16b)
++ ALIGN1
++ .type SYM(_ZTIPKDF16b), OBJECT
++ .size SYM(_ZTIPKDF16b), SIZE1
++_ZTIPKDF16b:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF16b)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF16b)
++ .weak SYM(_ZTIPDF16b)
++ SECTION1(_ZTIPDF16b)
++ ALIGN1
++ .type SYM(_ZTIPDF16b), OBJECT
++ .size SYM(_ZTIPDF16b), SIZE1
++_ZTIPDF16b:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF16b)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF16b)
++ .weak SYM(_ZTIDF16b)
++ SECTION2(_ZTIDF16b)
++ ALIGN2
++ .type SYM(_ZTIDF16b), OBJECT
++ .size SYM(_ZTIDF16b), SIZE2
++_ZTIDF16b:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF16b)
++ .weak SYM(_ZTSPKDF16b)
++ .hidden SYM(_ZTSPKDF16b)
++ SECTION3(_ZTSPKDF16b)
++ ALIGN3
++ .type SYM(_ZTSPKDF16b), OBJECT
++ .size SYM(_ZTSPKDF16b), 8
++_ZTSPKDF16b:
++ STRING "PKDF16b"
++ .weak SYM(_ZTSPDF16b)
++ .hidden SYM(_ZTSPDF16b)
++ SECTION3(_ZTSPDF16b)
++ ALIGN3
++ .type SYM(_ZTSPDF16b), OBJECT
++ .size SYM(_ZTSPDF16b), 7
++_ZTSPDF16b:
++ STRING "PDF16b"
++ .weak SYM(_ZTSDF16b)
++ .hidden SYM(_ZTSDF16b)
++ SECTION3(_ZTSDF16b)
++ ALIGN3
++ .type SYM(_ZTSDF16b), OBJECT
++ .size SYM(_ZTSDF16b), 6
++_ZTSDF16b:
++ STRING "DF16b"
++#endif
++#if defined __aarch64__
++ .weak SYM(_ZTIPKu6__bf16)
++ SECTION1(_ZTIPKu6__bf16)
++ ALIGN1
++ .type SYM(_ZTIPKu6__bf16), OBJECT
++ .size SYM(_ZTIPKu6__bf16), SIZE1
++_ZTIPKu6__bf16:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKu6__bf16)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIu6__bf16)
++ .weak SYM(_ZTIPu6__bf16)
++ SECTION1(_ZTIPu6__bf16)
++ ALIGN1
++ .type SYM(_ZTIPu6__bf16), OBJECT
++ .size SYM(_ZTIPu6__bf16), SIZE1
++_ZTIPu6__bf16:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPu6__bf16)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIu6__bf16)
++ .weak SYM(_ZTIu6__bf16)
++ SECTION2(_ZTIu6__bf16)
++ ALIGN2
++ .type SYM(_ZTIu6__bf16), OBJECT
++ .size SYM(_ZTIu6__bf16), SIZE2
++_ZTIu6__bf16:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSu6__bf16)
++ .weak SYM(_ZTSPKu6__bf16)
++ .hidden SYM(_ZTSPKu6__bf16)
++ SECTION3(_ZTSPKu6__bf16)
++ ALIGN3
++ .type SYM(_ZTSPKu6__bf16), OBJECT
++ .size SYM(_ZTSPKu6__bf16), 11
++_ZTSPKu6__bf16:
++ STRING "PKu6__bf16"
++ .weak SYM(_ZTSPu6__bf16)
++ .hidden SYM(_ZTSPu6__bf16)
++ SECTION3(_ZTSPu6__bf16)
++ ALIGN3
++ .type SYM(_ZTSPu6__bf16), OBJECT
++ .size SYM(_ZTSPu6__bf16), 10
++_ZTSPu6__bf16:
++ STRING "Pu6__bf16"
++ .weak SYM(_ZTSu6__bf16)
++ .hidden SYM(_ZTSu6__bf16)
++ SECTION3(_ZTSu6__bf16)
++ ALIGN3
++ .type SYM(_ZTSu6__bf16), OBJECT
++ .size SYM(_ZTSu6__bf16), 9
++_ZTSu6__bf16:
++ STRING "u6__bf16"
++#endif
++ .weak SYM(_ZTIPKDF32_)
++ SECTION1(_ZTIPKDF32_)
++ ALIGN1
++ .type SYM(_ZTIPKDF32_), OBJECT
++ .size SYM(_ZTIPKDF32_), SIZE1
++_ZTIPKDF32_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF32_)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF32_)
++ .weak SYM(_ZTIPDF32_)
++ SECTION1(_ZTIPDF32_)
++ ALIGN1
++ .type SYM(_ZTIPDF32_), OBJECT
++ .size SYM(_ZTIPDF32_), SIZE1
++_ZTIPDF32_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF32_)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF32_)
++ .weak SYM(_ZTIDF32_)
++ SECTION2(_ZTIDF32_)
++ ALIGN2
++ .type SYM(_ZTIDF32_), OBJECT
++ .size SYM(_ZTIDF32_), SIZE2
++_ZTIDF32_:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF32_)
++ .weak SYM(_ZTSPKDF32_)
++ .hidden SYM(_ZTSPKDF32_)
++ SECTION3(_ZTSPKDF32_)
++ ALIGN3
++ .type SYM(_ZTSPKDF32_), OBJECT
++ .size SYM(_ZTSPKDF32_), 8
++_ZTSPKDF32_:
++ STRING "PKDF32_"
++ .weak SYM(_ZTSPDF32_)
++ .hidden SYM(_ZTSPDF32_)
++ SECTION3(_ZTSPDF32_)
++ ALIGN3
++ .type SYM(_ZTSPDF32_), OBJECT
++ .size SYM(_ZTSPDF32_), 7
++_ZTSPDF32_:
++ STRING "PDF32_"
++ .weak SYM(_ZTSDF32_)
++ .hidden SYM(_ZTSDF32_)
++ SECTION3(_ZTSDF32_)
++ ALIGN3
++ .type SYM(_ZTSDF32_), OBJECT
++ .size SYM(_ZTSDF32_), 6
++_ZTSDF32_:
++ STRING "DF32_"
++ .weak SYM(_ZTIPKDF32x)
++ SECTION1(_ZTIPKDF32x)
++ ALIGN1
++ .type SYM(_ZTIPKDF32x), OBJECT
++ .size SYM(_ZTIPKDF32x), SIZE1
++_ZTIPKDF32x:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF32x)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF32x)
++ .weak SYM(_ZTIPDF32x)
++ SECTION1(_ZTIPDF32x)
++ ALIGN1
++ .type SYM(_ZTIPDF32x), OBJECT
++ .size SYM(_ZTIPDF32x), SIZE1
++_ZTIPDF32x:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF32x)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF32x)
++ .weak SYM(_ZTIDF32x)
++ SECTION2(_ZTIDF32x)
++ ALIGN2
++ .type SYM(_ZTIDF32x), OBJECT
++ .size SYM(_ZTIDF32x), SIZE2
++_ZTIDF32x:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF32x)
++ .weak SYM(_ZTSPKDF32x)
++ .hidden SYM(_ZTSPKDF32x)
++ SECTION3(_ZTSPKDF32x)
++ ALIGN3
++ .type SYM(_ZTSPKDF32x), OBJECT
++ .size SYM(_ZTSPKDF32x), 8
++_ZTSPKDF32x:
++ STRING "PKDF32x"
++ .weak SYM(_ZTSPDF32x)
++ .hidden SYM(_ZTSPDF32x)
++ SECTION3(_ZTSPDF32x)
++ ALIGN3
++ .type SYM(_ZTSPDF32x), OBJECT
++ .size SYM(_ZTSPDF32x), 7
++_ZTSPDF32x:
++ STRING "PDF32x"
++ .weak SYM(_ZTSDF32x)
++ .hidden SYM(_ZTSDF32x)
++ SECTION3(_ZTSDF32x)
++ ALIGN3
++ .type SYM(_ZTSDF32x), OBJECT
++ .size SYM(_ZTSDF32x), 6
++_ZTSDF32x:
++ STRING "DF32x"
++ .weak SYM(_ZTIPKDF64_)
++ SECTION1(_ZTIPKDF64_)
++ ALIGN1
++ .type SYM(_ZTIPKDF64_), OBJECT
++ .size SYM(_ZTIPKDF64_), SIZE1
++_ZTIPKDF64_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF64_)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF64_)
++ .weak SYM(_ZTIPDF64_)
++ SECTION1(_ZTIPDF64_)
++ ALIGN1
++ .type SYM(_ZTIPDF64_), OBJECT
++ .size SYM(_ZTIPDF64_), SIZE1
++_ZTIPDF64_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF64_)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF64_)
++ .weak SYM(_ZTIDF64_)
++ SECTION2(_ZTIDF64_)
++ ALIGN2
++ .type SYM(_ZTIDF64_), OBJECT
++ .size SYM(_ZTIDF64_), SIZE2
++_ZTIDF64_:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF64_)
++ .weak SYM(_ZTSPKDF64_)
++ .hidden SYM(_ZTSPKDF64_)
++ SECTION3(_ZTSPKDF64_)
++ ALIGN3
++ .type SYM(_ZTSPKDF64_), OBJECT
++ .size SYM(_ZTSPKDF64_), 8
++_ZTSPKDF64_:
++ STRING "PKDF64_"
++ .weak SYM(_ZTSPDF64_)
++ .hidden SYM(_ZTSPDF64_)
++ SECTION3(_ZTSPDF64_)
++ ALIGN3
++ .type SYM(_ZTSPDF64_), OBJECT
++ .size SYM(_ZTSPDF64_), 7
++_ZTSPDF64_:
++ STRING "PDF64_"
++ .weak SYM(_ZTSDF64_)
++ .hidden SYM(_ZTSDF64_)
++ SECTION3(_ZTSDF64_)
++ ALIGN3
++ .type SYM(_ZTSDF64_), OBJECT
++ .size SYM(_ZTSDF64_), 6
++_ZTSDF64_:
++ STRING "DF64_"
++ .weak SYM(_ZTIPKDF64x)
++ SECTION1(_ZTIPKDF64x)
++ ALIGN1
++ .type SYM(_ZTIPKDF64x), OBJECT
++ .size SYM(_ZTIPKDF64x), SIZE1
++_ZTIPKDF64x:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF64x)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF64x)
++ .weak SYM(_ZTIPDF64x)
++ SECTION1(_ZTIPDF64x)
++ ALIGN1
++ .type SYM(_ZTIPDF64x), OBJECT
++ .size SYM(_ZTIPDF64x), SIZE1
++_ZTIPDF64x:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF64x)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF64x)
++ .weak SYM(_ZTIDF64x)
++ SECTION2(_ZTIDF64x)
++ ALIGN2
++ .type SYM(_ZTIDF64x), OBJECT
++ .size SYM(_ZTIDF64x), SIZE2
++_ZTIDF64x:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF64x)
++ .weak SYM(_ZTSPKDF64x)
++ .hidden SYM(_ZTSPKDF64x)
++ SECTION3(_ZTSPKDF64x)
++ ALIGN3
++ .type SYM(_ZTSPKDF64x), OBJECT
++ .size SYM(_ZTSPKDF64x), 8
++_ZTSPKDF64x:
++ STRING "PKDF64x"
++ .weak SYM(_ZTSPDF64x)
++ .hidden SYM(_ZTSPDF64x)
++ SECTION3(_ZTSPDF64x)
++ ALIGN3
++ .type SYM(_ZTSPDF64x), OBJECT
++ .size SYM(_ZTSPDF64x), 7
++_ZTSPDF64x:
++ STRING "PDF64x"
++ .weak SYM(_ZTSDF64x)
++ .hidden SYM(_ZTSDF64x)
++ SECTION3(_ZTSDF64x)
++ ALIGN3
++ .type SYM(_ZTSDF64x), OBJECT
++ .size SYM(_ZTSDF64x), 6
++_ZTSDF64x:
++ STRING "DF64x"
++ .weak SYM(_ZTIPKDF128_)
++ SECTION1(_ZTIPKDF128_)
++ ALIGN1
++ .type SYM(_ZTIPKDF128_), OBJECT
++ .size SYM(_ZTIPKDF128_), SIZE1
++_ZTIPKDF128_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPKDF128_)
++ FLAGS 1
++ PAD
++ POINTER SYM(_ZTIDF128_)
++ .weak SYM(_ZTIPDF128_)
++ SECTION1(_ZTIPDF128_)
++ ALIGN1
++ .type SYM(_ZTIPDF128_), OBJECT
++ .size SYM(_ZTIPDF128_), SIZE1
++_ZTIPDF128_:
++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF
++ POINTER SYM(_ZTSPDF128_)
++ FLAGS 0
++ PAD
++ POINTER SYM(_ZTIDF128_)
++ .weak SYM(_ZTIDF128_)
++ SECTION2(_ZTIDF128_)
++ ALIGN2
++ .type SYM(_ZTIDF128_), OBJECT
++ .size SYM(_ZTIDF128_), SIZE2
++_ZTIDF128_:
++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF
++ POINTER SYM(_ZTSDF128_)
++ .weak SYM(_ZTSPKDF128_)
++ .hidden SYM(_ZTSPKDF128_)
++ SECTION3(_ZTSPKDF128_)
++ ALIGN3
++ .type SYM(_ZTSPKDF128_), OBJECT
++ .size SYM(_ZTSPKDF128_), 9
++_ZTSPKDF128_:
++ STRING "PKDF128_"
++ .weak SYM(_ZTSPDF128_)
++ .hidden SYM(_ZTSPDF128_)
++ SECTION3(_ZTSPDF128_)
++ ALIGN3
++ .type SYM(_ZTSPDF128_), OBJECT
++ .size SYM(_ZTSPDF128_), 8
++_ZTSPDF128_:
++ STRING "PDF128_"
++ .weak SYM(_ZTSDF128_)
++ .hidden SYM(_ZTSDF128_)
++ SECTION3(_ZTSDF128_)
++ ALIGN3
++ .type SYM(_ZTSDF128_), OBJECT
++ .size SYM(_ZTSDF128_), 7
++_ZTSDF128_:
++ STRING "DF128_"
++ .section .note.GNU-stack,"",@progbits
+--- libstdc++-v3/src/nonshared98/locale_facets.cc.jj 2024-07-18 16:10:38.323406788 +0200
++++ libstdc++-v3/src/nonshared98/locale_facets.cc 2024-07-18 18:09:02.166562200 +0200
+@@ -0,0 +1,24 @@
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_80
++#include "../c++98/locale_facets.cc"
+--- libstdc++-v3/src/nonshared98/ios_init.cc.jj 2024-07-18 16:10:38.324406775 +0200
++++ libstdc++-v3/src/nonshared98/ios_init.cc 2024-07-18 18:09:02.166562200 +0200
+@@ -0,0 +1,38 @@
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 27.4 Iostreams base classes
++//
++
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++#include "../c++98/ios_base_init.h"
++
++ void ios_base_library_init() {}
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared98/Makefile.am.jj 2024-07-18 16:10:38.324406775 +0200
++++ libstdc++-v3/src/nonshared98/Makefile.am 2024-07-19 12:01:12.820878679 +0200
+@@ -0,0 +1,102 @@
++## Makefile for the C++03 sources of the GNU C++ Standard library.
++##
++## Copyright (C) 1997-2024 Free Software Foundation, Inc.
++##
++## This file is part of the libstdc++ version 3 distribution.
++## Process this file with automake to produce Makefile.in.
++
++## This file is part of the GNU ISO C++ Library. This library is free
++## software; you can redistribute it and/or modify it under the
++## terms of the GNU General Public License as published by the
++## Free Software Foundation; either version 3, or (at your option)
++## any later version.
++
++## This library is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License along
++## with this library; see the file COPYING3. If not see
++## .
++
++include $(top_srcdir)/fragment.am
++
++# Convenience library for C++98 runtime.
++noinst_LTLIBRARIES = libnonshared98convenience80.la \
++ libnonshared98convenience110.la
++
++headers =
++
++# Source files linked in via configuration/make substitution for a
++# particular host, but with ad hoc naming rules.
++host_sources_extra = \
++ basic_file.cc c++locale.cc \
++ ${ldbl_compat_sources} ${parallel_sources}
++
++# Sources present in the src directory, always present.
++sources = \
++ extfloat.S \
++ ios_init.cc \
++ locale_facets.cc
++sources80 = \
++ char8_t-rtti.S \
++ ios_failure.cc
++sources110 =
++
++vpath % $(top_srcdir)/src/nonshared98
++vpath % $(top_srcdir)
++
++libnonshared98convenience80_la_SOURCES = $(sources) $(sources80)
++libnonshared98convenience110_la_SOURCES = $(sources) $(sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++98 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++# Libtool notes
++
++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++
++# 2) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++# We have to put --tag disable-shared after --tag CXX lest things
++# CXX undo the affect of disable-shared.
++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
+--- libstdc++-v3/src/nonshared98/Makefile.in.jj 2024-07-18 16:10:38.325406762 +0200
++++ libstdc++-v3/src/nonshared98/Makefile.in 2024-07-19 14:22:11.456880043 +0200
+@@ -0,0 +1,802 @@
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
++am__make_running_with_option = \
++ case $${target_option-} in \
++ ?) ;; \
++ *) echo "am__make_running_with_option: internal error: invalid" \
++ "target option '$${target_option-}' specified" >&2; \
++ exit 1;; \
++ esac; \
++ has_opt=no; \
++ sane_makeflags=$$MAKEFLAGS; \
++ if $(am__is_gnu_make); then \
++ sane_makeflags=$$MFLAGS; \
++ else \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ bs=\\; \
++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
++ esac; \
++ fi; \
++ skip_next=no; \
++ strip_trailopt () \
++ { \
++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
++ }; \
++ for flg in $$sane_makeflags; do \
++ test $$skip_next = yes && { skip_next=no; continue; }; \
++ case $$flg in \
++ *=*|--*) continue;; \
++ -*I) strip_trailopt 'I'; skip_next=yes;; \
++ -*I?*) strip_trailopt 'I';; \
++ -*O) strip_trailopt 'O'; skip_next=yes;; \
++ -*O?*) strip_trailopt 'O';; \
++ -*l) strip_trailopt 'l'; skip_next=yes;; \
++ -*l?*) strip_trailopt 'l';; \
++ -[dEDm]) skip_next=yes;; \
++ -[JT]) skip_next=yes;; \
++ esac; \
++ case $$flg in \
++ *$$target_option*) has_opt=yes; break;; \
++ esac; \
++ done; \
++ test $$has_opt = yes
++am__make_dryrun = (target_option=n; $(am__make_running_with_option))
++am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/nonshared98
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
++ $(top_srcdir)/../config/enable.m4 \
++ $(top_srcdir)/../config/futex.m4 \
++ $(top_srcdir)/../config/hwcaps.m4 \
++ $(top_srcdir)/../config/iconv.m4 \
++ $(top_srcdir)/../config/lead-dot.m4 \
++ $(top_srcdir)/../config/lib-ld.m4 \
++ $(top_srcdir)/../config/lib-link.m4 \
++ $(top_srcdir)/../config/lib-prefix.m4 \
++ $(top_srcdir)/../config/lthostflags.m4 \
++ $(top_srcdir)/../config/multi.m4 \
++ $(top_srcdir)/../config/no-executables.m4 \
++ $(top_srcdir)/../config/override.m4 \
++ $(top_srcdir)/../config/toolexeclibdir.m4 \
++ $(top_srcdir)/../config/unwind_ipinfo.m4 \
++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
++ $(top_srcdir)/../config/gc++filt.m4 \
++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++libnonshared98convenience110_la_LIBADD =
++am__objects_1 = extfloat.lo ios_init.lo locale_facets.lo
++am__objects_2 =
++am_libnonshared98convenience110_la_OBJECTS = $(am__objects_1) \
++ $(am__objects_2)
++libnonshared98convenience110_la_OBJECTS = \
++ $(am_libnonshared98convenience110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libnonshared98convenience80_la_LIBADD =
++am__objects_3 = char8_t-rtti.lo ios_failure.lo
++am_libnonshared98convenience80_la_OBJECTS = $(am__objects_1) \
++ $(am__objects_3)
++libnonshared98convenience80_la_OBJECTS = \
++ $(am_libnonshared98convenience80_la_OBJECTS)
++AM_V_P = $(am__v_P_@AM_V@)
++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
++am__v_P_0 = false
++am__v_P_1 = :
++AM_V_GEN = $(am__v_GEN_@AM_V@)
++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
++am__v_GEN_0 = @echo " GEN " $@;
++am__v_GEN_1 =
++AM_V_at = $(am__v_at_@AM_V@)
++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
++am__v_at_0 = @
++am__v_at_1 =
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp =
++am__depfiles_maybe =
++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
++LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
++ $(AM_CCASFLAGS) $(CCASFLAGS)
++AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
++am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
++am__v_CPPAS_0 = @echo " CPPAS " $@;
++am__v_CPPAS_1 =
++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
++AM_V_CXX = $(am__v_CXX_@AM_V@)
++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
++am__v_CXX_0 = @echo " CXX " $@;
++am__v_CXX_1 =
++CXXLD = $(CXX)
++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
++am__v_CXXLD_0 = @echo " CXXLD " $@;
++am__v_CXXLD_1 =
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
++ $(AM_CFLAGS) $(CFLAGS)
++AM_V_CC = $(am__v_CC_@AM_V@)
++am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
++am__v_CC_0 = @echo " CC " $@;
++am__v_CC_1 =
++CCLD = $(CC)
++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
++ $(AM_LDFLAGS) $(LDFLAGS) -o $@
++AM_V_CCLD = $(am__v_CCLD_@AM_V@)
++am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
++am__v_CCLD_0 = @echo " CCLD " $@;
++am__v_CCLD_1 =
++SOURCES = $(libnonshared98convenience110_la_SOURCES) \
++ $(libnonshared98convenience80_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
++# Read a list of newline-separated strings from the standard input,
++# and print each of them once, without duplicates. Input order is
++# *not* preserved.
++am__uniquify_input = $(AWK) '\
++ BEGIN { nonempty = 0; } \
++ { items[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in items) print i; }; } \
++'
++# Make sure the list of sources is unique. This is necessary because,
++# e.g., the same source file might be shared among _SOURCES variables
++# for different programs/libraries.
++am__define_uniq_tagged_files = \
++ list='$(am__tagged_files)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
++ACLOCAL = @ACLOCAL@
++ALLOCATOR_H = @ALLOCATOR_H@
++ALLOCATOR_NAME = @ALLOCATOR_NAME@
++ALLOC_FILE = @ALLOC_FILE@
++AMTAR = @AMTAR@
++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++AR = @AR@
++AS = @AS@
++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
++ATOMIC_FLAGS = @ATOMIC_FLAGS@
++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
++BASIC_FILE_CC = @BASIC_FILE_CC@
++BASIC_FILE_H = @BASIC_FILE_H@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCODECVT_CC = @CCODECVT_CC@
++CCOLLATE_CC = @CCOLLATE_CC@
++CCTYPE_CC = @CCTYPE_CC@
++CFLAGS = @CFLAGS@
++CLOCALE_CC = @CLOCALE_CC@
++CLOCALE_H = @CLOCALE_H@
++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
++CMESSAGES_CC = @CMESSAGES_CC@
++CMESSAGES_H = @CMESSAGES_H@
++CMONEY_CC = @CMONEY_CC@
++CNUMERIC_CC = @CNUMERIC_CC@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
++CSTDIO_H = @CSTDIO_H@
++CTIME_CC = @CTIME_CC@
++CTIME_H = @CTIME_H@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXFILT = @CXXFILT@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++C_INCLUDE_DIR = @C_INCLUDE_DIR@
++DBLATEX = @DBLATEX@
++DEBUG_FLAGS = @DEBUG_FLAGS@
++DEFS = @DEFS@
++DOT = @DOT@
++DOXYGEN = @DOXYGEN@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EH_POOL_FLAGS = @EH_POOL_FLAGS@
++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
++EXEEXT = @EXEEXT@
++EXTRA_CFLAGS = @EXTRA_CFLAGS@
++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
++FGREP = @FGREP@
++FORMAT_FILE = @FORMAT_FILE@
++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
++GLIBCXX_LIBS = @GLIBCXX_LIBS@
++GREP = @GREP@
++HWCAP_CFLAGS = @HWCAP_CFLAGS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBICONV = @LIBICONV@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
++OPT_LDFLAGS = @OPT_LDFLAGS@
++OS_INC_SRCDIR = @OS_INC_SRCDIR@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PDFLATEX = @PDFLATEX@
++RANLIB = @RANLIB@
++SECTION_FLAGS = @SECTION_FLAGS@
++SECTION_LDFLAGS = @SECTION_LDFLAGS@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++SYMVER_FILE = @SYMVER_FILE@
++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
++USE_NLS = @USE_NLS@
++VERSION = @VERSION@
++VIEW_FILE = @VIEW_FILE@
++VTV_CXXFLAGS = @VTV_CXXFLAGS@
++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
++WARN_FLAGS = @WARN_FLAGS@
++XMLCATALOG = @XMLCATALOG@
++XMLLINT = @XMLLINT@
++XSLTPROC = @XSLTPROC@
++XSL_STYLE_DIR = @XSL_STYLE_DIR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__leading_dot = @am__leading_dot@
++am__tar = @am__tar@
++am__untar = @am__untar@
++baseline_dir = @baseline_dir@
++baseline_subdir_switch = @baseline_subdir_switch@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++check_msgfmt = @check_msgfmt@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++enable_shared = @enable_shared@
++enable_static = @enable_static@
++exec_prefix = @exec_prefix@
++get_gcc_base_ver = @get_gcc_base_ver@
++glibcxx_MOFILES = @glibcxx_MOFILES@
++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
++glibcxx_POFILES = @glibcxx_POFILES@
++glibcxx_builddir = @glibcxx_builddir@
++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
++glibcxx_localedir = @glibcxx_localedir@
++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
++glibcxx_prefixdir = @glibcxx_prefixdir@
++glibcxx_srcdir = @glibcxx_srcdir@
++glibcxx_toolexecdir = @glibcxx_toolexecdir@
++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
++gxx_include_dir = @gxx_include_dir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libtool_VERSION = @libtool_VERSION@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_host_flags = @lt_host_flags@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++multi_basedir = @multi_basedir@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++port_specific_symbol_files = @port_specific_symbol_files@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++python_mod_dir = @python_mod_dir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++thread_header = @thread_header@
++tmake_file = @tmake_file@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++toplevel_builddir = @toplevel_builddir@
++toplevel_srcdir = @toplevel_srcdir@
++
++# May be used by various substitution variables.
++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
++MAINT_CHARSET = latin1
++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
++PWD_COMMAND = $${PWDCMD-pwd}
++STAMP = echo timestamp >
++toolexecdir = $(glibcxx_toolexecdir)
++toolexeclibdir = $(glibcxx_toolexeclibdir)
++@ENABLE_WERROR_FALSE@WERROR_FLAG =
++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
++
++# These bits are all figured out from configure. Look in acinclude.m4
++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
++CONFIG_CXXFLAGS = \
++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
++
++WARN_CXXFLAGS = \
++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
++
++
++# -I/-D flags to pass when compiling.
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
++
++# Convenience library for C++98 runtime.
++noinst_LTLIBRARIES = libnonshared98convenience80.la \
++ libnonshared98convenience110.la
++
++headers =
++
++# Source files linked in via configuration/make substitution for a
++# particular host, but with ad hoc naming rules.
++host_sources_extra = \
++ basic_file.cc c++locale.cc \
++ ${ldbl_compat_sources} ${parallel_sources}
++
++
++# Sources present in the src directory, always present.
++sources = \
++ extfloat.S \
++ ios_init.cc \
++ locale_facets.cc
++
++sources80 = \
++ char8_t-rtti.S \
++ ios_failure.cc
++
++sources110 =
++libnonshared98convenience80_la_SOURCES = $(sources) $(sources80)
++libnonshared98convenience110_la_SOURCES = $(sources) $(sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++98 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++
++# Libtool notes
++
++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++
++# 2) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++# We have to put --tag disable-shared after --tag CXX lest things
++# CXX undo the affect of disable-shared.
++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .S .cc .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared98/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared98/Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++$(top_srcdir)/fragment.am $(am__empty):
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
++libnonshared98convenience110.la: $(libnonshared98convenience110_la_OBJECTS) $(libnonshared98convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience110_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience110_la_OBJECTS) $(libnonshared98convenience110_la_LIBADD) $(LIBS)
++
++libnonshared98convenience80.la: $(libnonshared98convenience80_la_OBJECTS) $(libnonshared98convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience80_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience80_la_OBJECTS) $(libnonshared98convenience80_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++.S.o:
++ $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ $<
++
++.S.obj:
++ $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.S.lo:
++ $(AM_V_CPPAS)$(LTCPPASCOMPILE) -c -o $@ $<
++
++.cc.o:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
++
++.cc.obj:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.cc.lo:
++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(am__tagged_files)
++ $(am__define_uniq_tagged_files); mkid -fID $$unique
++tags: tags-am
++TAGS: tags
++
++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ set x; \
++ here=`pwd`; \
++ $(am__define_uniq_tagged_files); \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: ctags-am
++
++CTAGS: ctags
++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ $(am__define_uniq_tagged_files); \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++cscopelist: cscopelist-am
++
++cscopelist-am: $(am__tagged_files)
++ list='$(am__tagged_files)'; \
++ case "$(srcdir)" in \
++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
++ *) sdir=$(subdir)/$(srcdir) ;; \
++ esac; \
++ for i in $$list; do \
++ if test -f "$$i"; then \
++ echo "$(subdir)/$$i"; \
++ else \
++ echo "$$sdir/$$i"; \
++ fi; \
++ done >> $(top_builddir)/cscope.files
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES)
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
++ ctags-am distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am
++
++.PRECIOUS: Makefile
++
++
++vpath % $(top_srcdir)/src/nonshared98
++vpath % $(top_srcdir)
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+--- libstdc++-v3/src/nonshared11/string-inst80.cc.jj 2024-07-18 16:10:38.326406749 +0200
++++ libstdc++-v3/src/nonshared11/string-inst80.cc 2024-07-19 13:09:07.689159469 +0200
+@@ -0,0 +1,68 @@
++// Components for manipulating sequences of characters -*- C++ -*-
++
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 21 Strings library
++//
++
++// Written by Jason Merrill based upon the specification by Takanori Adachi
++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers.
++
++#ifndef _GLIBCXX_USE_CXX11_ABI
++// Instantiations in this file use the new SSO std::string ABI unless included
++// by another file which defines _GLIBCXX_USE_CXX11_ABI=0.
++# define _GLIBCXX_USE_CXX11_ABI 1
++#endif
++
++#include
++
++// Instantiation configuration.
++#ifndef C
++# define C char
++#endif
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ typedef basic_string S;
++
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
++ template
++ S::iterator
++ S::insert(S::const_iterator, initializer_list);
++
++ template
++ void S::reserve();
++#endif
++
++ template
++ void S::_M_replace_cold(S::pointer, size_type, const C*, const size_type,
++ const size_type);
++
++ template
++ S::pointer S::_S_allocate(S::allocator_type &, size_type);
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared11/debug110.cc.jj 2024-07-18 16:10:38.326406749 +0200
++++ libstdc++-v3/src/nonshared11/debug110.cc 2024-07-18 18:09:02.168562174 +0200
+@@ -0,0 +1,30 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "debug.cc"
+--- libstdc++-v3/src/nonshared11/cxx11-wlocale-inst80.cc.jj 2024-07-18 16:10:38.326406749 +0200
++++ libstdc++-v3/src/nonshared11/cxx11-wlocale-inst80.cc 2024-07-19 14:06:55.082550905 +0200
+@@ -0,0 +1,30 @@
++// Copyright (C) 2022-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_USE_CXX11_ABI 1
++#include
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++#define C wchar_t
++#include "cxx11-locale-inst80.cc"
++#endif
++asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv");
+--- libstdc++-v3/src/nonshared11/istream-inst80.cc.jj 2024-07-18 16:10:38.326406749 +0200
++++ libstdc++-v3/src/nonshared11/istream-inst80.cc 2024-07-18 18:09:02.168562174 +0200
+@@ -0,0 +1,121 @@
++// Explicit instantiation file.
++
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882:
++//
++
++#include
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template void __istream_extract(wistream&, wchar_t*, streamsize);
++#endif
++
++ void
++ __istream_extract(istream& __in, char* __s, streamsize __num)
++ {
++ typedef basic_istream __istream_type;
++ typedef __istream_type::int_type __int_type;
++ typedef __istream_type::char_type __char_type;
++ typedef __istream_type::traits_type __traits_type;
++ typedef __istream_type::__streambuf_type __streambuf_type;
++ typedef __istream_type::__ctype_type __ctype_type;
++
++ streamsize __extracted = 0;
++ ios_base::iostate __err = ios_base::goodbit;
++ __istream_type::sentry __cerb(__in, false);
++ if (__cerb)
++ {
++ __try
++ {
++ // Figure out how many characters to extract.
++ streamsize __width = __in.width();
++ if (0 < __width && __width < __num)
++ __num = __width;
++
++ const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
++
++ const __int_type __eof = __traits_type::eof();
++ __streambuf_type* __sb = __in.rdbuf();
++ __int_type __c = __sb->sgetc();
++
++ while (__extracted < __num - 1
++ && !__traits_type::eq_int_type(__c, __eof)
++ && !__ct.is(ctype_base::space,
++ __traits_type::to_char_type(__c)))
++ {
++ streamsize __size = std::min(streamsize(__sb->egptr()
++ - __sb->gptr()),
++ streamsize(__num - __extracted
++ - 1));
++ if (__size > 1)
++ {
++ __size = (__ct.scan_is(ctype_base::space,
++ __sb->gptr() + 1,
++ __sb->gptr() + __size)
++ - __sb->gptr());
++ __traits_type::copy(__s, __sb->gptr(), __size);
++ __s += __size;
++ __sb->__safe_gbump(__size);
++ __extracted += __size;
++ __c = __sb->sgetc();
++ }
++ else
++ {
++ *__s++ = __traits_type::to_char_type(__c);
++ ++__extracted;
++ __c = __sb->snextc();
++ }
++ }
++
++ if (__extracted < __num - 1
++ && __traits_type::eq_int_type(__c, __eof))
++ __err |= ios_base::eofbit;
++
++ // _GLIBCXX_RESOLVE_LIB_DEFECTS
++ // 68. Extractors for char* should store null at end
++ *__s = __char_type();
++ __in.width(0);
++ }
++ __catch(__cxxabiv1::__forced_unwind&)
++ {
++ __in._M_setstate(ios_base::badbit);
++ __throw_exception_again;
++ }
++ __catch(...)
++ { __in._M_setstate(ios_base::badbit); }
++ }
++ if (!__extracted)
++ __err |= ios_base::failbit;
++ if (__err)
++ __in.setstate(__err);
++ }
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared11/limits.cc.jj 2024-07-18 16:10:38.326406749 +0200
++++ libstdc++-v3/src/nonshared11/limits.cc 2024-07-18 18:09:02.169562162 +0200
+@@ -0,0 +1,57 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++
++#define const _GLIBCXX_USE_CONSTEXPR
++
++#ifdef _GLIBCXX_USE_CHAR8_T
++ // char8_t
++ const bool numeric_limits::is_specialized;
++ const int numeric_limits::digits;
++ const int numeric_limits::digits10;
++// const int numeric_limits::max_digits10;
++ const bool numeric_limits::is_signed;
++ const bool numeric_limits::is_integer;
++ const bool numeric_limits::is_exact;
++ const int numeric_limits::radix;
++ const int numeric_limits::min_exponent;
++ const int numeric_limits::min_exponent10;
++ const int numeric_limits::max_exponent;
++ const int numeric_limits::max_exponent10;
++ const bool numeric_limits::has_infinity;
++ const bool numeric_limits::has_quiet_NaN;
++ const bool numeric_limits::has_signaling_NaN;
++ const float_denorm_style numeric_limits::has_denorm;
++ const bool numeric_limits::has_denorm_loss;
++ const bool numeric_limits::is_iec559;
++ const bool numeric_limits::is_bounded;
++ const bool numeric_limits::is_modulo;
++ const bool numeric_limits::traps;
++ const bool numeric_limits::tinyness_before;
++ const float_round_style numeric_limits::round_style;
++#endif // _GLIBCXX_USE_CHAR8_T
++
++}
+--- libstdc++-v3/src/nonshared11/streambuf-inst.cc.jj 2024-07-18 16:10:38.326406749 +0200
++++ libstdc++-v3/src/nonshared11/streambuf-inst.cc 2024-07-18 18:09:02.169562162 +0200
+@@ -0,0 +1,42 @@
++// Explicit instantiation file.
++
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882:
++//
++
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ template void basic_streambuf::swap(basic_streambuf&);
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template void basic_streambuf::swap(basic_streambuf&);
++#endif
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared11/cxx11-wlocale-inst110.cc.jj 2024-07-19 10:04:26.420926178 +0200
++++ libstdc++-v3/src/nonshared11/cxx11-wlocale-inst110.cc 2024-07-19 14:05:44.748442948 +0200
+@@ -0,0 +1,30 @@
++// Copyright (C) 2022-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_USE_CXX11_ABI 1
++#include
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++#define C wchar_t
++#include "cxx11-locale-inst80.cc"
++#endif
++asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv");
+--- libstdc++-v3/src/nonshared11/cow-string-inst80.cc.jj 2024-07-18 16:10:38.327406737 +0200
++++ libstdc++-v3/src/nonshared11/cow-string-inst80.cc 2024-07-18 18:09:02.169562162 +0200
+@@ -0,0 +1,52 @@
++// Components for manipulating sequences of characters -*- C++ -*-
++
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 21 Strings library
++//
++
++// Written by Jason Merrill based upon the specification by Takanori Adachi
++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers.
++
++// Instantiation configuration.
++#ifndef C
++# define _GLIBCXX_USE_CXX11_ABI 0
++# define C char
++#endif
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++
++ typedef basic_string S;
++
++ template
++ S::basic_string(const S&, const allocator_type&);
++
++ template
++ S::basic_string(S&&, const allocator_type&);
++
++ template
++ void S::reserve();
++}
+--- libstdc++-v3/src/nonshared11/eh_ptr80.cc.jj 2024-07-18 16:10:38.327406737 +0200
++++ libstdc++-v3/src/nonshared11/eh_ptr80.cc 2024-07-18 18:09:02.170562149 +0200
+@@ -0,0 +1,64 @@
++// -*- C++ -*- Implement the members of exception_ptr.
++// Copyright (C) 2008-2024 Free Software Foundation, Inc.
++//
++// This file is part of GCC.
++//
++// GCC is free software; you can redistribute it and/or modify
++// it under the terms of the GNU General Public License as published by
++// the Free Software Foundation; either version 3, or (at your option)
++// any later version.
++//
++// GCC is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++//
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include
++#include "eh_atomics.h"
++
++#define _GLIBCXX_EH_PTR_COMPAT
++
++#include
++#include
++#include "unwind-cxx.h"
++
++using namespace __cxxabiv1;
++
++void
++std::__exception_ptr::exception_ptr::_M_addref() noexcept
++{
++ if (__builtin_expect(_M_exception_object != nullptr, true))
++ {
++ __cxa_refcounted_exception *eh =
++ __get_refcounted_exception_header_from_obj (_M_exception_object);
++ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
++ }
++}
++
++void
++std::__exception_ptr::exception_ptr::_M_release() noexcept
++{
++ if (__builtin_expect(_M_exception_object != nullptr, true))
++ {
++ __cxa_refcounted_exception *eh =
++ __get_refcounted_exception_header_from_obj (_M_exception_object);
++ if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount))
++ {
++ if (eh->exc.exceptionDestructor)
++ eh->exc.exceptionDestructor (_M_exception_object);
++
++ __cxa_free_exception (_M_exception_object);
++ _M_exception_object = nullptr;
++ }
++ }
++}
++
+--- libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc.jj 2024-07-18 16:10:38.328406724 +0200
++++ libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc 2024-07-18 18:09:02.170562149 +0200
+@@ -0,0 +1,33 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++#include "cxx11-locale-inst80.cc"
++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc");
++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc");
++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv");
+--- libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc.jj 2024-07-18 16:10:38.328406724 +0200
++++ libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc 2024-07-18 18:09:02.170562149 +0200
+@@ -0,0 +1,35 @@
++// wide string support -*- C++ -*-
++
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 21 Strings library
++//
++
++#define _GLIBCXX_USE_CXX11_ABI 0
++#include
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++#define C wchar_t
++#include "cow-string-inst80.cc"
++#endif
+--- libstdc++-v3/src/nonshared11/wlocale-inst80.cc.jj 2024-07-18 16:10:38.328406724 +0200
++++ libstdc++-v3/src/nonshared11/wlocale-inst80.cc 2024-07-19 14:06:29.178879442 +0200
+@@ -0,0 +1,31 @@
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++// Instantiate locales using COW std::wstring ABI
++#define _GLIBCXX_USE_CXX11_ABI 0
++#include
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++#define C wchar_t
++#include "locale-inst80.cc"
++#endif
++asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv");
+--- libstdc++-v3/src/nonshared11/condition_variable80.cc.jj 2024-07-18 16:10:38.329406711 +0200
++++ libstdc++-v3/src/nonshared11/condition_variable80.cc 2024-07-18 18:09:02.171562136 +0200
+@@ -0,0 +1,44 @@
++// condition_variable -*- C++ -*-
++
++// Copyright (C) 2008-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include
++#include
++
++#ifdef _GLIBCXX_HAS_GTHREADS
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ void
++ condition_variable::wait(unique_lock& __lock)
++ {
++ _M_cond.wait(*__lock.mutex());
++ }
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
++
++#endif // _GLIBCXX_HAS_GTHREADS
++asm (".hidden _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE");
+--- libstdc++-v3/src/nonshared11/wstring-inst110.cc.jj 2024-07-18 16:10:38.329406711 +0200
++++ libstdc++-v3/src/nonshared11/wstring-inst110.cc 2024-07-19 13:10:43.393925247 +0200
+@@ -0,0 +1,26 @@
++// Components for manipulating sequences of characters -*- C++ -*-
++
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "wstring-inst80.cc"
+--- libstdc++-v3/src/nonshared11/locale-inst80.cc.jj 2024-07-18 16:10:38.329406711 +0200
++++ libstdc++-v3/src/nonshared11/locale-inst80.cc 2024-07-18 18:09:02.171562136 +0200
+@@ -0,0 +1,99 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++#ifndef _GLIBCXX_USE_CXX11_ABI
++// Instantiations in this file use the old COW std::string ABI unless included
++// by another file which defines _GLIBCXX_USE_CXX11_ABI=1. Some instantiations
++// are guarded by a check for !_GLIBCXX_USE_CXX11_ABI so that they are only
++// instantiated once, because they are not tagged with abi_tag so should not
++// be instantiated twice.
++# define _GLIBCXX_USE_CXX11_ABI 0
++#endif
++
++#include
++
++// Instantiation configuration.
++#ifndef C
++# define C char
++# define C_is_char
++#endif
++
++#define INSTANTIATE_USE_FACET(...) \
++ template const __VA_ARGS__* \
++ __try_use_facet< __VA_ARGS__ >(const locale&) noexcept
++
++#define INSTANTIATE_FACET_ACCESSORS(...) \
++ INSTANTIATE_USE_FACET(__VA_ARGS__)
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
++ template time_get>::iter_type time_get>::get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, char, char) const;
++ template collate_byname::collate_byname(const string&, size_t);
++#endif
++ template time_get>::iter_type time_get>::_M_extract_via_format(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, __time_get_state&) const;
++ template void __timepunct::_M_am_pm_format(C const**) const;
++
++#if ! _GLIBCXX_USE_CXX11_ABI
++INSTANTIATE_FACET_ACCESSORS(ctype);
++INSTANTIATE_FACET_ACCESSORS(codecvt);
++#endif
++INSTANTIATE_FACET_ACCESSORS(collate);
++INSTANTIATE_FACET_ACCESSORS(numpunct);
++INSTANTIATE_FACET_ACCESSORS(moneypunct);
++INSTANTIATE_USE_FACET (moneypunct);
++#if ! _GLIBCXX_USE_CXX11_ABI
++INSTANTIATE_FACET_ACCESSORS(__timepunct);
++INSTANTIATE_FACET_ACCESSORS(time_put);
++#endif
++INSTANTIATE_FACET_ACCESSORS(time_get);
++INSTANTIATE_FACET_ACCESSORS(messages);
++
++INSTANTIATE_FACET_ACCESSORS(money_put);
++INSTANTIATE_FACET_ACCESSORS(money_get);
++
++#if ! _GLIBCXX_USE_CXX11_ABI
++INSTANTIATE_FACET_ACCESSORS(num_get);
++INSTANTIATE_FACET_ACCESSORS(num_put);
++#endif
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
++
++#ifdef C_is_char
++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc");
++#endif
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
++#ifdef C_is_char
++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc");
++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc");
++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv");
++#endif
++#endif
+\ No newline at end of file
+--- libstdc++-v3/src/nonshared11/codecvt80.cc.jj 2024-07-18 16:10:38.330406698 +0200
++++ libstdc++-v3/src/nonshared11/codecvt80.cc 2024-07-18 18:09:02.172562123 +0200
+@@ -0,0 +1,38 @@
++// Copyright (C) 2012-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_80
++#include "../c++11/codecvt.cc"
++asm (".hidden _ZTISt12codecvt_base");
++asm (".hidden _ZTSSt12codecvt_base");
++asm (".hidden _ZTISt23__codecvt_abstract_baseIDic11__mbstate_tE");
++asm (".hidden _ZTISt23__codecvt_abstract_baseIDsc11__mbstate_tE");
++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDic11__mbstate_tE");
++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDsc11__mbstate_tE");
++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDic11__mbstate_tE");
++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDsc11__mbstate_tE");
++asm (".hidden _ZTISt23__codecvt_abstract_baseIDiDu11__mbstate_tE");
++asm (".hidden _ZTISt23__codecvt_abstract_baseIDsDu11__mbstate_tE");
++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDiDu11__mbstate_tE");
++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDsDu11__mbstate_tE");
++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDiDu11__mbstate_tE");
++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDsDu11__mbstate_tE");
+--- libstdc++-v3/src/nonshared11/sstream-inst80.cc.jj 2024-07-18 16:10:38.331406686 +0200
++++ libstdc++-v3/src/nonshared11/sstream-inst80.cc 2024-07-18 18:09:02.172562123 +0200
+@@ -0,0 +1,55 @@
++// Explicit instantiation file.
++
++// Copyright (C) 2014-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882:
++//
++
++#define _GLIBCXX_USE_CXX11_ABI 1
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ template basic_stringbuf::basic_stringbuf();
++ template basic_istringstream::basic_istringstream();
++ template basic_ostringstream::basic_ostringstream();
++ template basic_stringstream::basic_stringstream();
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template basic_stringbuf::basic_stringbuf();
++ template basic_istringstream::basic_istringstream();
++ template basic_ostringstream::basic_ostringstream();
++ template basic_stringstream::basic_stringstream();
++#endif
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
++
++asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev");
++asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev");
++asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev");
++asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev");
++asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev");
++asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev");
+--- libstdc++-v3/src/nonshared11/Makefile.am.jj 2024-07-18 16:10:38.331406686 +0200
++++ libstdc++-v3/src/nonshared11/Makefile.am 2024-07-19 12:38:52.885625905 +0200
+@@ -0,0 +1,139 @@
++## Makefile for the C++03 sources of the GNU C++ Standard library.
++##
++## Copyright (C) 1997-2024 Free Software Foundation, Inc.
++##
++## This file is part of the libstdc++ version 3 distribution.
++## Process this file with automake to produce Makefile.in.
++
++## This file is part of the GNU ISO C++ Library. This library is free
++## software; you can redistribute it and/or modify it under the
++## terms of the GNU General Public License as published by the
++## Free Software Foundation; either version 3, or (at your option)
++## any later version.
++
++## This library is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License along
++## with this library; see the file COPYING3. If not see
++## .
++
++include $(top_srcdir)/fragment.am
++
++# Convenience library for C++11 runtime.
++noinst_LTLIBRARIES = libnonshared11convenience80.la \
++ libnonshared11convenience110.la
++
++headers =
++
++sources80 = \
++ limits.cc \
++ functexcept80.cc \
++ debug.cc \
++ eh_ptr80.cc \
++ futex80.cc \
++ codecvt80.cc \
++ cow-stdexcept80.cc \
++ shared_ptr80.cc \
++ cxx11-ios_failure80.cc \
++ condition_variable80.cc \
++ basic_file.cc \
++ $(inst_sources80)
++
++sources110 = \
++ debug110.cc \
++ condition_variable80.cc \
++ basic_file.cc \
++ $(inst_sources110)
++
++if ENABLE_EXTERN_TEMPLATE
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++inst_sources80 = \
++ cow-sstream-inst80.cc \
++ istream-inst80.cc \
++ sstream-inst80.cc \
++ cow-string-inst80.cc \
++ cow-wstring-inst80.cc \
++ locale-inst80.cc \
++ wlocale-inst80.cc \
++ string-inst80.cc \
++ wstring-inst80.cc \
++ cxx11-locale-inst80.cc \
++ cxx11-wlocale-inst80.cc
++inst_sources110 = \
++ locale-inst110.cc \
++ wlocale-inst110.cc \
++ string-inst110.cc \
++ wstring-inst110.cc \
++ cxx11-locale-inst110.cc \
++ cxx11-wlocale-inst110.cc
++else
++# XTEMPLATE_FLAGS =
++inst_sources80 =
++inst_sources110 =
++endif
++
++vpath % $(top_srcdir)/src/nonshared11
++vpath % $(top_srcdir)
++
++libnonshared11convenience80_la_SOURCES = $(sources80)
++libnonshared11convenience110_la_SOURCES = $(sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++11 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++# Libtool notes
++
++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++
++# 2) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++# We have to put --tag disable-shared after --tag CXX lest things
++# CXX undo the affect of disable-shared.
++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++# Use special rules for source files that require -fchar8_t.
++codecvt80.lo: codecvt80.cc
++ $(LTCXXCOMPILE) -fchar8_t -c $<
++limits.lo: limits.cc
++ $(LTCXXCOMPILE) -fchar8_t -c $<
+--- libstdc++-v3/src/nonshared11/wlocale-inst110.cc.jj 2024-07-18 16:10:38.331406686 +0200
++++ libstdc++-v3/src/nonshared11/wlocale-inst110.cc 2024-07-19 14:05:19.620761641 +0200
+@@ -0,0 +1,32 @@
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++// Instantiate locales using COW std::wstring ABI
++#define _GLIBCXX_USE_CXX11_ABI 0
++#include
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++#define C wchar_t
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "locale-inst80.cc"
++#endif
++asm (".hidden _ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv");
+--- libstdc++-v3/src/nonshared11/Makefile.in.jj 2024-07-18 16:10:38.332406673 +0200
++++ libstdc++-v3/src/nonshared11/Makefile.in 2024-07-19 14:22:11.356881323 +0200
+@@ -0,0 +1,816 @@
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
++am__make_running_with_option = \
++ case $${target_option-} in \
++ ?) ;; \
++ *) echo "am__make_running_with_option: internal error: invalid" \
++ "target option '$${target_option-}' specified" >&2; \
++ exit 1;; \
++ esac; \
++ has_opt=no; \
++ sane_makeflags=$$MAKEFLAGS; \
++ if $(am__is_gnu_make); then \
++ sane_makeflags=$$MFLAGS; \
++ else \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ bs=\\; \
++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
++ esac; \
++ fi; \
++ skip_next=no; \
++ strip_trailopt () \
++ { \
++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
++ }; \
++ for flg in $$sane_makeflags; do \
++ test $$skip_next = yes && { skip_next=no; continue; }; \
++ case $$flg in \
++ *=*|--*) continue;; \
++ -*I) strip_trailopt 'I'; skip_next=yes;; \
++ -*I?*) strip_trailopt 'I';; \
++ -*O) strip_trailopt 'O'; skip_next=yes;; \
++ -*O?*) strip_trailopt 'O';; \
++ -*l) strip_trailopt 'l'; skip_next=yes;; \
++ -*l?*) strip_trailopt 'l';; \
++ -[dEDm]) skip_next=yes;; \
++ -[JT]) skip_next=yes;; \
++ esac; \
++ case $$flg in \
++ *$$target_option*) has_opt=yes; break;; \
++ esac; \
++ done; \
++ test $$has_opt = yes
++am__make_dryrun = (target_option=n; $(am__make_running_with_option))
++am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/nonshared11
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
++ $(top_srcdir)/../config/enable.m4 \
++ $(top_srcdir)/../config/futex.m4 \
++ $(top_srcdir)/../config/hwcaps.m4 \
++ $(top_srcdir)/../config/iconv.m4 \
++ $(top_srcdir)/../config/lead-dot.m4 \
++ $(top_srcdir)/../config/lib-ld.m4 \
++ $(top_srcdir)/../config/lib-link.m4 \
++ $(top_srcdir)/../config/lib-prefix.m4 \
++ $(top_srcdir)/../config/lthostflags.m4 \
++ $(top_srcdir)/../config/multi.m4 \
++ $(top_srcdir)/../config/no-executables.m4 \
++ $(top_srcdir)/../config/override.m4 \
++ $(top_srcdir)/../config/toolexeclibdir.m4 \
++ $(top_srcdir)/../config/unwind_ipinfo.m4 \
++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
++ $(top_srcdir)/../config/gc++filt.m4 \
++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++libnonshared11convenience110_la_LIBADD =
++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_1 = locale-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst110.lo
++am__objects_2 = debug110.lo condition_variable80.lo basic_file.lo \
++ $(am__objects_1)
++am_libnonshared11convenience110_la_OBJECTS = $(am__objects_2)
++libnonshared11convenience110_la_OBJECTS = \
++ $(am_libnonshared11convenience110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libnonshared11convenience80_la_LIBADD =
++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = cow-sstream-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst80.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.lo
++am__objects_4 = limits.lo functexcept80.lo debug.lo eh_ptr80.lo \
++ futex80.lo codecvt80.lo cow-stdexcept80.lo shared_ptr80.lo \
++ cxx11-ios_failure80.lo condition_variable80.lo basic_file.lo \
++ $(am__objects_3)
++am_libnonshared11convenience80_la_OBJECTS = $(am__objects_4)
++libnonshared11convenience80_la_OBJECTS = \
++ $(am_libnonshared11convenience80_la_OBJECTS)
++AM_V_P = $(am__v_P_@AM_V@)
++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
++am__v_P_0 = false
++am__v_P_1 = :
++AM_V_GEN = $(am__v_GEN_@AM_V@)
++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
++am__v_GEN_0 = @echo " GEN " $@;
++am__v_GEN_1 =
++AM_V_at = $(am__v_at_@AM_V@)
++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
++am__v_at_0 = @
++am__v_at_1 =
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp =
++am__depfiles_maybe =
++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
++AM_V_CXX = $(am__v_CXX_@AM_V@)
++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
++am__v_CXX_0 = @echo " CXX " $@;
++am__v_CXX_1 =
++CXXLD = $(CXX)
++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
++am__v_CXXLD_0 = @echo " CXXLD " $@;
++am__v_CXXLD_1 =
++SOURCES = $(libnonshared11convenience110_la_SOURCES) \
++ $(libnonshared11convenience80_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
++# Read a list of newline-separated strings from the standard input,
++# and print each of them once, without duplicates. Input order is
++# *not* preserved.
++am__uniquify_input = $(AWK) '\
++ BEGIN { nonempty = 0; } \
++ { items[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in items) print i; }; } \
++'
++# Make sure the list of sources is unique. This is necessary because,
++# e.g., the same source file might be shared among _SOURCES variables
++# for different programs/libraries.
++am__define_uniq_tagged_files = \
++ list='$(am__tagged_files)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
++ACLOCAL = @ACLOCAL@
++ALLOCATOR_H = @ALLOCATOR_H@
++ALLOCATOR_NAME = @ALLOCATOR_NAME@
++ALLOC_FILE = @ALLOC_FILE@
++AMTAR = @AMTAR@
++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++AR = @AR@
++AS = @AS@
++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
++ATOMIC_FLAGS = @ATOMIC_FLAGS@
++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
++BASIC_FILE_CC = @BASIC_FILE_CC@
++BASIC_FILE_H = @BASIC_FILE_H@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCODECVT_CC = @CCODECVT_CC@
++CCOLLATE_CC = @CCOLLATE_CC@
++CCTYPE_CC = @CCTYPE_CC@
++CFLAGS = @CFLAGS@
++CLOCALE_CC = @CLOCALE_CC@
++CLOCALE_H = @CLOCALE_H@
++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
++CMESSAGES_CC = @CMESSAGES_CC@
++CMESSAGES_H = @CMESSAGES_H@
++CMONEY_CC = @CMONEY_CC@
++CNUMERIC_CC = @CNUMERIC_CC@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
++CSTDIO_H = @CSTDIO_H@
++CTIME_CC = @CTIME_CC@
++CTIME_H = @CTIME_H@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXFILT = @CXXFILT@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++C_INCLUDE_DIR = @C_INCLUDE_DIR@
++DBLATEX = @DBLATEX@
++DEBUG_FLAGS = @DEBUG_FLAGS@
++DEFS = @DEFS@
++DOT = @DOT@
++DOXYGEN = @DOXYGEN@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EH_POOL_FLAGS = @EH_POOL_FLAGS@
++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
++EXEEXT = @EXEEXT@
++EXTRA_CFLAGS = @EXTRA_CFLAGS@
++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
++FGREP = @FGREP@
++FORMAT_FILE = @FORMAT_FILE@
++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
++GLIBCXX_LIBS = @GLIBCXX_LIBS@
++GREP = @GREP@
++HWCAP_CFLAGS = @HWCAP_CFLAGS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBICONV = @LIBICONV@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
++OPT_LDFLAGS = @OPT_LDFLAGS@
++OS_INC_SRCDIR = @OS_INC_SRCDIR@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PDFLATEX = @PDFLATEX@
++RANLIB = @RANLIB@
++SECTION_FLAGS = @SECTION_FLAGS@
++SECTION_LDFLAGS = @SECTION_LDFLAGS@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++SYMVER_FILE = @SYMVER_FILE@
++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
++USE_NLS = @USE_NLS@
++VERSION = @VERSION@
++VIEW_FILE = @VIEW_FILE@
++VTV_CXXFLAGS = @VTV_CXXFLAGS@
++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
++WARN_FLAGS = @WARN_FLAGS@
++XMLCATALOG = @XMLCATALOG@
++XMLLINT = @XMLLINT@
++XSLTPROC = @XSLTPROC@
++XSL_STYLE_DIR = @XSL_STYLE_DIR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__leading_dot = @am__leading_dot@
++am__tar = @am__tar@
++am__untar = @am__untar@
++baseline_dir = @baseline_dir@
++baseline_subdir_switch = @baseline_subdir_switch@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++check_msgfmt = @check_msgfmt@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++enable_shared = @enable_shared@
++enable_static = @enable_static@
++exec_prefix = @exec_prefix@
++get_gcc_base_ver = @get_gcc_base_ver@
++glibcxx_MOFILES = @glibcxx_MOFILES@
++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
++glibcxx_POFILES = @glibcxx_POFILES@
++glibcxx_builddir = @glibcxx_builddir@
++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
++glibcxx_localedir = @glibcxx_localedir@
++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
++glibcxx_prefixdir = @glibcxx_prefixdir@
++glibcxx_srcdir = @glibcxx_srcdir@
++glibcxx_toolexecdir = @glibcxx_toolexecdir@
++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
++gxx_include_dir = @gxx_include_dir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libtool_VERSION = @libtool_VERSION@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_host_flags = @lt_host_flags@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++multi_basedir = @multi_basedir@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++port_specific_symbol_files = @port_specific_symbol_files@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++python_mod_dir = @python_mod_dir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++thread_header = @thread_header@
++tmake_file = @tmake_file@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++toplevel_builddir = @toplevel_builddir@
++toplevel_srcdir = @toplevel_srcdir@
++
++# May be used by various substitution variables.
++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
++MAINT_CHARSET = latin1
++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
++PWD_COMMAND = $${PWDCMD-pwd}
++STAMP = echo timestamp >
++toolexecdir = $(glibcxx_toolexecdir)
++toolexeclibdir = $(glibcxx_toolexeclibdir)
++@ENABLE_WERROR_FALSE@WERROR_FLAG =
++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
++
++# These bits are all figured out from configure. Look in acinclude.m4
++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
++CONFIG_CXXFLAGS = \
++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
++
++WARN_CXXFLAGS = \
++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
++
++
++# -I/-D flags to pass when compiling.
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
++
++# Convenience library for C++11 runtime.
++noinst_LTLIBRARIES = libnonshared11convenience80.la \
++ libnonshared11convenience110.la
++
++headers =
++sources80 = \
++ limits.cc \
++ functexcept80.cc \
++ debug.cc \
++ eh_ptr80.cc \
++ futex80.cc \
++ codecvt80.cc \
++ cow-stdexcept80.cc \
++ shared_ptr80.cc \
++ cxx11-ios_failure80.cc \
++ condition_variable80.cc \
++ basic_file.cc \
++ $(inst_sources80)
++
++sources110 = \
++ debug110.cc \
++ condition_variable80.cc \
++ basic_file.cc \
++ $(inst_sources110)
++
++# XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 =
++
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources80 = \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst80.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.cc
++
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources110 =
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources110 = \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst110.cc
++
++libnonshared11convenience80_la_SOURCES = $(sources80)
++libnonshared11convenience110_la_SOURCES = $(sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++11 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++
++# Libtool notes
++
++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++
++# 2) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++# We have to put --tag disable-shared after --tag CXX lest things
++# CXX undo the affect of disable-shared.
++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .cc .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared11/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared11/Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++$(top_srcdir)/fragment.am $(am__empty):
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
++libnonshared11convenience110.la: $(libnonshared11convenience110_la_OBJECTS) $(libnonshared11convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience110_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience110_la_OBJECTS) $(libnonshared11convenience110_la_LIBADD) $(LIBS)
++
++libnonshared11convenience80.la: $(libnonshared11convenience80_la_OBJECTS) $(libnonshared11convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience80_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience80_la_OBJECTS) $(libnonshared11convenience80_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++.cc.o:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
++
++.cc.obj:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.cc.lo:
++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(am__tagged_files)
++ $(am__define_uniq_tagged_files); mkid -fID $$unique
++tags: tags-am
++TAGS: tags
++
++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ set x; \
++ here=`pwd`; \
++ $(am__define_uniq_tagged_files); \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: ctags-am
++
++CTAGS: ctags
++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ $(am__define_uniq_tagged_files); \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++cscopelist: cscopelist-am
++
++cscopelist-am: $(am__tagged_files)
++ list='$(am__tagged_files)'; \
++ case "$(srcdir)" in \
++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
++ *) sdir=$(subdir)/$(srcdir) ;; \
++ esac; \
++ for i in $$list; do \
++ if test -f "$$i"; then \
++ echo "$(subdir)/$$i"; \
++ else \
++ echo "$$sdir/$$i"; \
++ fi; \
++ done >> $(top_builddir)/cscope.files
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES)
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
++ ctags-am distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am
++
++.PRECIOUS: Makefile
++
++
++vpath % $(top_srcdir)/src/nonshared11
++vpath % $(top_srcdir)
++
++# Use special rules for source files that require -fchar8_t.
++codecvt80.lo: codecvt80.cc
++ $(LTCXXCOMPILE) -fchar8_t -c $<
++limits.lo: limits.cc
++ $(LTCXXCOMPILE) -fchar8_t -c $<
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+--- libstdc++-v3/src/nonshared11/functexcept80.cc.jj 2024-07-18 16:10:38.333406660 +0200
++++ libstdc++-v3/src/nonshared11/functexcept80.cc 2024-07-18 18:09:02.173562110 +0200
+@@ -0,0 +1,48 @@
++// Copyright (C) 2001-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++#ifdef _GLIBCXX_USE_NLS
++# include
++# define _(msgid) gettext (msgid)
++#else
++# define _(msgid) (msgid)
++#endif
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ void
++ __throw_bad_array_new_length()
++ { _GLIBCXX_THROW_OR_ABORT(bad_array_new_length()); }
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared11/debug.cc.jj 2024-07-18 16:10:38.333406660 +0200
++++ libstdc++-v3/src/nonshared11/debug.cc 2024-07-18 18:09:02.173562110 +0200
+@@ -0,0 +1,131 @@
++// Copyright (C) 2003-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include
++#include
++
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++namespace std
++{
++ [[__noreturn__]]
++ void
++ __glibcxx_assert_fail(const char* file, int line,
++ const char* function, const char* condition) noexcept
++ {
++ if (file && function && condition)
++ fprintf(stderr, "%s:%d: %s: Assertion '%s' failed.\n",
++ file, line, function, condition);
++ else if (function)
++ fprintf(stderr, "%s: Undefined behavior detected.\n", function);
++ abort();
++ }
++}
++
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
++using namespace std;
++
++namespace __gnu_debug
++{
++ void
++ _Safe_iterator_base::
++ _M_reset() throw ()
++ {
++ _M_sequence = 0;
++ _M_version = 0;
++ _M_prior = 0;
++ _M_next = 0;
++ }
++
++ _Safe_unordered_container_base*
++ _Safe_local_iterator_base::
++ _M_get_container() const _GLIBCXX_NOEXCEPT
++ { return static_cast<_Safe_unordered_container_base*>(_M_sequence); }
++
++ void
++ _Safe_local_iterator_base::
++ _M_attach_single(_Safe_sequence_base* __cont, bool __constant) throw ()
++ {
++ _M_detach_single();
++
++ // Attach to the new container (if there is one)
++ if (__cont)
++ {
++ _M_sequence = __cont;
++ _M_version = _M_sequence->_M_version;
++ _M_get_container()->_M_attach_local_single(this, __constant);
++ }
++ }
++
++ void
++ _Safe_local_iterator_base::
++ _M_detach_single() throw ()
++ {
++ if (_M_sequence)
++ {
++ _M_get_container()->_M_detach_local_single(this);
++ _M_reset();
++ }
++ }
++
++ void
++ _Safe_unordered_container_base::
++ _M_attach_local_single(_Safe_iterator_base* __it, bool __constant) throw ()
++ {
++ _Safe_iterator_base*& __its =
++ __constant ? _M_const_local_iterators : _M_local_iterators;
++ __it->_M_next = __its;
++ if (__it->_M_next)
++ __it->_M_next->_M_prior = __it;
++ __its = __it;
++ }
++
++ void
++ _Safe_unordered_container_base::
++ _M_detach_local_single(_Safe_iterator_base* __it) throw ()
++ {
++ // Remove __it from this container's list
++ __it->_M_unlink();
++ if (_M_const_local_iterators == __it)
++ _M_const_local_iterators = __it->_M_next;
++ if (_M_local_iterators == __it)
++ _M_local_iterators = __it->_M_next;
++ }
++
++} // namespace __gnu_debug
++
++asm (".hidden _ZN11__gnu_debug19_Safe_iterator_base8_M_resetEv");
++asm (".hidden _ZN11__gnu_debug25_Safe_local_iterator_base16_M_detach_singleEv");
++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base22_M_attach_local_singleEPNS_19_Safe_iterator_baseEb");
++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base22_M_detach_local_singleEPNS_19_Safe_iterator_baseE");
++asm (".hidden _ZNK11__gnu_debug25_Safe_local_iterator_base16_M_get_containerEv");
++#endif
+--- libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc.jj 2024-07-18 16:10:38.333406660 +0200
++++ libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc 2024-07-18 18:09:02.173562110 +0200
+@@ -0,0 +1,53 @@
++// Copyright (C) 2012-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882:
++//
++
++#define _GLIBCXX_USE_CXX11_ABI 0
++#include
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ template basic_stringbuf::basic_stringbuf();
++ template basic_istringstream::basic_istringstream();
++ template basic_ostringstream::basic_ostringstream();
++ template basic_stringstream::basic_stringstream();
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template basic_stringbuf::basic_stringbuf();
++ template basic_istringstream::basic_istringstream();
++ template basic_ostringstream::basic_ostringstream();
++ template basic_stringstream::basic_stringstream();
++#endif
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
++
++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev");
++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev");
++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev");
++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev");
++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev");
++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED2Ev");
+--- libstdc++-v3/src/nonshared11/cow-stdexcept80.cc.jj 2024-07-18 16:10:38.334406647 +0200
++++ libstdc++-v3/src/nonshared11/cow-stdexcept80.cc 2024-07-18 18:09:02.174562097 +0200
+@@ -0,0 +1,76 @@
++// Methods for Exception Support for -*- C++ -*-
++
++// Copyright (C) 2014-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 19.1 Exception classes
++//
++
++// All exception classes still use the classic COW std::string.
++#define _GLIBCXX_USE_CXX11_ABI 0
++#define _GLIBCXX_DEFINE_STDEXCEPT_COPY_OPS 1
++#define __cow_string __cow_stringxxx
++#include
++#include
++#undef __cow_string
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ // Copy/move constructors and assignment operators defined using COW string.
++ // These operations are noexcept even though copying a COW string is not,
++ // but we know that the string member in an exception has not been "leaked"
++ // so copying is a simple reference count increment.
++ // For the fully dynamic string moves are not noexcept (due to needing to
++ // allocate an empty string) so we just define the moves as copies here.
++
++#if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
++ logic_error::logic_error(logic_error&& e) noexcept = default;
++
++ logic_error&
++ logic_error::operator=(logic_error&& e) noexcept = default;
++#else
++ logic_error::logic_error(logic_error&& e) noexcept
++ : exception(e), _M_msg(e._M_msg) { }
++
++ logic_error&
++ logic_error::operator=(logic_error&& e) noexcept
++ { _M_msg = e._M_msg; return *this; }
++#endif
++
++#if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
++ runtime_error::runtime_error(runtime_error&& e) noexcept = default;
++
++ runtime_error&
++ runtime_error::operator=(runtime_error&& e) noexcept = default;
++#else
++ runtime_error::runtime_error(runtime_error&& e) noexcept
++ : exception(e), _M_msg(e._M_msg) { }
++
++ runtime_error&
++ runtime_error::operator=(runtime_error&& e) noexcept
++ { _M_msg = e._M_msg; return *this; }
++#endif
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc.jj 2024-07-18 16:10:38.334406647 +0200
++++ libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc 2024-07-19 14:11:47.692839716 +0200
+@@ -0,0 +1,50 @@
++// Copyright (C) 2012-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++11/cxx11-ios_failure.cc"
++asm (".hidden _ZNKSt19__iosfail_type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv");
++asm (".hidden _ZNSt13__ios_failureD0Ev");
++asm (".hidden _ZNSt13__ios_failureD1Ev");
++asm (".hidden _ZNSt13__ios_failureD2Ev");
++asm (".hidden _ZNSt19__iosfail_type_infoD0Ev");
++asm (".hidden _ZNSt19__iosfail_type_infoD1Ev");
++asm (".hidden _ZNSt19__iosfail_type_infoD2Ev");
++asm (".hidden _ZTISt13__ios_failure");
++asm (".hidden _ZTISt19__iosfail_type_info");
++asm (".hidden _ZTSSt13__ios_failure");
++asm (".hidden _ZTSSt19__iosfail_type_info");
++asm (".hidden _ZTVSt13__ios_failure");
++asm (".hidden _ZTVSt19__iosfail_type_info");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11D2Ev");
++asm (".hidden _ZTVNSt8ios_base7failureB5cxx11E");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11D1Ev");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11D0Ev");
++asm (".hidden _ZNKSt8ios_base7failureB5cxx114whatEv");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code");
++asm (".hidden _ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code");
++asm (".hidden _ZTSNSt8ios_base7failureB5cxx11E");
++asm (".hidden _ZTINSt8ios_base7failureB5cxx11E");
++asm (".hidden _ZSt19__throw_ios_failurePKc");
+--- libstdc++-v3/src/nonshared11/shared_ptr80.cc.jj 2024-07-18 16:10:38.334406647 +0200
++++ libstdc++-v3/src/nonshared11/shared_ptr80.cc 2024-07-18 18:09:02.174562097 +0200
+@@ -0,0 +1,25 @@
++// Copyright (C) 2012-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_80
++#include "../c++11/shared_ptr.cc"
++//asm (".hidden _ZTSSt19_Sp_make_shared_tag");
+--- libstdc++-v3/src/nonshared11/wstring-inst80.cc.jj 2024-07-18 16:10:38.334406647 +0200
++++ libstdc++-v3/src/nonshared11/wstring-inst80.cc 2024-07-19 13:10:40.538962063 +0200
+@@ -0,0 +1,29 @@
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_USE_CXX11_ABI 1
++#include
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++#define C wchar_t
++#include "string-inst80.cc"
++#endif
+--- libstdc++-v3/src/nonshared11/basic_file.cc.jj 2024-07-19 12:35:19.980381629 +0200
++++ libstdc++-v3/src/nonshared11/basic_file.cc 2024-07-19 12:37:01.786063916 +0200
+@@ -0,0 +1,81 @@
++// Wrapper of C-language FILE struct -*- C++ -*-
++
++// Copyright (C) 2000-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 27.8 File-based streams
++//
++
++#include
++#include
++#include
++#include
++
++#ifdef _GLIBCXX_HAVE_POLL
++#include
++#endif
++
++// Pick up ioctl on Solaris 2.8
++#ifdef _GLIBCXX_HAVE_UNISTD_H
++#include
++#endif
++
++// Pick up FIONREAD on Solaris 2
++#ifdef _GLIBCXX_HAVE_SYS_IOCTL_H
++#define BSD_COMP
++#include
++#endif
++
++// Pick up FIONREAD on Solaris 2.5.
++#ifdef _GLIBCXX_HAVE_SYS_FILIO_H
++#include
++#endif
++
++#ifdef _GLIBCXX_HAVE_SYS_UIO_H
++#include
++#endif
++
++#if _GLIBCXX_USE__GET_OSFHANDLE
++# include // For intptr_t
++# include // For _get_osfhandle
++#endif
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ __basic_file::native_handle_type
++ __basic_file::native_handle() const noexcept
++ {
++#ifdef _GLIBCXX_USE_STDIO_PURE
++ return _M_cfile;
++#elif _GLIBCXX_USE__GET_OSFHANDLE
++ const intptr_t handle = _M_cfile ? _get_osfhandle(fileno(_M_cfile)) : -1;
++ return reinterpret_cast(handle);
++#else
++ return fileno(_M_cfile);
++#endif
++ }
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
+--- libstdc++-v3/src/nonshared11/string-inst110.cc.jj 2024-07-18 16:10:38.334406647 +0200
++++ libstdc++-v3/src/nonshared11/string-inst110.cc 2024-07-19 13:10:33.627051199 +0200
+@@ -0,0 +1,26 @@
++// Components for manipulating sequences of characters -*- C++ -*-
++
++// Copyright (C) 1997-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "string-inst80.cc"
+--- libstdc++-v3/src/nonshared11/locale-inst110.cc.jj 2024-07-18 16:10:38.335406635 +0200
++++ libstdc++-v3/src/nonshared11/locale-inst110.cc 2024-07-18 18:09:02.175562085 +0200
+@@ -0,0 +1,24 @@
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "locale-inst80.cc"
+--- libstdc++-v3/src/nonshared11/cxx11-locale-inst80.cc.jj 2024-07-18 16:10:38.335406635 +0200
++++ libstdc++-v3/src/nonshared11/cxx11-locale-inst80.cc 2024-07-18 18:09:02.175562085 +0200
+@@ -0,0 +1,69 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1999-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++#ifndef _GLIBCXX_USE_CXX11_ABI
++#define _GLIBCXX_USE_CXX11_ABI 1
++#endif
++
++#include
++
++// Instantiation configuration.
++#ifndef C
++# define C char
++# define C_is_char
++#endif
++
++#define INSTANTIATE_USE_FACET(...) \
++ template const __VA_ARGS__* \
++ __try_use_facet< __VA_ARGS__ >(const locale&) noexcept
++
++#define INSTANTIATE_FACET_ACCESSORS(...) \
++ INSTANTIATE_USE_FACET(__VA_ARGS__)
++
++namespace std _GLIBCXX_VISIBILITY(default)
++{
++_GLIBCXX_BEGIN_NAMESPACE_VERSION
++
++ template time_get>::iter_type time_get>::_M_extract_via_format(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, __time_get_state&) const;
++
++INSTANTIATE_FACET_ACCESSORS(collate);
++INSTANTIATE_FACET_ACCESSORS(numpunct);
++INSTANTIATE_FACET_ACCESSORS(moneypunct);
++INSTANTIATE_USE_FACET (moneypunct);
++INSTANTIATE_FACET_ACCESSORS(time_get);
++INSTANTIATE_FACET_ACCESSORS(messages);
++INSTANTIATE_FACET_ACCESSORS(money_put);
++INSTANTIATE_FACET_ACCESSORS(money_get);
++
++_GLIBCXX_END_NAMESPACE_VERSION
++} // namespace
++#ifdef C_is_char
++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc");
++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc");
++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv");
++#endif
+--- libstdc++-v3/src/nonshared11/futex80.cc.jj 2024-07-18 16:10:38.335406635 +0200
++++ libstdc++-v3/src/nonshared11/futex80.cc 2024-07-18 18:09:02.176562072 +0200
+@@ -0,0 +1,24 @@
++// Copyright (C) 2012-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_80
++#include "../c++11/futex.cc"
+--- libstdc++-v3/src/shared/hashtable-aux.cc.jj 2024-04-26 11:47:04.208141595 +0200
++++ libstdc++-v3/src/shared/hashtable-aux.cc 2024-07-18 16:10:38.335406635 +0200
+@@ -22,6 +22,9 @@
+ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ // .
+
++#ifndef HASHTABLE_AUX_CC
++#define HASHTABLE_AUX_CC 1
++
+ namespace __detail
+ {
+ // The sentinel value is kept only for abi backward compatibility.
+@@ -90,3 +93,5 @@ namespace __detail
+ #endif
+ };
+ } // namespace __detail
++
++#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,33 @@
++// Copyright The GNU Toolchain Authors.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "tzdb80.cc"
++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 @@
++// Copyright (C) 2012-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++20/sstream-inst.cc"
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_");
++#if defined(__powerpc__) && !defined(__powerpc64__)
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj");
++#endif
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm");
+--- libstdc++-v3/src/nonshared20/Makefile.am.jj 2024-07-18 16:10:38.336406622 +0200
++++ libstdc++-v3/src/nonshared20/Makefile.am 2024-07-19 14:22:04.815965025 +0200
+@@ -0,0 +1,124 @@
++## Makefile for the C++20 sources of the GNU C++ Standard library.
++##
++## Copyright (C) 1997-2024 Free Software Foundation, Inc.
++##
++## This file is part of the libstdc++ version 3 distribution.
++## Process this file with automake to produce Makefile.in.
++
++## This file is part of the GNU ISO C++ Library. This library is free
++## software; you can redistribute it and/or modify it under the
++## terms of the GNU General Public License as published by the
++## Free Software Foundation; either version 3, or (at your option)
++## any later version.
++
++## This library is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License along
++## with this library; see the file COPYING3. If not see
++## .
++
++include $(top_srcdir)/fragment.am
++
++# Convenience library for C++20 runtime.
++noinst_LTLIBRARIES = libnonshared20convenience80.la \
++ libnonshared20convenience110.la
++
++headers =
++
++if ENABLE_EXTERN_TEMPLATE
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++inst_sources80 = sstream-inst80.cc
++else
++# XTEMPLATE_FLAGS =
++inst_sources80 =
++endif
++
++sources80 = tzdb80.cc
++sources110 = tzdb110.cc
++
++vpath % $(top_srcdir)/src/nonshared20
++
++if USE_STATIC_TZDATA
++tzdata.zi.h: $(top_srcdir)/src/c++20/tzdata.zi
++ echo 'static const char tzdata_chars[] = R"__libstdcxx__(' > $@.tmp
++ cat $^ >> $@.tmp
++ echo ')__libstdcxx__";' >> $@.tmp
++ mv $@.tmp $@
++
++tzdb80.lo: tzdb80.cc tzdata.zi.h
++ $(LTCXXCOMPILE) -I. -c $<
++tzdb80.o: tzdb80.cc tzdata.zi.h
++ $(CXXCOMPILE) -I. -c $<
++tzdb110.lo: tzdb110.cc tzdata.zi.h
++ $(LTCXXCOMPILE) -I. -c $<
++tzdb110.o: tzdb110.cc tzdata.zi.h
++ $(CXXCOMPILE) -I. -c $<
++endif
++
++libnonshared20convenience80_la_SOURCES = $(sources80) $(inst_sources80)
++libnonshared20convenience110_la_SOURCES = $(sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++20 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(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,130 @@
++// Copyright The GNU Toolchain Authors.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++20/tzdb.cc"
++asm (".hidden _ZNKSt6chrono9time_zone4nameEv");
++asm (".hidden _ZNKSt6chrono14time_zone_link4nameEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt6chrono14year_month_day19_M_days_since_epochEv");
++asm (".hidden _ZNSt6chronossERKNS_14time_zone_linkES2_");
++asm (".hidden _ZNSt6chrono9time_zoneC2ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE");
++asm (".hidden _ZNSt6chrono9time_zoneC1ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE");
++asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_cacheE");
++asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED2Ev");
++asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED1Ev");
++asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_ownerE");
++asm (".hidden _ZNSt6chrono9tzdb_list5_Node15_S_replace_headESt10shared_ptrIS1_ES3_");
++//asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIJRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_");
++//asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIIRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_");
++asm (".hidden _ZNSt6chrono9time_zoneD2Ev");
++asm (".hidden _ZNSt6chrono9time_zoneD1Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEJRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_");
++asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEIRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_");
++asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_");
++asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_");
++asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED2Ev");
++asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED1Ev");
++asm (".hidden _ZNSt6chrono9tzdb_list5_Node20_S_read_leap_secondsEv");
++asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_");
++asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_");
++asm (".hidden _ZSt23__atomic_notify_addressIiEvPKT_b");
++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_");
++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_");
++asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
++asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
++asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
++asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZNSt6chrono9tzdb_list5_Node12_S_init_tzdbEv");
++asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj");
++#else
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm");
++#endif
++#ifdef __i386__
++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_");
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++#else
++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_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_EEEElS3_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_EEEElS3_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_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_");
++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_");
++#endif
++asm (".hidden _ZTSSt19_Sp_make_shared_tag");
++#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");
++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
++asm (".hidden _ZZNSt8__detail18__waiter_pool_base6_S_forEPKvE3__w");
++asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_appendIJRS2_RS6_EEEvDpOT_");
++asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_appendIIRS2_RS6_EEEvDpOT_");
+--- libstdc++-v3/src/nonshared20/Makefile.in.jj 2024-07-18 16:10:38.336406622 +0200
++++ libstdc++-v3/src/nonshared20/Makefile.in 2024-07-19 14:22:11.396880811 +0200
+@@ -0,0 +1,777 @@
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
++am__make_running_with_option = \
++ case $${target_option-} in \
++ ?) ;; \
++ *) echo "am__make_running_with_option: internal error: invalid" \
++ "target option '$${target_option-}' specified" >&2; \
++ exit 1;; \
++ esac; \
++ has_opt=no; \
++ sane_makeflags=$$MAKEFLAGS; \
++ if $(am__is_gnu_make); then \
++ sane_makeflags=$$MFLAGS; \
++ else \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ bs=\\; \
++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
++ esac; \
++ fi; \
++ skip_next=no; \
++ strip_trailopt () \
++ { \
++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
++ }; \
++ for flg in $$sane_makeflags; do \
++ test $$skip_next = yes && { skip_next=no; continue; }; \
++ case $$flg in \
++ *=*|--*) continue;; \
++ -*I) strip_trailopt 'I'; skip_next=yes;; \
++ -*I?*) strip_trailopt 'I';; \
++ -*O) strip_trailopt 'O'; skip_next=yes;; \
++ -*O?*) strip_trailopt 'O';; \
++ -*l) strip_trailopt 'l'; skip_next=yes;; \
++ -*l?*) strip_trailopt 'l';; \
++ -[dEDm]) skip_next=yes;; \
++ -[JT]) skip_next=yes;; \
++ esac; \
++ case $$flg in \
++ *$$target_option*) has_opt=yes; break;; \
++ esac; \
++ done; \
++ test $$has_opt = yes
++am__make_dryrun = (target_option=n; $(am__make_running_with_option))
++am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/nonshared20
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
++ $(top_srcdir)/../config/enable.m4 \
++ $(top_srcdir)/../config/futex.m4 \
++ $(top_srcdir)/../config/hwcaps.m4 \
++ $(top_srcdir)/../config/iconv.m4 \
++ $(top_srcdir)/../config/lead-dot.m4 \
++ $(top_srcdir)/../config/lib-ld.m4 \
++ $(top_srcdir)/../config/lib-link.m4 \
++ $(top_srcdir)/../config/lib-prefix.m4 \
++ $(top_srcdir)/../config/lthostflags.m4 \
++ $(top_srcdir)/../config/multi.m4 \
++ $(top_srcdir)/../config/no-executables.m4 \
++ $(top_srcdir)/../config/override.m4 \
++ $(top_srcdir)/../config/toolexeclibdir.m4 \
++ $(top_srcdir)/../config/unwind_ipinfo.m4 \
++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
++ $(top_srcdir)/../config/gc++filt.m4 \
++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++libnonshared20convenience110_la_LIBADD =
++am__objects_1 = tzdb110.lo
++am_libnonshared20convenience110_la_OBJECTS = $(am__objects_1)
++libnonshared20convenience110_la_OBJECTS = \
++ $(am_libnonshared20convenience110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libnonshared20convenience80_la_LIBADD =
++am__objects_2 = tzdb80.lo
++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = sstream-inst80.lo
++am_libnonshared20convenience80_la_OBJECTS = $(am__objects_2) \
++ $(am__objects_3)
++libnonshared20convenience80_la_OBJECTS = \
++ $(am_libnonshared20convenience80_la_OBJECTS)
++AM_V_P = $(am__v_P_@AM_V@)
++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
++am__v_P_0 = false
++am__v_P_1 = :
++AM_V_GEN = $(am__v_GEN_@AM_V@)
++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
++am__v_GEN_0 = @echo " GEN " $@;
++am__v_GEN_1 =
++AM_V_at = $(am__v_at_@AM_V@)
++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
++am__v_at_0 = @
++am__v_at_1 =
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp =
++am__depfiles_maybe =
++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
++AM_V_CXX = $(am__v_CXX_@AM_V@)
++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
++am__v_CXX_0 = @echo " CXX " $@;
++am__v_CXX_1 =
++CXXLD = $(CXX)
++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
++am__v_CXXLD_0 = @echo " CXXLD " $@;
++am__v_CXXLD_1 =
++SOURCES = $(libnonshared20convenience110_la_SOURCES) \
++ $(libnonshared20convenience80_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
++# Read a list of newline-separated strings from the standard input,
++# and print each of them once, without duplicates. Input order is
++# *not* preserved.
++am__uniquify_input = $(AWK) '\
++ BEGIN { nonempty = 0; } \
++ { items[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in items) print i; }; } \
++'
++# Make sure the list of sources is unique. This is necessary because,
++# e.g., the same source file might be shared among _SOURCES variables
++# for different programs/libraries.
++am__define_uniq_tagged_files = \
++ list='$(am__tagged_files)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
++ACLOCAL = @ACLOCAL@
++ALLOCATOR_H = @ALLOCATOR_H@
++ALLOCATOR_NAME = @ALLOCATOR_NAME@
++ALLOC_FILE = @ALLOC_FILE@
++AMTAR = @AMTAR@
++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++AR = @AR@
++AS = @AS@
++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
++ATOMIC_FLAGS = @ATOMIC_FLAGS@
++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
++BASIC_FILE_CC = @BASIC_FILE_CC@
++BASIC_FILE_H = @BASIC_FILE_H@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCODECVT_CC = @CCODECVT_CC@
++CCOLLATE_CC = @CCOLLATE_CC@
++CCTYPE_CC = @CCTYPE_CC@
++CFLAGS = @CFLAGS@
++CLOCALE_CC = @CLOCALE_CC@
++CLOCALE_H = @CLOCALE_H@
++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
++CMESSAGES_CC = @CMESSAGES_CC@
++CMESSAGES_H = @CMESSAGES_H@
++CMONEY_CC = @CMONEY_CC@
++CNUMERIC_CC = @CNUMERIC_CC@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
++CSTDIO_H = @CSTDIO_H@
++CTIME_CC = @CTIME_CC@
++CTIME_H = @CTIME_H@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXFILT = @CXXFILT@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++C_INCLUDE_DIR = @C_INCLUDE_DIR@
++DBLATEX = @DBLATEX@
++DEBUG_FLAGS = @DEBUG_FLAGS@
++DEFS = @DEFS@
++DOT = @DOT@
++DOXYGEN = @DOXYGEN@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EH_POOL_FLAGS = @EH_POOL_FLAGS@
++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
++EXEEXT = @EXEEXT@
++EXTRA_CFLAGS = @EXTRA_CFLAGS@
++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
++FGREP = @FGREP@
++FORMAT_FILE = @FORMAT_FILE@
++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
++GLIBCXX_LIBS = @GLIBCXX_LIBS@
++GREP = @GREP@
++HWCAP_CFLAGS = @HWCAP_CFLAGS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBICONV = @LIBICONV@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
++OPT_LDFLAGS = @OPT_LDFLAGS@
++OS_INC_SRCDIR = @OS_INC_SRCDIR@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PDFLATEX = @PDFLATEX@
++RANLIB = @RANLIB@
++SECTION_FLAGS = @SECTION_FLAGS@
++SECTION_LDFLAGS = @SECTION_LDFLAGS@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++SYMVER_FILE = @SYMVER_FILE@
++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
++USE_NLS = @USE_NLS@
++VERSION = @VERSION@
++VIEW_FILE = @VIEW_FILE@
++VTV_CXXFLAGS = @VTV_CXXFLAGS@
++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
++WARN_FLAGS = @WARN_FLAGS@
++XMLCATALOG = @XMLCATALOG@
++XMLLINT = @XMLLINT@
++XSLTPROC = @XSLTPROC@
++XSL_STYLE_DIR = @XSL_STYLE_DIR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__leading_dot = @am__leading_dot@
++am__tar = @am__tar@
++am__untar = @am__untar@
++baseline_dir = @baseline_dir@
++baseline_subdir_switch = @baseline_subdir_switch@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++check_msgfmt = @check_msgfmt@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++enable_shared = @enable_shared@
++enable_static = @enable_static@
++exec_prefix = @exec_prefix@
++get_gcc_base_ver = @get_gcc_base_ver@
++glibcxx_MOFILES = @glibcxx_MOFILES@
++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
++glibcxx_POFILES = @glibcxx_POFILES@
++glibcxx_builddir = @glibcxx_builddir@
++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
++glibcxx_localedir = @glibcxx_localedir@
++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
++glibcxx_prefixdir = @glibcxx_prefixdir@
++glibcxx_srcdir = @glibcxx_srcdir@
++glibcxx_toolexecdir = @glibcxx_toolexecdir@
++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
++gxx_include_dir = @gxx_include_dir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libtool_VERSION = @libtool_VERSION@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_host_flags = @lt_host_flags@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++multi_basedir = @multi_basedir@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++port_specific_symbol_files = @port_specific_symbol_files@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++python_mod_dir = @python_mod_dir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++thread_header = @thread_header@
++tmake_file = @tmake_file@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++toplevel_builddir = @toplevel_builddir@
++toplevel_srcdir = @toplevel_srcdir@
++
++# May be used by various substitution variables.
++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
++MAINT_CHARSET = latin1
++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
++PWD_COMMAND = $${PWDCMD-pwd}
++STAMP = echo timestamp >
++toolexecdir = $(glibcxx_toolexecdir)
++toolexeclibdir = $(glibcxx_toolexeclibdir)
++@ENABLE_WERROR_FALSE@WERROR_FLAG =
++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
++
++# These bits are all figured out from configure. Look in acinclude.m4
++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
++CONFIG_CXXFLAGS = \
++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
++
++WARN_CXXFLAGS = \
++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
++
++
++# -I/-D flags to pass when compiling.
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
++
++# Convenience library for C++20 runtime.
++noinst_LTLIBRARIES = libnonshared20convenience80.la \
++ libnonshared20convenience110.la
++
++headers =
++# XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 =
++
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources80 = sstream-inst80.cc
++sources80 = tzdb80.cc
++sources110 = tzdb110.cc
++libnonshared20convenience80_la_SOURCES = $(sources80) $(inst_sources80)
++libnonshared20convenience110_la_SOURCES = $(sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++20 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .cc .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared20/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared20/Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++$(top_srcdir)/fragment.am $(am__empty):
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
++libnonshared20convenience110.la: $(libnonshared20convenience110_la_OBJECTS) $(libnonshared20convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience110_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience110_la_OBJECTS) $(libnonshared20convenience110_la_LIBADD) $(LIBS)
++
++libnonshared20convenience80.la: $(libnonshared20convenience80_la_OBJECTS) $(libnonshared20convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience80_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience80_la_OBJECTS) $(libnonshared20convenience80_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++.cc.o:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
++
++.cc.obj:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.cc.lo:
++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(am__tagged_files)
++ $(am__define_uniq_tagged_files); mkid -fID $$unique
++tags: tags-am
++TAGS: tags
++
++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ set x; \
++ here=`pwd`; \
++ $(am__define_uniq_tagged_files); \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: ctags-am
++
++CTAGS: ctags
++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ $(am__define_uniq_tagged_files); \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++cscopelist: cscopelist-am
++
++cscopelist-am: $(am__tagged_files)
++ list='$(am__tagged_files)'; \
++ case "$(srcdir)" in \
++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
++ *) sdir=$(subdir)/$(srcdir) ;; \
++ esac; \
++ for i in $$list; do \
++ if test -f "$$i"; then \
++ echo "$(subdir)/$$i"; \
++ else \
++ echo "$$sdir/$$i"; \
++ fi; \
++ done >> $(top_builddir)/cscope.files
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES)
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
++ ctags-am distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am
++
++.PRECIOUS: Makefile
++
++
++vpath % $(top_srcdir)/src/nonshared20
++
++@USE_STATIC_TZDATA_TRUE@tzdata.zi.h: $(top_srcdir)/src/c++20/tzdata.zi
++@USE_STATIC_TZDATA_TRUE@ echo 'static const char tzdata_chars[] = R"__libstdcxx__(' > $@.tmp
++@USE_STATIC_TZDATA_TRUE@ cat $^ >> $@.tmp
++@USE_STATIC_TZDATA_TRUE@ echo ')__libstdcxx__";' >> $@.tmp
++@USE_STATIC_TZDATA_TRUE@ mv $@.tmp $@
++
++@USE_STATIC_TZDATA_TRUE@tzdb80.lo: tzdb80.cc tzdata.zi.h
++@USE_STATIC_TZDATA_TRUE@ $(LTCXXCOMPILE) -I. -c $<
++@USE_STATIC_TZDATA_TRUE@tzdb80.o: tzdb80.cc tzdata.zi.h
++@USE_STATIC_TZDATA_TRUE@ $(CXXCOMPILE) -I. -c $<
++@USE_STATIC_TZDATA_TRUE@tzdb110.lo: tzdb110.cc tzdata.zi.h
++@USE_STATIC_TZDATA_TRUE@ $(LTCXXCOMPILE) -I. -c $<
++@USE_STATIC_TZDATA_TRUE@tzdb110.o: tzdb110.cc tzdata.zi.h
++@USE_STATIC_TZDATA_TRUE@ $(CXXCOMPILE) -I. -c $<
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+--- libstdc++-v3/src/c++98/ios_failure.cc.jj 2024-04-26 11:47:04.174142066 +0200
++++ libstdc++-v3/src/c++98/ios_failure.cc 2024-07-18 16:10:38.336406622 +0200
+@@ -45,6 +45,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ ios_base::failure::failure(const string& __str) throw()
+ : _M_msg(__str) { }
+
+@@ -54,6 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ const char*
+ ios_base::failure::what() const throw()
+ { return _M_msg.c_str(); }
++#endif
+
+ #if _GLIBCXX_USE_DUAL_ABI
+ // When the dual ABI is enabled __throw_ios_failure() is defined in
+--- libstdc++-v3/src/c++98/locale_facets.cc.jj 2024-04-26 11:47:04.175142052 +0200
++++ libstdc++-v3/src/c++98/locale_facets.cc 2024-07-18 16:10:38.336406622 +0200
+@@ -27,6 +27,8 @@ namespace std _GLIBCXX_VISIBILITY(defaul
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ // Definitions for static const data members of time_base.
+ template<>
+ const char*
+@@ -97,6 +99,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ *__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g';
+ *__fptr = '\0';
+ }
++#endif
+
+ // This function is not exported but is needed internally, by the versions
+ // of __verify_grouping below and in src/c++11/cxx11-locale-inst.cc
+@@ -125,6 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ return __test;
+ }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ bool
+ __verify_grouping(const char* __grouping, size_t __grouping_size,
+ const string& __grouping_tmp) throw()
+@@ -133,6 +137,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ __grouping_tmp.c_str(),
+ __grouping_tmp.size());
+ }
++#endif
++#endif
+
+ namespace
+ {
+--- libstdc++-v3/src/nonshared26/text_encoding.cc.jj 2024-07-18 18:07:43.729566579 +0200
++++ libstdc++-v3/src/nonshared26/text_encoding.cc 2024-07-18 18:07:53.408442639 +0200
+@@ -0,0 +1,23 @@
++// Copyright (C) 2023-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++26/text_encoding.cc"
+--- libstdc++-v3/src/nonshared26/Makefile.am.jj 2024-07-18 18:01:30.854341218 +0200
++++ libstdc++-v3/src/nonshared26/Makefile.am 2024-07-19 12:38:22.310021662 +0200
+@@ -0,0 +1,106 @@
++## Makefile for the C++26 sources of the GNU C++ Standard library.
++##
++## Copyright (C) 1997-2024 Free Software Foundation, Inc.
++##
++## This file is part of the libstdc++ version 3 distribution.
++## Process this file with automake to produce Makefile.in.
++
++## This file is part of the GNU ISO C++ Library. This library is free
++## software; you can redistribute it and/or modify it under the
++## terms of the GNU General Public License as published by the
++## Free Software Foundation; either version 3, or (at your option)
++## any later version.
++
++## This library is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License along
++## with this library; see the file COPYING3. If not see
++## .
++
++include $(top_srcdir)/fragment.am
++
++# Convenience library for C++26 runtime.
++noinst_LTLIBRARIES = libnonshared26convenience80.la \
++ libnonshared26convenience110.la
++
++headers =
++
++if ENABLE_EXTERN_TEMPLATE
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++inst_sources =
++else
++# XTEMPLATE_FLAGS =
++inst_sources =
++endif
++
++sources = text_encoding.cc
++
++vpath % $(top_srcdir)/src/nonshared26
++
++libnonshared26convenience80_la_SOURCES = $(sources) $(inst_sources)
++libnonshared26convenience110_la_SOURCES = $(sources) $(inst_sources)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++26 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
+--- libstdc++-v3/src/nonshared26/Makefile.in.jj 2024-07-18 18:01:36.210272635 +0200
++++ libstdc++-v3/src/nonshared26/Makefile.in 2024-07-19 14:22:11.434880324 +0200
+@@ -0,0 +1,761 @@
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
++am__make_running_with_option = \
++ case $${target_option-} in \
++ ?) ;; \
++ *) echo "am__make_running_with_option: internal error: invalid" \
++ "target option '$${target_option-}' specified" >&2; \
++ exit 1;; \
++ esac; \
++ has_opt=no; \
++ sane_makeflags=$$MAKEFLAGS; \
++ if $(am__is_gnu_make); then \
++ sane_makeflags=$$MFLAGS; \
++ else \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ bs=\\; \
++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
++ esac; \
++ fi; \
++ skip_next=no; \
++ strip_trailopt () \
++ { \
++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
++ }; \
++ for flg in $$sane_makeflags; do \
++ test $$skip_next = yes && { skip_next=no; continue; }; \
++ case $$flg in \
++ *=*|--*) continue;; \
++ -*I) strip_trailopt 'I'; skip_next=yes;; \
++ -*I?*) strip_trailopt 'I';; \
++ -*O) strip_trailopt 'O'; skip_next=yes;; \
++ -*O?*) strip_trailopt 'O';; \
++ -*l) strip_trailopt 'l'; skip_next=yes;; \
++ -*l?*) strip_trailopt 'l';; \
++ -[dEDm]) skip_next=yes;; \
++ -[JT]) skip_next=yes;; \
++ esac; \
++ case $$flg in \
++ *$$target_option*) has_opt=yes; break;; \
++ esac; \
++ done; \
++ test $$has_opt = yes
++am__make_dryrun = (target_option=n; $(am__make_running_with_option))
++am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/nonshared26
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
++ $(top_srcdir)/../config/enable.m4 \
++ $(top_srcdir)/../config/futex.m4 \
++ $(top_srcdir)/../config/hwcaps.m4 \
++ $(top_srcdir)/../config/iconv.m4 \
++ $(top_srcdir)/../config/lead-dot.m4 \
++ $(top_srcdir)/../config/lib-ld.m4 \
++ $(top_srcdir)/../config/lib-link.m4 \
++ $(top_srcdir)/../config/lib-prefix.m4 \
++ $(top_srcdir)/../config/lthostflags.m4 \
++ $(top_srcdir)/../config/multi.m4 \
++ $(top_srcdir)/../config/no-executables.m4 \
++ $(top_srcdir)/../config/override.m4 \
++ $(top_srcdir)/../config/toolexeclibdir.m4 \
++ $(top_srcdir)/../config/unwind_ipinfo.m4 \
++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
++ $(top_srcdir)/../config/gc++filt.m4 \
++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++libnonshared26convenience110_la_LIBADD =
++am__objects_1 = text_encoding.lo
++am__objects_2 =
++am_libnonshared26convenience110_la_OBJECTS = $(am__objects_1) \
++ $(am__objects_2)
++libnonshared26convenience110_la_OBJECTS = \
++ $(am_libnonshared26convenience110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libnonshared26convenience80_la_LIBADD =
++am_libnonshared26convenience80_la_OBJECTS = $(am__objects_1) \
++ $(am__objects_2)
++libnonshared26convenience80_la_OBJECTS = \
++ $(am_libnonshared26convenience80_la_OBJECTS)
++AM_V_P = $(am__v_P_@AM_V@)
++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
++am__v_P_0 = false
++am__v_P_1 = :
++AM_V_GEN = $(am__v_GEN_@AM_V@)
++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
++am__v_GEN_0 = @echo " GEN " $@;
++am__v_GEN_1 =
++AM_V_at = $(am__v_at_@AM_V@)
++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
++am__v_at_0 = @
++am__v_at_1 =
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp =
++am__depfiles_maybe =
++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
++AM_V_CXX = $(am__v_CXX_@AM_V@)
++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
++am__v_CXX_0 = @echo " CXX " $@;
++am__v_CXX_1 =
++CXXLD = $(CXX)
++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
++am__v_CXXLD_0 = @echo " CXXLD " $@;
++am__v_CXXLD_1 =
++SOURCES = $(libnonshared26convenience110_la_SOURCES) \
++ $(libnonshared26convenience80_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
++# Read a list of newline-separated strings from the standard input,
++# and print each of them once, without duplicates. Input order is
++# *not* preserved.
++am__uniquify_input = $(AWK) '\
++ BEGIN { nonempty = 0; } \
++ { items[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in items) print i; }; } \
++'
++# Make sure the list of sources is unique. This is necessary because,
++# e.g., the same source file might be shared among _SOURCES variables
++# for different programs/libraries.
++am__define_uniq_tagged_files = \
++ list='$(am__tagged_files)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
++ACLOCAL = @ACLOCAL@
++ALLOCATOR_H = @ALLOCATOR_H@
++ALLOCATOR_NAME = @ALLOCATOR_NAME@
++ALLOC_FILE = @ALLOC_FILE@
++AMTAR = @AMTAR@
++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++AR = @AR@
++AS = @AS@
++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
++ATOMIC_FLAGS = @ATOMIC_FLAGS@
++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
++BASIC_FILE_CC = @BASIC_FILE_CC@
++BASIC_FILE_H = @BASIC_FILE_H@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCODECVT_CC = @CCODECVT_CC@
++CCOLLATE_CC = @CCOLLATE_CC@
++CCTYPE_CC = @CCTYPE_CC@
++CFLAGS = @CFLAGS@
++CLOCALE_CC = @CLOCALE_CC@
++CLOCALE_H = @CLOCALE_H@
++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
++CMESSAGES_CC = @CMESSAGES_CC@
++CMESSAGES_H = @CMESSAGES_H@
++CMONEY_CC = @CMONEY_CC@
++CNUMERIC_CC = @CNUMERIC_CC@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
++CSTDIO_H = @CSTDIO_H@
++CTIME_CC = @CTIME_CC@
++CTIME_H = @CTIME_H@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXFILT = @CXXFILT@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++C_INCLUDE_DIR = @C_INCLUDE_DIR@
++DBLATEX = @DBLATEX@
++DEBUG_FLAGS = @DEBUG_FLAGS@
++DEFS = @DEFS@
++DOT = @DOT@
++DOXYGEN = @DOXYGEN@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EH_POOL_FLAGS = @EH_POOL_FLAGS@
++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
++EXEEXT = @EXEEXT@
++EXTRA_CFLAGS = @EXTRA_CFLAGS@
++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
++FGREP = @FGREP@
++FORMAT_FILE = @FORMAT_FILE@
++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
++GLIBCXX_LIBS = @GLIBCXX_LIBS@
++GREP = @GREP@
++HWCAP_CFLAGS = @HWCAP_CFLAGS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBICONV = @LIBICONV@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
++OPT_LDFLAGS = @OPT_LDFLAGS@
++OS_INC_SRCDIR = @OS_INC_SRCDIR@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PDFLATEX = @PDFLATEX@
++RANLIB = @RANLIB@
++SECTION_FLAGS = @SECTION_FLAGS@
++SECTION_LDFLAGS = @SECTION_LDFLAGS@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++SYMVER_FILE = @SYMVER_FILE@
++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
++USE_NLS = @USE_NLS@
++VERSION = @VERSION@
++VIEW_FILE = @VIEW_FILE@
++VTV_CXXFLAGS = @VTV_CXXFLAGS@
++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
++WARN_FLAGS = @WARN_FLAGS@
++XMLCATALOG = @XMLCATALOG@
++XMLLINT = @XMLLINT@
++XSLTPROC = @XSLTPROC@
++XSL_STYLE_DIR = @XSL_STYLE_DIR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__leading_dot = @am__leading_dot@
++am__tar = @am__tar@
++am__untar = @am__untar@
++baseline_dir = @baseline_dir@
++baseline_subdir_switch = @baseline_subdir_switch@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++check_msgfmt = @check_msgfmt@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++enable_shared = @enable_shared@
++enable_static = @enable_static@
++exec_prefix = @exec_prefix@
++get_gcc_base_ver = @get_gcc_base_ver@
++glibcxx_MOFILES = @glibcxx_MOFILES@
++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
++glibcxx_POFILES = @glibcxx_POFILES@
++glibcxx_builddir = @glibcxx_builddir@
++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
++glibcxx_localedir = @glibcxx_localedir@
++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
++glibcxx_prefixdir = @glibcxx_prefixdir@
++glibcxx_srcdir = @glibcxx_srcdir@
++glibcxx_toolexecdir = @glibcxx_toolexecdir@
++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
++gxx_include_dir = @gxx_include_dir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libtool_VERSION = @libtool_VERSION@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_host_flags = @lt_host_flags@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++multi_basedir = @multi_basedir@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++port_specific_symbol_files = @port_specific_symbol_files@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++python_mod_dir = @python_mod_dir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++thread_header = @thread_header@
++tmake_file = @tmake_file@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++toplevel_builddir = @toplevel_builddir@
++toplevel_srcdir = @toplevel_srcdir@
++
++# May be used by various substitution variables.
++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
++MAINT_CHARSET = latin1
++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
++PWD_COMMAND = $${PWDCMD-pwd}
++STAMP = echo timestamp >
++toolexecdir = $(glibcxx_toolexecdir)
++toolexeclibdir = $(glibcxx_toolexeclibdir)
++@ENABLE_WERROR_FALSE@WERROR_FLAG =
++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
++
++# These bits are all figured out from configure. Look in acinclude.m4
++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
++CONFIG_CXXFLAGS = \
++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
++
++WARN_CXXFLAGS = \
++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
++
++
++# -I/-D flags to pass when compiling.
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
++
++# Convenience library for C++26 runtime.
++noinst_LTLIBRARIES = libnonshared26convenience80.la \
++ libnonshared26convenience110.la
++
++headers =
++# XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources =
++
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources =
++sources = text_encoding.cc
++libnonshared26convenience80_la_SOURCES = $(sources) $(inst_sources)
++libnonshared26convenience110_la_SOURCES = $(sources) $(inst_sources)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++26 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .cc .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared26/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared26/Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++$(top_srcdir)/fragment.am $(am__empty):
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
++libnonshared26convenience110.la: $(libnonshared26convenience110_la_OBJECTS) $(libnonshared26convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared26convenience110_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared26convenience110_la_OBJECTS) $(libnonshared26convenience110_la_LIBADD) $(LIBS)
++
++libnonshared26convenience80.la: $(libnonshared26convenience80_la_OBJECTS) $(libnonshared26convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared26convenience80_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared26convenience80_la_OBJECTS) $(libnonshared26convenience80_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++.cc.o:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
++
++.cc.obj:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.cc.lo:
++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(am__tagged_files)
++ $(am__define_uniq_tagged_files); mkid -fID $$unique
++tags: tags-am
++TAGS: tags
++
++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ set x; \
++ here=`pwd`; \
++ $(am__define_uniq_tagged_files); \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: ctags-am
++
++CTAGS: ctags
++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ $(am__define_uniq_tagged_files); \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++cscopelist: cscopelist-am
++
++cscopelist-am: $(am__tagged_files)
++ list='$(am__tagged_files)'; \
++ case "$(srcdir)" in \
++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
++ *) sdir=$(subdir)/$(srcdir) ;; \
++ esac; \
++ for i in $$list; do \
++ if test -f "$$i"; then \
++ echo "$(subdir)/$$i"; \
++ else \
++ echo "$$sdir/$$i"; \
++ fi; \
++ done >> $(top_builddir)/cscope.files
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES)
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
++ ctags-am distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am
++
++.PRECIOUS: Makefile
++
++
++vpath % $(top_srcdir)/src/nonshared26
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+--- libstdc++-v3/src/nonshared23/stacktrace.cc.jj 2024-07-18 18:07:00.328122333 +0200
++++ libstdc++-v3/src/nonshared23/stacktrace.cc 2024-07-18 18:07:05.985049896 +0200
+@@ -0,0 +1,23 @@
++// Copyright (C) 2023-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++23/stacktrace.cc"
+--- libstdc++-v3/src/nonshared23/print.cc.jj 2024-07-18 18:06:10.043766216 +0200
++++ libstdc++-v3/src/nonshared23/print.cc 2024-07-18 18:06:50.684245818 +0200
+@@ -0,0 +1,23 @@
++// Copyright (C) 2023-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++23/print.cc"
+--- libstdc++-v3/src/nonshared23/Makefile.am.jj 2024-07-18 18:01:30.854341218 +0200
++++ libstdc++-v3/src/nonshared23/Makefile.am 2024-07-18 18:09:02.177562059 +0200
+@@ -0,0 +1,112 @@
++## Makefile for the C++23 sources of the GNU C++ Standard library.
++##
++## Copyright (C) 1997-2024 Free Software Foundation, Inc.
++##
++## This file is part of the libstdc++ version 3 distribution.
++## Process this file with automake to produce Makefile.in.
++
++## This file is part of the GNU ISO C++ Library. This library is free
++## software; you can redistribute it and/or modify it under the
++## terms of the GNU General Public License as published by the
++## Free Software Foundation; either version 3, or (at your option)
++## any later version.
++
++## This library is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License along
++## with this library; see the file COPYING3. If not see
++## .
++
++include $(top_srcdir)/fragment.am
++
++# Convenience library for C++23 runtime.
++noinst_LTLIBRARIES = libnonshared23convenience80.la \
++ libnonshared23convenience110.la
++
++headers =
++
++if ENABLE_EXTERN_TEMPLATE
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++inst_sources =
++else
++# XTEMPLATE_FLAGS =
++inst_sources =
++endif
++
++sources = stacktrace.cc print.cc
++
++vpath % $(top_srcdir)/src/nonshared23
++
++libnonshared23convenience80_la_SOURCES = $(sources) $(inst_sources)
++libnonshared23convenience110_la_SOURCES = $(sources) $(inst_sources)
++
++# Use C++26 so that std::filebuf::native_handle() is available.
++print80.lo: print80.cc
++ $(LTCXXCOMPILE) -std=gnu++26 -c $<
++print80.o: print80.cc
++ $(CXXCOMPILE) -std=gnu++26 -c $<
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++23 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
+--- libstdc++-v3/src/nonshared23/Makefile.in.jj 2024-07-18 18:01:36.210272635 +0200
++++ libstdc++-v3/src/nonshared23/Makefile.in 2024-07-19 14:22:11.415880568 +0200
+@@ -0,0 +1,767 @@
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
++am__make_running_with_option = \
++ case $${target_option-} in \
++ ?) ;; \
++ *) echo "am__make_running_with_option: internal error: invalid" \
++ "target option '$${target_option-}' specified" >&2; \
++ exit 1;; \
++ esac; \
++ has_opt=no; \
++ sane_makeflags=$$MAKEFLAGS; \
++ if $(am__is_gnu_make); then \
++ sane_makeflags=$$MFLAGS; \
++ else \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ bs=\\; \
++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
++ esac; \
++ fi; \
++ skip_next=no; \
++ strip_trailopt () \
++ { \
++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
++ }; \
++ for flg in $$sane_makeflags; do \
++ test $$skip_next = yes && { skip_next=no; continue; }; \
++ case $$flg in \
++ *=*|--*) continue;; \
++ -*I) strip_trailopt 'I'; skip_next=yes;; \
++ -*I?*) strip_trailopt 'I';; \
++ -*O) strip_trailopt 'O'; skip_next=yes;; \
++ -*O?*) strip_trailopt 'O';; \
++ -*l) strip_trailopt 'l'; skip_next=yes;; \
++ -*l?*) strip_trailopt 'l';; \
++ -[dEDm]) skip_next=yes;; \
++ -[JT]) skip_next=yes;; \
++ esac; \
++ case $$flg in \
++ *$$target_option*) has_opt=yes; break;; \
++ esac; \
++ done; \
++ test $$has_opt = yes
++am__make_dryrun = (target_option=n; $(am__make_running_with_option))
++am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/nonshared23
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
++ $(top_srcdir)/../config/enable.m4 \
++ $(top_srcdir)/../config/futex.m4 \
++ $(top_srcdir)/../config/hwcaps.m4 \
++ $(top_srcdir)/../config/iconv.m4 \
++ $(top_srcdir)/../config/lead-dot.m4 \
++ $(top_srcdir)/../config/lib-ld.m4 \
++ $(top_srcdir)/../config/lib-link.m4 \
++ $(top_srcdir)/../config/lib-prefix.m4 \
++ $(top_srcdir)/../config/lthostflags.m4 \
++ $(top_srcdir)/../config/multi.m4 \
++ $(top_srcdir)/../config/no-executables.m4 \
++ $(top_srcdir)/../config/override.m4 \
++ $(top_srcdir)/../config/toolexeclibdir.m4 \
++ $(top_srcdir)/../config/unwind_ipinfo.m4 \
++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
++ $(top_srcdir)/../config/gc++filt.m4 \
++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++libnonshared23convenience110_la_LIBADD =
++am__objects_1 = stacktrace.lo print.lo
++am__objects_2 =
++am_libnonshared23convenience110_la_OBJECTS = $(am__objects_1) \
++ $(am__objects_2)
++libnonshared23convenience110_la_OBJECTS = \
++ $(am_libnonshared23convenience110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libnonshared23convenience80_la_LIBADD =
++am_libnonshared23convenience80_la_OBJECTS = $(am__objects_1) \
++ $(am__objects_2)
++libnonshared23convenience80_la_OBJECTS = \
++ $(am_libnonshared23convenience80_la_OBJECTS)
++AM_V_P = $(am__v_P_@AM_V@)
++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
++am__v_P_0 = false
++am__v_P_1 = :
++AM_V_GEN = $(am__v_GEN_@AM_V@)
++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
++am__v_GEN_0 = @echo " GEN " $@;
++am__v_GEN_1 =
++AM_V_at = $(am__v_at_@AM_V@)
++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
++am__v_at_0 = @
++am__v_at_1 =
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp =
++am__depfiles_maybe =
++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
++AM_V_CXX = $(am__v_CXX_@AM_V@)
++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
++am__v_CXX_0 = @echo " CXX " $@;
++am__v_CXX_1 =
++CXXLD = $(CXX)
++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
++am__v_CXXLD_0 = @echo " CXXLD " $@;
++am__v_CXXLD_1 =
++SOURCES = $(libnonshared23convenience110_la_SOURCES) \
++ $(libnonshared23convenience80_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
++# Read a list of newline-separated strings from the standard input,
++# and print each of them once, without duplicates. Input order is
++# *not* preserved.
++am__uniquify_input = $(AWK) '\
++ BEGIN { nonempty = 0; } \
++ { items[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in items) print i; }; } \
++'
++# Make sure the list of sources is unique. This is necessary because,
++# e.g., the same source file might be shared among _SOURCES variables
++# for different programs/libraries.
++am__define_uniq_tagged_files = \
++ list='$(am__tagged_files)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
++ACLOCAL = @ACLOCAL@
++ALLOCATOR_H = @ALLOCATOR_H@
++ALLOCATOR_NAME = @ALLOCATOR_NAME@
++ALLOC_FILE = @ALLOC_FILE@
++AMTAR = @AMTAR@
++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++AR = @AR@
++AS = @AS@
++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
++ATOMIC_FLAGS = @ATOMIC_FLAGS@
++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
++BASIC_FILE_CC = @BASIC_FILE_CC@
++BASIC_FILE_H = @BASIC_FILE_H@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCODECVT_CC = @CCODECVT_CC@
++CCOLLATE_CC = @CCOLLATE_CC@
++CCTYPE_CC = @CCTYPE_CC@
++CFLAGS = @CFLAGS@
++CLOCALE_CC = @CLOCALE_CC@
++CLOCALE_H = @CLOCALE_H@
++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
++CMESSAGES_CC = @CMESSAGES_CC@
++CMESSAGES_H = @CMESSAGES_H@
++CMONEY_CC = @CMONEY_CC@
++CNUMERIC_CC = @CNUMERIC_CC@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
++CSTDIO_H = @CSTDIO_H@
++CTIME_CC = @CTIME_CC@
++CTIME_H = @CTIME_H@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXFILT = @CXXFILT@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++C_INCLUDE_DIR = @C_INCLUDE_DIR@
++DBLATEX = @DBLATEX@
++DEBUG_FLAGS = @DEBUG_FLAGS@
++DEFS = @DEFS@
++DOT = @DOT@
++DOXYGEN = @DOXYGEN@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EH_POOL_FLAGS = @EH_POOL_FLAGS@
++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
++EXEEXT = @EXEEXT@
++EXTRA_CFLAGS = @EXTRA_CFLAGS@
++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
++FGREP = @FGREP@
++FORMAT_FILE = @FORMAT_FILE@
++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
++GLIBCXX_LIBS = @GLIBCXX_LIBS@
++GREP = @GREP@
++HWCAP_CFLAGS = @HWCAP_CFLAGS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBICONV = @LIBICONV@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
++OPT_LDFLAGS = @OPT_LDFLAGS@
++OS_INC_SRCDIR = @OS_INC_SRCDIR@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PDFLATEX = @PDFLATEX@
++RANLIB = @RANLIB@
++SECTION_FLAGS = @SECTION_FLAGS@
++SECTION_LDFLAGS = @SECTION_LDFLAGS@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++SYMVER_FILE = @SYMVER_FILE@
++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
++USE_NLS = @USE_NLS@
++VERSION = @VERSION@
++VIEW_FILE = @VIEW_FILE@
++VTV_CXXFLAGS = @VTV_CXXFLAGS@
++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
++WARN_FLAGS = @WARN_FLAGS@
++XMLCATALOG = @XMLCATALOG@
++XMLLINT = @XMLLINT@
++XSLTPROC = @XSLTPROC@
++XSL_STYLE_DIR = @XSL_STYLE_DIR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__leading_dot = @am__leading_dot@
++am__tar = @am__tar@
++am__untar = @am__untar@
++baseline_dir = @baseline_dir@
++baseline_subdir_switch = @baseline_subdir_switch@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++check_msgfmt = @check_msgfmt@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++enable_shared = @enable_shared@
++enable_static = @enable_static@
++exec_prefix = @exec_prefix@
++get_gcc_base_ver = @get_gcc_base_ver@
++glibcxx_MOFILES = @glibcxx_MOFILES@
++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
++glibcxx_POFILES = @glibcxx_POFILES@
++glibcxx_builddir = @glibcxx_builddir@
++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
++glibcxx_localedir = @glibcxx_localedir@
++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
++glibcxx_prefixdir = @glibcxx_prefixdir@
++glibcxx_srcdir = @glibcxx_srcdir@
++glibcxx_toolexecdir = @glibcxx_toolexecdir@
++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
++gxx_include_dir = @gxx_include_dir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libtool_VERSION = @libtool_VERSION@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_host_flags = @lt_host_flags@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++multi_basedir = @multi_basedir@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++port_specific_symbol_files = @port_specific_symbol_files@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++python_mod_dir = @python_mod_dir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++thread_header = @thread_header@
++tmake_file = @tmake_file@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++toplevel_builddir = @toplevel_builddir@
++toplevel_srcdir = @toplevel_srcdir@
++
++# May be used by various substitution variables.
++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
++MAINT_CHARSET = latin1
++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
++PWD_COMMAND = $${PWDCMD-pwd}
++STAMP = echo timestamp >
++toolexecdir = $(glibcxx_toolexecdir)
++toolexeclibdir = $(glibcxx_toolexeclibdir)
++@ENABLE_WERROR_FALSE@WERROR_FLAG =
++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
++
++# These bits are all figured out from configure. Look in acinclude.m4
++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
++CONFIG_CXXFLAGS = \
++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
++
++WARN_CXXFLAGS = \
++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
++
++
++# -I/-D flags to pass when compiling.
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
++
++# Convenience library for C++23 runtime.
++noinst_LTLIBRARIES = libnonshared23convenience80.la \
++ libnonshared23convenience110.la
++
++headers =
++# XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources =
++
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources =
++sources = stacktrace.cc print.cc
++libnonshared23convenience80_la_SOURCES = $(sources) $(inst_sources)
++libnonshared23convenience110_la_SOURCES = $(sources) $(inst_sources)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++23 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .cc .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared23/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared23/Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++$(top_srcdir)/fragment.am $(am__empty):
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
++libnonshared23convenience110.la: $(libnonshared23convenience110_la_OBJECTS) $(libnonshared23convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared23convenience110_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared23convenience110_la_OBJECTS) $(libnonshared23convenience110_la_LIBADD) $(LIBS)
++
++libnonshared23convenience80.la: $(libnonshared23convenience80_la_OBJECTS) $(libnonshared23convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared23convenience80_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared23convenience80_la_OBJECTS) $(libnonshared23convenience80_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++.cc.o:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
++
++.cc.obj:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.cc.lo:
++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(am__tagged_files)
++ $(am__define_uniq_tagged_files); mkid -fID $$unique
++tags: tags-am
++TAGS: tags
++
++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ set x; \
++ here=`pwd`; \
++ $(am__define_uniq_tagged_files); \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: ctags-am
++
++CTAGS: ctags
++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ $(am__define_uniq_tagged_files); \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++cscopelist: cscopelist-am
++
++cscopelist-am: $(am__tagged_files)
++ list='$(am__tagged_files)'; \
++ case "$(srcdir)" in \
++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
++ *) sdir=$(subdir)/$(srcdir) ;; \
++ esac; \
++ for i in $$list; do \
++ if test -f "$$i"; then \
++ echo "$(subdir)/$$i"; \
++ else \
++ echo "$$sdir/$$i"; \
++ fi; \
++ done >> $(top_builddir)/cscope.files
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES)
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
++ ctags-am distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am
++
++.PRECIOUS: Makefile
++
++
++vpath % $(top_srcdir)/src/nonshared23
++
++# Use C++26 so that std::filebuf::native_handle() is available.
++print80.lo: print80.cc
++ $(LTCXXCOMPILE) -std=gnu++26 -c $<
++print80.o: print80.cc
++ $(CXXCOMPILE) -std=gnu++26 -c $<
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+--- libstdc++-v3/src/c++17/floating_from_chars.cc.jj 2024-04-26 11:47:04.131142662 +0200
++++ libstdc++-v3/src/c++17/floating_from_chars.cc 2024-07-18 16:10:38.337406609 +0200
+@@ -1225,6 +1225,7 @@ namespace
+
+ #if USE_LIB_FAST_FLOAT || USE_STRTOD_FOR_FROM_CHARS
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
+ from_chars_result
+ from_chars(const char* first, const char* last, float& value,
+ chars_format fmt) noexcept
+@@ -1274,6 +1275,7 @@ from_chars(const char* first, const char
+ return from_chars_strtod(first, last, value, fmt);
+ #endif
+ }
++#endif
+
+ #if USE_LIB_FAST_FLOAT
+ // Entrypoints for 16-bit floats.
+@@ -1300,6 +1302,7 @@ __from_chars_bfloat16_t(const char* firs
+ }
+ #endif
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
+ #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
+ // Make std::from_chars for 64-bit long double an alias for the overload
+ // for double.
+@@ -1309,6 +1312,7 @@ _ZSt10from_charsPKcS0_ReSt12chars_format
+ chars_format fmt) noexcept
+ __attribute__((alias ("_ZSt10from_charsPKcS0_RdSt12chars_format")));
+ #endif
++#endif
+
+ #ifdef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT
+ from_chars_result
+--- libstdc++-v3/src/c++17/floating_to_chars.cc.jj 2024-04-26 11:47:04.132142648 +0200
++++ libstdc++-v3/src/c++17/floating_to_chars.cc 2024-07-18 16:10:38.337406609 +0200
+@@ -1767,6 +1767,7 @@ template
+ __builtin_unreachable();
+ }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
+ // Define the overloads for float.
+ to_chars_result
+ to_chars(char* first, char* last, float value) noexcept
+@@ -1830,6 +1831,7 @@ to_chars(char* first, char* last, long d
+ else
+ return __floating_to_chars_precision(first, last, value, fmt, precision);
+ }
++#endif
+
+ #ifdef FLOAT128_TO_CHARS
+ #ifdef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT
+@@ -1907,6 +1909,7 @@ __to_chars_bfloat16_t(char* first, char*
+ floating_type_bfloat16_t{ value }, fmt);
+ }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_110
+ #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
+ // Map the -mlong-double-64 long double overloads to the double overloads.
+ extern "C" to_chars_result
+@@ -1923,6 +1926,7 @@ _ZSt8to_charsPcS_eSt12chars_formati(char
+ chars_format fmt, int precision) noexcept
+ __attribute__((alias ("_ZSt8to_charsPcS_dSt12chars_formati")));
+ #endif
++#endif
+
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // 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,51 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/floating_from_chars.cc"
++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERjj");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj");
++#else
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
++#endif
++#if defined(__s390x__) || defined(__powerpc64__)
++//asm (".hidden _ZSt10from_charsPKcS0_RgSt12chars_format");
++#endif
++#if !defined(__i386__)
++//asm (".hidden _ZSt10from_charsIiENSt9enable_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_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++//asm (".hidden _ZSt10from_charsIiENSt9enable_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_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++#endif
++//asm (".hidden _ZZNSt8__detail25__from_chars_alnum_to_valILb0EEEhhE7__table");
++#ifdef __i386__
++//asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
++//asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i");
++#endif
++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj");
++#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,45 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#include "../c++17/floating_from_chars.cc"
++//asm (".hidden _ZSt10from_charsIiENSt9enable_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_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++//asm (".hidden _ZSt10from_charsIiENSt9enable_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_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm");
++#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");
++#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,82 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/cow-fs_ops.cc"
++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIJRKS1_EEEvDpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIIRKS1_EEEvDpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED1Ev");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED2Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev");
++asm (".hidden _ZSt14__copy_move_a1ILb1EPNSt10filesystem4pathES1_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS6_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSC_PSC_EE6__typeES6_S6_SF_");
++asm (".hidden _ZSt23__copy_move_backward_a1ILb1EPNSt10filesystem4pathES1_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS6_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSC_PSC_EE6__typeES6_S6_SF_");
++//asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_EEvT_S6_");
++asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_");
++asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_");
++//asm (".hidden _ZNSs4swapERSs");
++#ifndef __i386__
++//asm (".hidden _ZNSs9_M_mutateEmmm");
++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEm");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_m");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEmb");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEm");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEm");
++//asm (".hidden _ZNSs6resizeEmc");
++//asm (".hidden _ZNSt10filesystem4pathD1Ev");
++//asm (".hidden _ZNSt10filesystem4pathD2Ev");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++#endif
++#if defined(__x86_64__)
++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
++#endif
++#ifdef __i386__
++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_j");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEjb");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEj");
++//asm (".hidden _ZNSs6resizeEjc");
++//asm (".hidden _ZNSs9_M_mutateEjjj");
++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
++//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 _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
++#endif
++#ifdef __aarch64__
++//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_");
++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_");
++#endif
++asm (".hidden _ZNKSt10filesystem4path8filenameEv");
++#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
+--- 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 @@
++// Copyright (C) 2001-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../../libsupc++/eh_call.cc"
+--- libstdc++-v3/src/nonshared17/fs_dir110.cc.jj 2024-07-18 16:10:38.338406596 +0200
++++ libstdc++-v3/src/nonshared17/fs_dir110.cc 2024-07-18 18:09:02.178562046 +0200
+@@ -0,0 +1,41 @@
++// Class filesystem::directory_entry etc. -*- C++ -*-
++
++// Copyright (C) 2014-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#ifndef _GLIBCXX_USE_CXX11_ABI
++# define _GLIBCXX_USE_CXX11_ABI 1
++#endif
++
++#include
++#include
++#include
++#include
++#include
++#include
++
++namespace fs = std::filesystem;
++
++template
++std::__shared_ptr::operator bool () const noexcept;
++template
++std::__shared_ptr::operator bool () const noexcept;
+--- libstdc++-v3/src/nonshared17/cow-fs_path.cc.jj 2024-07-18 16:10:38.338406596 +0200
++++ libstdc++-v3/src/nonshared17/cow-fs_path.cc 2024-07-19 14:12:26.274350384 +0200
+@@ -0,0 +1,132 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/cow-fs_path.cc"
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE3getEv");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE9use_countEv");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEcvbEv");
++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_");
++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_");
++asm (".hidden _ZNSt10filesystem4path19preferred_separatorE");
++asm (".hidden _ZNSt10filesystem4path5_List5clearEv");
++asm (".hidden _ZNSt10filesystem4path5_List5_Impl13_M_erase_fromEPKNS0_5_CmptE");
++asm (".hidden _ZNSt10filesystem4path5_List7reserveEib");
++asm (".hidden _ZNSt10filesystem4path5_ListaSERKS1_");
++asm (".hidden _ZNSt10filesystem4path5_ListC2ERKS1_");
++asm (".hidden _ZNSt10filesystem4path5_ListC2Ev");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEaSEOS6_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EDn");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EOS6_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1Ev");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EDn");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EOS6_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSNSt10filesystem16filesystem_errorE");
++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt19_Sp_make_shared_tag");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
++asm (".hidden _ZNSt10filesystem16filesystem_error5_Impl9make_whatESt17basic_string_viewIcSt11char_traitsIcEEPKNS_4pathES8_");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev");
++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKSs");
++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKSs");
++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EEEED1Ev");
++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++asm (".hidden _ZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_");
++asm (".hidden _ZNSt10filesystem8__detail24__throw_conversion_errorEv");
++//asm (".hidden _ZTIZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
++//asm (".hidden _ZTSZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
++//asm (".hidden _ZTVZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
++//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD0Ev");
++//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 _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
++#if defined(__aarch64__) || defined(__x86_64__)
++//asm (".hidden _ZNSt10filesystem4pathD2Ev");
++#endif
++#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 _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_");
++#endif
++asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED0Ev");
++asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED1Ev");
++asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED2Ev");
++asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev");
++asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev");
++asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev");
++asm (".hidden _ZTINSt10filesystem4path8_CodecvtIwEE");
++asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
++asm (".hidden _ZTSNSt10filesystem4path8_CodecvtIwEE");
++asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
++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");
+--- 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 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/memory_resource.cc"
++asm (".hidden _ZNKSt3pmr26synchronized_pool_resource11do_is_equalERKNS_15memory_resourceE");
++asm (".hidden _ZNKSt3pmr28unsynchronized_pool_resource11do_is_equalERKNS_15memory_resourceE");
++asm (".hidden _ZNSt3pmr15__pool_resource14_M_alloc_poolsEv");
++asm (".hidden _ZNSt3pmr15__pool_resource7releaseEv");
++asm (".hidden _ZNSt3pmr15__pool_resourceC1ERKNS_12pool_optionsEPNS_15memory_resourceE");
++asm (".hidden _ZNSt3pmr15__pool_resourceC2ERKNS_12pool_optionsEPNS_15memory_resourceE");
++asm (".hidden _ZNSt3pmr15__pool_resourceD1Ev");
++asm (".hidden _ZNSt3pmr15__pool_resourceD2Ev");
++asm (".hidden _ZNSt3pmr26synchronized_pool_resource15_M_alloc_tpoolsERSt10lock_guardISt12shared_mutexE");
++asm (".hidden _ZNSt3pmr26synchronized_pool_resource22_M_alloc_shared_tpoolsERSt10lock_guardISt12shared_mutexE");
++asm (".hidden _ZNSt3pmr26synchronized_pool_resource24_M_thread_specific_poolsEv");
++asm (".hidden _ZNSt3pmr26synchronized_pool_resource7_TPoolsD1Ev");
++asm (".hidden _ZNSt3pmr26synchronized_pool_resource7_TPoolsD2Ev");
++asm (".hidden _ZNSt3pmr26synchronized_pool_resourceD0Ev");
++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resourceD0Ev");
++asm (".hidden _ZTSNSt3pmr26synchronized_pool_resourceE");
++asm (".hidden _ZTSNSt3pmr28unsynchronized_pool_resourceE");
++asm (".hidden _ZTVNSt3pmr26synchronized_pool_resourceE");
++asm (".hidden _ZTVNSt3pmr28unsynchronized_pool_resourceE");
++asm (".hidden _ZNKSt3pmr25monotonic_buffer_resource11do_is_equalERKNS_15memory_resourceE");
++asm (".hidden _ZNSt3pmr15__pool_resource5_Pool12try_allocateEv");
++asm (".hidden _ZNSt3pmr15__pool_resource5_Pool9replenishEPNS_15memory_resourceERKNS_12pool_optionsE");
++#ifndef __i386__
++asm (".hidden _ZNSt3pmr15__pool_resource10deallocateEPvmm");
++asm (".hidden _ZNSt3pmr15__pool_resource8allocateEmm");
++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource11do_allocateEmm");
++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource13do_deallocateEPvmm");
++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resource12_M_find_poolEm");
++//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIIRmS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
++//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRmS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
++#endif
++#ifdef __i386__
++asm (".hidden _ZNSt3pmr15__pool_resource10deallocateEPvjj");
++//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv");
++asm (".hidden _ZNSt3pmr15__pool_resource8allocateEjj");
++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource11do_allocateEjj");
++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource13do_deallocateEPvjj");
++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resource12_M_find_poolEj");
++//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIIRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
++//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_");
++#endif
++#ifdef __powerpc64__
++//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv");
++#endif
++//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_");
++#else
++asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIIRmS7_EEEvDpOT_");
++asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_appendIJRmS7_EEEvDpOT_");
++#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,103 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/fs_dir.cc"
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE3getEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE9use_countEv");
++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE3getEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE9use_countEv");
++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv");
++asm (".hidden _ZNSt10filesystem7__cxx114_Dir7advanceEbRSt10error_code");
++asm (".hidden _ZNSt10filesystem7__cxx114_DirD1Ev");
++asm (".hidden _ZNSt10filesystem7__cxx114_DirD2Ev");
++#ifdef __x86_64__
++asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code");
++//asm (".hidden _ZNSt10filesystem9_Dir_baseC1EPKcbRSt10error_code");
++//asm (".hidden _ZNSt10filesystem9_Dir_baseC2EPKcbRSt10error_code");
++#endif
++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_");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC1EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE12emplace_backIIS2_EEERS2_DpOT_");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE16_M_push_back_auxIIRP11__dirstreamRKNS1_4pathEEEEvDpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE16_M_push_back_auxIJRP11__dirstreamRKNS1_4pathEEEEvDpOT_");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EED1Ev");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EED2Ev");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_");
++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt19_Sp_make_shared_tag");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++#ifndef __i386__
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE17_M_reallocate_mapEmb");
++#endif
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev");
++#ifdef __i386__
++asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code");
++#endif
++asm (".hidden _ZNKSt10filesystem7__cxx114_Dir11open_subdirEbbRSt10error_code");
++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 _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
++++ libstdc++-v3/src/nonshared17/fs_ops80.cc 2024-07-19 15:49:59.793786981 +0200
+@@ -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
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/fs_ops.cc"
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED0Ev");
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev");
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev");
++asm (".hidden _ZNSt10filesystem12do_copy_fileEPKcS1_NS_26copy_options_existing_fileEP4statS4_RSt10error_code");
++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIJRKS2_EEEvDpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIIRKS2_EEEvDpOT_");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EED1Ev");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EED2Ev");
++asm (".hidden _ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE");
++asm (".hidden _ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE");
++asm (".hidden _ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE");
++asm (".hidden _ZNKSt10filesystem7__cxx114path8filenameEv");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev");
++asm (".hidden _ZSt14__copy_move_a1ILb1EPNSt10filesystem7__cxx114pathES2_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS7_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSD_PSD_EE6__typeES7_S7_SG_");
++asm (".hidden _ZSt23__copy_move_backward_a1ILb1EPNSt10filesystem7__cxx114pathES2_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS7_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSD_PSD_EE6__typeES7_S7_SG_");
++//asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_EEvT_S7_");
++#ifndef __i386__
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodem");
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodem");
++asm (".hidden _ZNSt10filesystem8do_spaceEPKcRmS2_S2_RSt10error_code");
++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEm");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_m");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE17_M_reallocate_mapEmb");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEm");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEm");
++#if !defined(__powerpc64__) && !defined(__s390x__)
++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_");
++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_");
++#endif
++#endif
++#if defined(__s390x__) || defined(__powerpc64__)
++//asm (".hidden _ZSt13__copy_move_aILb0ENSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET1_T0_S9_S8_");
++#endif
++#ifdef __i386__
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodej");
++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodej");
++asm (".hidden _ZNSt10filesystem8do_spaceEPKcRyS2_S2_RSt10error_code");
++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_j");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE17_M_reallocate_mapEjb");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEj");
++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEj");
++#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_traitsIcESaIcEE6resizeEmc");
++#endif
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE12emplace_backIIS2_EEERS2_DpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_");
++#ifdef __powerpc64__
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc");
++#endif
++#ifndef __i386__
++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv");
++#endif
++#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_traitsIcESaIcEE6resizeEmc");
++#endif
++#ifdef __i386__
++//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_");
++#endif
++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
++asm (".hidden _ZNSt10filesystem18copy_file_sendfileEiij");
++#else
++asm (".hidden _ZNSt10filesystem18copy_file_sendfileEiim");
++#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,160 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/fs_path.cc"
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE3getEv");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE9use_countEv");
++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEcvbEv");
++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_");
++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_");
++asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_List5clearEv");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_List5_Impl13_M_erase_fromEPKNS1_5_CmptE");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_List7reserveEib");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_ListaSERKS2_");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2ERKS2_");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2Ev");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS7_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEaSEOS7_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EDn");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EOS7_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS4_LS6_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1Ev");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EDn");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EOS7_");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS4_LS6_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSNSt10filesystem7__cxx1116filesystem_errorE");
++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt19_Sp_make_shared_tag");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
++asm (".hidden _ZNSt10filesystem7__cxx1116filesystem_error5_Impl9make_whatESt17basic_string_viewIcSt11char_traitsIcEEPKNS0_4pathES9_");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_CmptD1Ev");
++asm (".hidden _ZNSt10filesystem7__cxx114path5_CmptD2Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev");
++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev");
++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS4_ELN9__gnu_cxx12_Lock_policyE2EEEED1Ev");
++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS4_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev");
++#if !defined (__aarch64__) && !defined (__x86_64__)
++#ifndef __i386__
++//asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IISt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_");
++//asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IJSt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_");
++#endif
++#endif
++//asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
++//asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
++//asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev");
++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev");
++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev");
++asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv");
++#ifdef __powerpc64__
++asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv");
++#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__cxx114path10_S_convertIwEEDaPKT_S5_"); // bad ppc64le
++#endif
++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev");
++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev");
++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev");
++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
++asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_");
++asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE");
++asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE");
++asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE");
++asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv");
++//asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
++//asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
++//asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev");
++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev");
++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev");
++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
++#ifndef __i386__
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm");
++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm");
++//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");
++#endif
++#ifdef __powerpc64__
++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
++#endif
++#ifdef __x86_64__
++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
++#endif
++#ifdef __i386__
++//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");
++#endif
++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev");
++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev");
++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev");
++//asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev");
++//asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev");
++//asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev");
++asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE");
++//asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
++asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE");
++//asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
++asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE");
++//asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
++asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_");
++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
++asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE");
+--- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj 2024-07-18 16:10:38.338406596 +0200
++++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc 2024-07-19 10:55:08.223216551 +0200
+@@ -0,0 +1,107 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/cow-fs_dir.cc"
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE3getEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE9use_countEv");
++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE3getEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv");
++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE9use_countEv");
++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv");
++asm (".hidden _ZNSt10filesystem4_Dir7advanceEbRSt10error_code");
++asm (".hidden _ZNSt10filesystem4_DirD1Ev");
++asm (".hidden _ZNSt10filesystem4_DirD2Ev");
++#ifdef __i386__
++asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code");
++#endif
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE4swapERS4_");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE5resetEv");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC1EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS1_LS3_2EESt9nothrow_t");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC2EDn");
++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS1_LS3_2EESt9nothrow_t");
++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev");
++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_");
++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE16_M_push_back_auxIIRP11__dirstreamRKNS0_4pathEEEEvDpOT_");
++//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE16_M_push_back_auxIJRP11__dirstreamRKNS0_4pathEEEEvDpOT_");
++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EED1Ev");
++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EED2Ev");
++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt19_Sp_make_shared_tag");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE");
++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag");
++#ifndef __aarch64__
++asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_");
++asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_");
++#endif
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
++#ifndef __i386__
++//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 _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEjb");
++#endif
++asm (".hidden _ZNKSt10filesystem4_Dir11open_subdirEbbRSt10error_code");
++asm (".hidden _ZNKSt10filesystem28recursive_directory_iterator10_Dir_stack12current_pathEv");
++//asm (".hidden _ZNSt10filesystem4pathC2ISsS0_EERKT_NS0_6formatE");
++//asm (".hidden _ZNSt10filesystem4pathC1ISsS0_EERKT_NS0_6formatE");
++asm (".hidden _ZNSt10filesystem28recursive_directory_iterator7__eraseEPSt10error_code");
++//asm (".hidden _ZNKSt10filesystem4_Dir16dir_and_pathnameEv");
++//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 @@
++## Makefile for the C++17 sources of the GNU C++ Standard library.
++##
++## Copyright (C) 1997-2024 Free Software Foundation, Inc.
++##
++## This file is part of the libstdc++ version 3 distribution.
++## Process this file with automake to produce Makefile.in.
++
++## This file is part of the GNU ISO C++ Library. This library is free
++## software; you can redistribute it and/or modify it under the
++## terms of the GNU General Public License as published by the
++## Free Software Foundation; either version 3, or (at your option)
++## any later version.
++
++## This library is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++## You should have received a copy of the GNU General Public License along
++## with this library; see the file COPYING3. If not see
++## .
++
++include $(top_srcdir)/fragment.am
++
++# Convenience library for C++17 runtime.
++noinst_LTLIBRARIES = libnonshared17convenience80.la \
++ libnonshared17convenience110.la
++
++headers =
++
++if ENABLE_DUAL_ABI
++extra_string_inst_sources80 = cow-string-inst.cc
++extra_string_inst_sources110 = cow-string-inst110.cc
++extra_fs_sources80 = \
++ cow-fs_dir.cc \
++ cow-fs_ops.cc \
++ cow-fs_path.cc
++extra_fs_sources110 = \
++ cow-fs_dir110.cc
++else
++extra_string_inst_sources80 =
++extra_string_inst_sources110 =
++extra_fs_sources80 =
++extra_fs_sources110 =
++endif
++
++if ENABLE_EXTERN_TEMPLATE
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++inst_sources80 = \
++ ostream-inst.cc \
++ string-inst.cc \
++ $(extra_string_inst_sources80)
++inst_sources110 = \
++ ostream-inst110.cc \
++ string-inst110.cc \
++ $(extra_string_inst_sources110)
++else
++# XTEMPLATE_FLAGS =
++inst_sources80 =
++inst_sources110 =
++endif
++
++sources80 = \
++ eh_call.cc \
++ eh_terminate.cc \
++ floating_from_chars.cc \
++ floating_to_chars.cc \
++ fs_dir.cc \
++ memory_resource.cc \
++ fs_path80.cc \
++ fs_ops80.cc \
++ $(extra_fs_sources80)
++sources110 = \
++ eh_call.cc \
++ eh_terminate.cc \
++ fs_dir110.cc \
++ floating_from_chars110.cc \
++ floating_to_chars110.cc \
++ $(extra_fs_sources110)
++
++vpath % $(top_srcdir)/src/nonshared17
++
++libnonshared17convenience80_la_SOURCES = $(sources80) $(inst_sources80)
++libnonshared17convenience110_la_SOURCES = $(sources110) $(inst_sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++17 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
+--- libstdc++-v3/src/nonshared17/cow-string-inst.cc.jj 2024-07-18 16:10:38.339406584 +0200
++++ libstdc++-v3/src/nonshared17/cow-string-inst.cc 2024-07-18 18:09:02.181562008 +0200
+@@ -0,0 +1,23 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/cow-string-inst.cc"
+--- libstdc++-v3/src/nonshared17/Makefile.in.jj 2024-07-18 16:10:38.339406584 +0200
++++ libstdc++-v3/src/nonshared17/Makefile.in 2024-07-19 14:22:11.377881054 +0200
+@@ -0,0 +1,817 @@
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
++
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
++am__make_running_with_option = \
++ case $${target_option-} in \
++ ?) ;; \
++ *) echo "am__make_running_with_option: internal error: invalid" \
++ "target option '$${target_option-}' specified" >&2; \
++ exit 1;; \
++ esac; \
++ has_opt=no; \
++ sane_makeflags=$$MAKEFLAGS; \
++ if $(am__is_gnu_make); then \
++ sane_makeflags=$$MFLAGS; \
++ else \
++ case $$MAKEFLAGS in \
++ *\\[\ \ ]*) \
++ bs=\\; \
++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
++ esac; \
++ fi; \
++ skip_next=no; \
++ strip_trailopt () \
++ { \
++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
++ }; \
++ for flg in $$sane_makeflags; do \
++ test $$skip_next = yes && { skip_next=no; continue; }; \
++ case $$flg in \
++ *=*|--*) continue;; \
++ -*I) strip_trailopt 'I'; skip_next=yes;; \
++ -*I?*) strip_trailopt 'I';; \
++ -*O) strip_trailopt 'O'; skip_next=yes;; \
++ -*O?*) strip_trailopt 'O';; \
++ -*l) strip_trailopt 'l'; skip_next=yes;; \
++ -*l?*) strip_trailopt 'l';; \
++ -[dEDm]) skip_next=yes;; \
++ -[JT]) skip_next=yes;; \
++ esac; \
++ case $$flg in \
++ *$$target_option*) has_opt=yes; break;; \
++ esac; \
++ done; \
++ test $$has_opt = yes
++am__make_dryrun = (target_option=n; $(am__make_running_with_option))
++am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++target_triplet = @target@
++subdir = src/nonshared17
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
++ $(top_srcdir)/../config/enable.m4 \
++ $(top_srcdir)/../config/futex.m4 \
++ $(top_srcdir)/../config/hwcaps.m4 \
++ $(top_srcdir)/../config/iconv.m4 \
++ $(top_srcdir)/../config/lead-dot.m4 \
++ $(top_srcdir)/../config/lib-ld.m4 \
++ $(top_srcdir)/../config/lib-link.m4 \
++ $(top_srcdir)/../config/lib-prefix.m4 \
++ $(top_srcdir)/../config/lthostflags.m4 \
++ $(top_srcdir)/../config/multi.m4 \
++ $(top_srcdir)/../config/no-executables.m4 \
++ $(top_srcdir)/../config/override.m4 \
++ $(top_srcdir)/../config/toolexeclibdir.m4 \
++ $(top_srcdir)/../config/unwind_ipinfo.m4 \
++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
++ $(top_srcdir)/../config/gc++filt.m4 \
++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LTLIBRARIES = $(noinst_LTLIBRARIES)
++libnonshared17convenience110_la_LIBADD =
++@ENABLE_DUAL_ABI_TRUE@am__objects_1 = cow-fs_dir110.lo
++am__objects_2 = eh_call.lo eh_terminate.lo fs_dir110.lo \
++ floating_from_chars110.lo floating_to_chars110.lo \
++ $(am__objects_1)
++@ENABLE_DUAL_ABI_TRUE@am__objects_3 = cow-string-inst110.lo
++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = ostream-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(am__objects_3)
++am_libnonshared17convenience110_la_OBJECTS = $(am__objects_2) \
++ $(am__objects_4)
++libnonshared17convenience110_la_OBJECTS = \
++ $(am_libnonshared17convenience110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++libnonshared17convenience80_la_LIBADD =
++@ENABLE_DUAL_ABI_TRUE@am__objects_5 = cow-fs_dir.lo cow-fs_ops.lo \
++@ENABLE_DUAL_ABI_TRUE@ cow-fs_path.lo
++am__objects_6 = eh_call.lo eh_terminate.lo floating_from_chars.lo \
++ floating_to_chars.lo fs_dir.lo memory_resource.lo fs_path80.lo \
++ fs_ops80.lo $(am__objects_5)
++@ENABLE_DUAL_ABI_TRUE@am__objects_7 = cow-string-inst.lo
++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_8 = ostream-inst.lo \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.lo $(am__objects_7)
++am_libnonshared17convenience80_la_OBJECTS = $(am__objects_6) \
++ $(am__objects_8)
++libnonshared17convenience80_la_OBJECTS = \
++ $(am_libnonshared17convenience80_la_OBJECTS)
++AM_V_P = $(am__v_P_@AM_V@)
++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
++am__v_P_0 = false
++am__v_P_1 = :
++AM_V_GEN = $(am__v_GEN_@AM_V@)
++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
++am__v_GEN_0 = @echo " GEN " $@;
++am__v_GEN_1 =
++AM_V_at = $(am__v_at_@AM_V@)
++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
++am__v_at_0 = @
++am__v_at_1 =
++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
++depcomp =
++am__depfiles_maybe =
++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
++AM_V_CXX = $(am__v_CXX_@AM_V@)
++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
++am__v_CXX_0 = @echo " CXX " $@;
++am__v_CXX_1 =
++CXXLD = $(CXX)
++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
++am__v_CXXLD_0 = @echo " CXXLD " $@;
++am__v_CXXLD_1 =
++SOURCES = $(libnonshared17convenience110_la_SOURCES) \
++ $(libnonshared17convenience80_la_SOURCES)
++am__can_run_installinfo = \
++ case $$AM_UPDATE_INFO_DIR in \
++ n|no|NO) false;; \
++ *) (install-info --version) >/dev/null 2>&1;; \
++ esac
++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
++# Read a list of newline-separated strings from the standard input,
++# and print each of them once, without duplicates. Input order is
++# *not* preserved.
++am__uniquify_input = $(AWK) '\
++ BEGIN { nonempty = 0; } \
++ { items[$$0] = 1; nonempty = 1; } \
++ END { if (nonempty) { for (i in items) print i; }; } \
++'
++# Make sure the list of sources is unique. This is necessary because,
++# e.g., the same source file might be shared among _SOURCES variables
++# for different programs/libraries.
++am__define_uniq_tagged_files = \
++ list='$(am__tagged_files)'; \
++ unique=`for i in $$list; do \
++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++ done | $(am__uniquify_input)`
++ETAGS = etags
++CTAGS = ctags
++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
++ACLOCAL = @ACLOCAL@
++ALLOCATOR_H = @ALLOCATOR_H@
++ALLOCATOR_NAME = @ALLOCATOR_NAME@
++ALLOC_FILE = @ALLOC_FILE@
++AMTAR = @AMTAR@
++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++AR = @AR@
++AS = @AS@
++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
++ATOMIC_FLAGS = @ATOMIC_FLAGS@
++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
++BASIC_FILE_CC = @BASIC_FILE_CC@
++BASIC_FILE_H = @BASIC_FILE_H@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCODECVT_CC = @CCODECVT_CC@
++CCOLLATE_CC = @CCOLLATE_CC@
++CCTYPE_CC = @CCTYPE_CC@
++CFLAGS = @CFLAGS@
++CLOCALE_CC = @CLOCALE_CC@
++CLOCALE_H = @CLOCALE_H@
++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
++CMESSAGES_CC = @CMESSAGES_CC@
++CMESSAGES_H = @CMESSAGES_H@
++CMONEY_CC = @CMONEY_CC@
++CNUMERIC_CC = @CNUMERIC_CC@
++CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
++CSTDIO_H = @CSTDIO_H@
++CTIME_CC = @CTIME_CC@
++CTIME_H = @CTIME_H@
++CXX = @CXX@
++CXXCPP = @CXXCPP@
++CXXFILT = @CXXFILT@
++CXXFLAGS = @CXXFLAGS@
++CYGPATH_W = @CYGPATH_W@
++C_INCLUDE_DIR = @C_INCLUDE_DIR@
++DBLATEX = @DBLATEX@
++DEBUG_FLAGS = @DEBUG_FLAGS@
++DEFS = @DEFS@
++DOT = @DOT@
++DOXYGEN = @DOXYGEN@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EH_POOL_FLAGS = @EH_POOL_FLAGS@
++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
++EXEEXT = @EXEEXT@
++EXTRA_CFLAGS = @EXTRA_CFLAGS@
++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
++FGREP = @FGREP@
++FORMAT_FILE = @FORMAT_FILE@
++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
++GLIBCXX_LIBS = @GLIBCXX_LIBS@
++GREP = @GREP@
++HWCAP_CFLAGS = @HWCAP_CFLAGS@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
++LDFLAGS = @LDFLAGS@
++LIBICONV = @LIBICONV@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LIBTOOL = @LIBTOOL@
++LIPO = @LIPO@
++LN_S = @LN_S@
++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
++OBJDUMP = @OBJDUMP@
++OBJEXT = @OBJEXT@
++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
++OPT_LDFLAGS = @OPT_LDFLAGS@
++OS_INC_SRCDIR = @OS_INC_SRCDIR@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++PDFLATEX = @PDFLATEX@
++RANLIB = @RANLIB@
++SECTION_FLAGS = @SECTION_FLAGS@
++SECTION_LDFLAGS = @SECTION_LDFLAGS@
++SED = @SED@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++SYMVER_FILE = @SYMVER_FILE@
++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
++USE_NLS = @USE_NLS@
++VERSION = @VERSION@
++VIEW_FILE = @VIEW_FILE@
++VTV_CXXFLAGS = @VTV_CXXFLAGS@
++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
++WARN_FLAGS = @WARN_FLAGS@
++XMLCATALOG = @XMLCATALOG@
++XMLLINT = @XMLLINT@
++XSLTPROC = @XSLTPROC@
++XSL_STYLE_DIR = @XSL_STYLE_DIR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_CXX = @ac_ct_CXX@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
++am__leading_dot = @am__leading_dot@
++am__tar = @am__tar@
++am__untar = @am__untar@
++baseline_dir = @baseline_dir@
++baseline_subdir_switch = @baseline_subdir_switch@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++check_msgfmt = @check_msgfmt@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++enable_shared = @enable_shared@
++enable_static = @enable_static@
++exec_prefix = @exec_prefix@
++get_gcc_base_ver = @get_gcc_base_ver@
++glibcxx_MOFILES = @glibcxx_MOFILES@
++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
++glibcxx_POFILES = @glibcxx_POFILES@
++glibcxx_builddir = @glibcxx_builddir@
++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
++glibcxx_localedir = @glibcxx_localedir@
++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
++glibcxx_prefixdir = @glibcxx_prefixdir@
++glibcxx_srcdir = @glibcxx_srcdir@
++glibcxx_toolexecdir = @glibcxx_toolexecdir@
++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
++gxx_include_dir = @gxx_include_dir@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libtool_VERSION = @libtool_VERSION@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lt_host_flags = @lt_host_flags@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++multi_basedir = @multi_basedir@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++port_specific_symbol_files = @port_specific_symbol_files@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++python_mod_dir = @python_mod_dir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sysconfdir = @sysconfdir@
++target = @target@
++target_alias = @target_alias@
++target_cpu = @target_cpu@
++target_os = @target_os@
++target_vendor = @target_vendor@
++thread_header = @thread_header@
++tmake_file = @tmake_file@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++toplevel_builddir = @toplevel_builddir@
++toplevel_srcdir = @toplevel_srcdir@
++
++# May be used by various substitution variables.
++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
++MAINT_CHARSET = latin1
++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
++PWD_COMMAND = $${PWDCMD-pwd}
++STAMP = echo timestamp >
++toolexecdir = $(glibcxx_toolexecdir)
++toolexeclibdir = $(glibcxx_toolexeclibdir)
++@ENABLE_WERROR_FALSE@WERROR_FLAG =
++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
++
++# These bits are all figured out from configure. Look in acinclude.m4
++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
++CONFIG_CXXFLAGS = \
++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
++
++WARN_CXXFLAGS = \
++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
++
++
++# -I/-D flags to pass when compiling.
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
++
++# Convenience library for C++17 runtime.
++noinst_LTLIBRARIES = libnonshared17convenience80.la \
++ libnonshared17convenience110.la
++
++headers =
++@ENABLE_DUAL_ABI_FALSE@extra_string_inst_sources80 =
++@ENABLE_DUAL_ABI_TRUE@extra_string_inst_sources80 = cow-string-inst.cc
++@ENABLE_DUAL_ABI_FALSE@extra_string_inst_sources110 =
++@ENABLE_DUAL_ABI_TRUE@extra_string_inst_sources110 = cow-string-inst110.cc
++@ENABLE_DUAL_ABI_FALSE@extra_fs_sources80 =
++@ENABLE_DUAL_ABI_TRUE@extra_fs_sources80 = \
++@ENABLE_DUAL_ABI_TRUE@ cow-fs_dir.cc \
++@ENABLE_DUAL_ABI_TRUE@ cow-fs_ops.cc \
++@ENABLE_DUAL_ABI_TRUE@ cow-fs_path.cc
++
++@ENABLE_DUAL_ABI_FALSE@extra_fs_sources110 =
++@ENABLE_DUAL_ABI_TRUE@extra_fs_sources110 = \
++@ENABLE_DUAL_ABI_TRUE@ cow-fs_dir110.cc
++
++# XTEMPLATE_FLAGS =
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 =
++
++# XTEMPLATE_FLAGS = -fno-implicit-templates
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources80 = \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(extra_string_inst_sources80)
++
++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources110 =
++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources110 = \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.cc \
++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(extra_string_inst_sources110)
++
++sources80 = \
++ eh_call.cc \
++ eh_terminate.cc \
++ floating_from_chars.cc \
++ floating_to_chars.cc \
++ fs_dir.cc \
++ memory_resource.cc \
++ fs_path80.cc \
++ fs_ops80.cc \
++ $(extra_fs_sources80)
++
++sources110 = \
++ eh_call.cc \
++ eh_terminate.cc \
++ fs_dir110.cc \
++ floating_from_chars110.cc \
++ floating_to_chars110.cc \
++ $(extra_fs_sources110)
++
++libnonshared17convenience80_la_SOURCES = $(sources80) $(inst_sources80)
++libnonshared17convenience110_la_SOURCES = $(sources110) $(inst_sources110)
++
++# AM_CXXFLAGS needs to be in each subdirectory so that it can be
++# modified in a per-library or per-sub-library way. Need to manually
++# set this option because CONFIG_CXXFLAGS has to be after
++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
++# as the occasion calls for it.
++AM_CXXFLAGS = \
++ -std=gnu++17 \
++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \
++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \
++ -fimplicit-templates
++
++AM_MAKEFLAGS = \
++ "gxx_include_dir=$(gxx_include_dir)"
++
++
++# Libtool notes
++
++# 1) In general, libtool expects an argument such as `--tag=CXX' when
++# using the C++ compiler, because that will enable the settings
++# detected when C++ support was being configured. However, when no
++# such flag is given in the command line, libtool attempts to figure
++# it out by matching the compiler name in each configuration section
++# against a prefix of the command line. The problem is that, if the
++# compiler name and its initial flags stored in the libtool
++# configuration file don't match those in the command line, libtool
++# can't decide which configuration to use, and it gives up. The
++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
++# attempt to infer which configuration to use.
++#
++# The second tag argument, `--tag disable-shared` means that libtool
++# only compiles each source once, for static objects. In actuality,
++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to
++# the libtool command that is used create the object, which is
++# suitable for shared libraries. The `--tag disable-shared` must be
++# placed after --tag CXX lest things CXX undo the affect of
++# disable-shared.
++
++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is
++# last. (That way, things like -O2 passed down from the toplevel can
++# be overridden by --enable-debug.)
++LTCXXCOMPILE = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS)
++
++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++
++# 3) We'd have a problem when building the shared libstdc++ object if
++# the rules automake generates would be used. We cannot allow g++ to
++# be used since this would add -lstdc++ to the link line which of
++# course is problematic at this point. So, we get the top-level
++# directory to configure libstdc++-v3 to use gcc as the C++
++# compilation driver.
++CXXLINK = \
++ $(LIBTOOL) --tag CXX --tag disable-shared \
++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CXX) \
++ $(VTV_CXXLINKFLAGS) \
++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
++
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .cc .lo .o .obj
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
++ && { if test -f $@; then exit 0; else break; fi; }; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared17/Makefile'; \
++ $(am__cd) $(top_srcdir) && \
++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared17/Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
++$(top_srcdir)/fragment.am $(am__empty):
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(am__aclocal_m4_deps):
++
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
++libnonshared17convenience110.la: $(libnonshared17convenience110_la_OBJECTS) $(libnonshared17convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience110_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience110_la_OBJECTS) $(libnonshared17convenience110_la_LIBADD) $(LIBS)
++
++libnonshared17convenience80.la: $(libnonshared17convenience80_la_OBJECTS) $(libnonshared17convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience80_la_DEPENDENCIES)
++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience80_la_OBJECTS) $(libnonshared17convenience80_la_LIBADD) $(LIBS)
++
++mostlyclean-compile:
++ -rm -f *.$(OBJEXT)
++
++distclean-compile:
++ -rm -f *.tab.c
++
++.cc.o:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
++
++.cc.obj:
++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
++
++.cc.lo:
++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
++
++mostlyclean-libtool:
++ -rm -f *.lo
++
++clean-libtool:
++ -rm -rf .libs _libs
++
++ID: $(am__tagged_files)
++ $(am__define_uniq_tagged_files); mkid -fID $$unique
++tags: tags-am
++TAGS: tags
++
++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ set x; \
++ here=`pwd`; \
++ $(am__define_uniq_tagged_files); \
++ shift; \
++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ test -n "$$unique" || unique=$$empty_fix; \
++ if test $$# -gt 0; then \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ "$$@" $$unique; \
++ else \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$unique; \
++ fi; \
++ fi
++ctags: ctags-am
++
++CTAGS: ctags
++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
++ $(am__define_uniq_tagged_files); \
++ test -z "$(CTAGS_ARGS)$$unique" \
++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++ $$unique
++
++GTAGS:
++ here=`$(am__cd) $(top_builddir) && pwd` \
++ && $(am__cd) $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) "$$here"
++cscopelist: cscopelist-am
++
++cscopelist-am: $(am__tagged_files)
++ list='$(am__tagged_files)'; \
++ case "$(srcdir)" in \
++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
++ *) sdir=$(subdir)/$(srcdir) ;; \
++ esac; \
++ for i in $$list; do \
++ if test -f "$$i"; then \
++ echo "$(subdir)/$$i"; \
++ else \
++ echo "$$sdir/$$i"; \
++ fi; \
++ done >> $(top_builddir)/cscope.files
++
++distclean-tags:
++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am: all-am
++check: check-am
++all-am: Makefile $(LTLIBRARIES)
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++ if test -z '$(STRIP)'; then \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ install; \
++ else \
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++ fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
++ mostlyclean-am
++
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++ distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
++ ctags-am distclean distclean-compile distclean-generic \
++ distclean-libtool distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am
++
++.PRECIOUS: Makefile
++
++
++vpath % $(top_srcdir)/src/nonshared17
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+--- libstdc++-v3/src/nonshared17/ostream-inst110.cc.jj 2024-07-18 16:10:38.339406584 +0200
++++ libstdc++-v3/src/nonshared17/ostream-inst110.cc 2024-07-18 18:09:02.181562008 +0200
+@@ -0,0 +1,25 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/ostream-inst.cc"
++asm (".hidden _ZNSolsEDn");
++asm (".hidden _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEDn");
+--- libstdc++-v3/src/nonshared17/ostream-inst.cc.jj 2024-07-18 16:10:38.339406584 +0200
++++ libstdc++-v3/src/nonshared17/ostream-inst.cc 2024-07-18 18:09:02.182561995 +0200
+@@ -0,0 +1,23 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/ostream-inst.cc"
+--- libstdc++-v3/src/nonshared17/floating_to_chars.cc.jj 2024-07-18 16:10:38.339406584 +0200
++++ libstdc++-v3/src/nonshared17/floating_to_chars.cc 2024-07-19 15:49:40.815027569 +0200
+@@ -0,0 +1,100 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/floating_to_chars.cc"
++#ifdef __SIZEOF_INT128__
++#if defined (__x86_64__) || defined(__powerpc64__)
++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++//asm (".hidden _ZNSt8__detail13__to_chars_10IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_10IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++#endif
++#endif
++#if defined (__powerpc64__)
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++//asm (".hidden _ZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_i");
++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_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");
++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_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");
++#endif
++#endif
++#if defined (__s390x__)
++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_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");
++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_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");
++#endif
++#if defined (__i386__) || defined (__s390x__)
++//asm (".hidden _ZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_i");
++#endif
++#if defined (__powerpc64__) || defined (__s390x__)
++//asm (".hidden _ZSt8to_charsPcS_g");
++//asm (".hidden _ZSt8to_charsPcS_gSt12chars_format");
++//asm (".hidden _ZSt8to_charsPcS_gSt12chars_formati");
++#endif
++#if !defined (__powerpc64__) && !defined (__s390x__)
++//asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
++//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");
++//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 _ZZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
++//asm (".hidden _ZZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
++//asm (".hidden _ZZNSt8__detail10__to_charsIoEESt15to_chars_resultPcS2_T_iE8__digits");
++#endif
++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIoEEvPcjT_E8__digits");
++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits");
++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implImEEvPcjT_E8__digits");
++#else
++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i");
++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i");
++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_E8__digits");
++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_E8__digits");
++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits");
++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIyEEvPcjT_E8__digits");
++#if !defined(__i386__)
++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_");
++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_");
++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_");
++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i");
++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i");
++#endif
++#endif
++#if !defined(__i386__)
++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_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");
++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_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 _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits");
++#endif
++//asm (".hidden _ZZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_iE8__digits");
++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__))
++asm (".hidden _ZNSt8__detail18__to_chars_10_implIyEEvPcjT_");
++#else
++asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_");
++#endif
++#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
++++ libstdc++-v3/src/nonshared17/cow-string-inst110.cc 2024-07-18 18:09:02.183561982 +0200
+@@ -0,0 +1,37 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/cow-string-inst.cc"
++asm (".hidden _ZNSsC2ENSs12__sv_wrapperERKSaIcE");
++asm (".hidden _ZNSsC1ENSs12__sv_wrapperERKSaIcE");
++asm (".hidden _ZNSs12__sv_wrapperC2ESt17basic_string_viewIcSt11char_traitsIcEE");
++asm (".hidden _ZNSs12__sv_wrapperC1ESt17basic_string_viewIcSt11char_traitsIcEE");
++asm (".hidden _ZNSs17_S_to_string_viewESt17basic_string_viewIcSt11char_traitsIcEE");
++asm (".hidden _ZNKSscvSt17basic_string_viewIcSt11char_traitsIcEEEv");
++asm (".hidden _ZNSs4dataEv");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEEC2ENS2_12__sv_wrapperERKS1_");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEEC1ENS2_12__sv_wrapperERKS1_");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12__sv_wrapperC2ESt17basic_string_viewIwS0_E");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12__sv_wrapperC1ESt17basic_string_viewIwS0_E");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS0_E");
++asm (".hidden _ZNKSbIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS0_EEv");
++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE4dataEv");
+--- libstdc++-v3/src/nonshared17/string-inst.cc.jj 2024-07-18 16:10:38.339406584 +0200
++++ libstdc++-v3/src/nonshared17/string-inst.cc 2024-07-18 18:09:02.183561982 +0200
+@@ -0,0 +1,23 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/string-inst.cc"
+--- libstdc++-v3/src/nonshared17/eh_terminate.cc.jj 2024-07-19 11:45:03.202401850 +0200
++++ libstdc++-v3/src/nonshared17/eh_terminate.cc 2024-07-19 14:04:39.331272629 +0200
+@@ -0,0 +1,46 @@
++// -*- C++ -*- std::terminate, std::unexpected and friends.
++// Copyright (C) 1994-2024 Free Software Foundation, Inc.
++//
++// This file is part of GCC.
++//
++// GCC is free software; you can redistribute it and/or modify
++// it under the terms of the GNU General Public License as published by
++// the Free Software Foundation; either version 3, or (at your option)
++// any later version.
++//
++// GCC is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++//
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include
++#include
++#include
++#include
++#include
++//#include
++
++using namespace __cxxabiv1;
++
++void
++__cxxabiv1::__terminate (std::terminate_handler handler) throw ()
++{
++ __try
++ {
++ handler ();
++ std::abort ();
++ }
++ __catch(...)
++ { std::abort (); }
++}
++
++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,41 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_NONSHARED_CXX11_110
++#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_");
++#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 @@
++// Copyright (C) 2019-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#include "../c++17/string-inst.cc"
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ENS4_12__sv_wrapperERKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ENS4_12__sv_wrapperERKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12__sv_wrapperC2ESt17basic_string_viewIcS2_E");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12__sv_wrapperC1ESt17basic_string_viewIcS2_E");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_S_to_string_viewESt17basic_string_viewIcS2_E");
++asm (".hidden _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ENS4_12__sv_wrapperERKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ENS4_12__sv_wrapperERKS3_");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12__sv_wrapperC2ESt17basic_string_viewIwS2_E");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12__sv_wrapperC1ESt17basic_string_viewIwS2_E");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS2_E");
++asm (".hidden _ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS2_EEv");
++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv");
+--- libstdc++-v3/src/nonshared17/cow-fs_dir110.cc.jj 2024-07-18 16:10:38.340406571 +0200
++++ libstdc++-v3/src/nonshared17/cow-fs_dir110.cc 2024-07-18 18:09:02.184561969 +0200
+@@ -0,0 +1,26 @@
++// Class filesystem::directory_entry etc. -*- C++ -*-
++
++// Copyright (C) 2015-2024 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++// .
++
++#define _GLIBCXX_USE_CXX11_ABI 0
++#include "fs_dir110.cc"
+--- libstdc++-v3/src/Makefile.am.jj 2024-04-26 11:47:04.123142773 +0200
++++ libstdc++-v3/src/Makefile.am 2024-07-18 16:13:20.385334523 +0200
+@@ -44,7 +44,8 @@ endif
+
+ ## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE.
+ SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \
+- $(filesystem_dir) $(backtrace_dir) $(experimental_dir)
++ $(filesystem_dir) $(backtrace_dir) $(experimental_dir) \
++ nonshared98 nonshared11 nonshared17 nonshared20 nonshared23 nonshared26
+
+ # Cross compiler support.
+ if VTV_CYGMIN
+@@ -53,6 +54,9 @@ else
+ toolexeclib_LTLIBRARIES = libstdc++.la
+ endif
+
++noinst_LTLIBRARIES = libstdc++_nonshared80.la \
++ libstdc++_nonshared110.la
++
+ if VTV_CYGMIN
+ vtv_stubs.cc:
+ rm -f $@
+@@ -120,6 +124,33 @@ endif
+ parallel_compat_sources = \
+ compatibility-parallel_list.cc compatibility-parallel_list-2.cc
+
++libstdc___nonshared80_la_SOURCES =
++
++libstdc___nonshared80_la_LIBADD = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la
++
++libstdc___nonshared80_la_DEPENDENCIES = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la
++
++libstdc___nonshared110_la_SOURCES =
++
++libstdc___nonshared110_la_LIBADD = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la
++
++libstdc___nonshared110_la_DEPENDENCIES = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la
+
+ cxx98_sources = \
+ compatibility.cc \
+--- libstdc++-v3/src/Makefile.in.jj 2024-04-26 11:47:04.123142773 +0200
++++ libstdc++-v3/src/Makefile.in 2024-07-19 14:22:11.147883997 +0200
+@@ -147,7 +147,7 @@ am__uninstall_files_from_dir = { \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+ am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
+-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
++LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+ @GLIBCXX_LDBL_COMPAT_TRUE@am__objects_1 = compatibility-ldbl.lo
+ am__objects_2 = compatibility.lo compatibility-debug_list.lo \
+@@ -167,6 +167,16 @@ am__objects_6 = $(am__objects_3) $(am__o
+ libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS)
+ @VTV_CYGMIN_FALSE@am_libstdc___la_rpath = -rpath $(toolexeclibdir)
+ @VTV_CYGMIN_TRUE@am_libstdc___la_rpath = -rpath $(toolexeclibdir)
++am_libstdc___nonshared110_la_OBJECTS =
++libstdc___nonshared110_la_OBJECTS = \
++ $(am_libstdc___nonshared110_la_OBJECTS)
++AM_V_lt = $(am__v_lt_@AM_V@)
++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
++am__v_lt_0 = --silent
++am__v_lt_1 =
++am_libstdc___nonshared80_la_OBJECTS =
++libstdc___nonshared80_la_OBJECTS = \
++ $(am_libstdc___nonshared80_la_OBJECTS)
+ libvtv_la_LIBADD =
+ @VTV_CYGMIN_TRUE@am_libvtv_la_OBJECTS = vtv_stubs.lo
+ libvtv_la_OBJECTS = $(am_libvtv_la_OBJECTS)
+@@ -188,10 +198,6 @@ depcomp =
+ am__depfiles_maybe =
+ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+-AM_V_lt = $(am__v_lt_@AM_V@)
+-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+-am__v_lt_0 = --silent
+-am__v_lt_1 =
+ AM_V_CXX = $(am__v_CXX_@AM_V@)
+ am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+ am__v_CXX_0 = @echo " CXX " $@;
+@@ -201,7 +207,26 @@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+ am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+ am__v_CXXLD_0 = @echo " CXXLD " $@;
+ am__v_CXXLD_1 =
+-SOURCES = $(libstdc___la_SOURCES) $(libvtv_la_SOURCES)
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
++ $(AM_CFLAGS) $(CFLAGS)
++AM_V_CC = $(am__v_CC_@AM_V@)
++am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
++am__v_CC_0 = @echo " CC " $@;
++am__v_CC_1 =
++CCLD = $(CC)
++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
++ $(AM_LDFLAGS) $(LDFLAGS) -o $@
++AM_V_CCLD = $(am__v_CCLD_@AM_V@)
++am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
++am__v_CCLD_0 = @echo " CCLD " $@;
++am__v_CCLD_1 =
++SOURCES = $(libstdc___la_SOURCES) $(libstdc___nonshared110_la_SOURCES) \
++ $(libstdc___nonshared80_la_SOURCES) $(libvtv_la_SOURCES)
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+@@ -242,7 +267,8 @@ am__define_uniq_tagged_files = \
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 filesystem \
+- libbacktrace experimental
++ libbacktrace experimental nonshared98 nonshared11 nonshared17 \
++ nonshared20 nonshared23 nonshared26
+ ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
+ ACLOCAL = @ACLOCAL@
+ ALLOCATOR_H = @ALLOCATOR_H@
+@@ -266,6 +292,8 @@ BACKTRACE_USES_MALLOC = @BACKTRACE_USES_
+ BASIC_FILE_CC = @BASIC_FILE_CC@
+ BASIC_FILE_H = @BASIC_FILE_H@
+ CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
+ CCODECVT_CC = @CCODECVT_CC@
+ CCOLLATE_CC = @CCOLLATE_CC@
+ CCTYPE_CC = @CCTYPE_CC@
+@@ -492,12 +520,16 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPF
+ @GLIBCXX_HOSTED_FALSE@experimental_dir =
+ @GLIBCXX_HOSTED_TRUE@experimental_dir = experimental
+ SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \
+- $(filesystem_dir) $(backtrace_dir) $(experimental_dir)
++ $(filesystem_dir) $(backtrace_dir) $(experimental_dir) \
++ nonshared98 nonshared11 nonshared17 nonshared20 nonshared23 nonshared26
+
+ @VTV_CYGMIN_FALSE@toolexeclib_LTLIBRARIES = libstdc++.la
+
+ # Cross compiler support.
+ @VTV_CYGMIN_TRUE@toolexeclib_LTLIBRARIES = libvtv.la libstdc++.la
++noinst_LTLIBRARIES = libstdc++_nonshared80.la \
++ libstdc++_nonshared110.la
++
+ @VTV_CYGMIN_TRUE@libvtv_la_SOURCES = vtv_stubs.cc
+ @VTV_CYGMIN_TRUE@libvtv_la_LDFLAGS = $(lt_host_flags)
+ @VTV_CYGMIN_TRUE@libvtv_la_AM_CXXFLAGS = \
+@@ -532,6 +564,32 @@ SUBDIRS = c++98 c++11 c++17 c++20 c++23
+ parallel_compat_sources = \
+ compatibility-parallel_list.cc compatibility-parallel_list-2.cc
+
++libstdc___nonshared80_la_SOURCES =
++libstdc___nonshared80_la_LIBADD = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la
++
++libstdc___nonshared80_la_DEPENDENCIES = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la
++
++libstdc___nonshared110_la_SOURCES =
++libstdc___nonshared110_la_LIBADD = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la
++
++libstdc___nonshared110_la_DEPENDENCIES = \
++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \
++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \
++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \
++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la
++
+ cxx98_sources = \
+ compatibility.cc \
+ compatibility-debug_list.cc \
+@@ -725,6 +783,17 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ $(am__aclocal_m4_deps):
+
++clean-noinstLTLIBRARIES:
++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++ @list='$(noinst_LTLIBRARIES)'; \
++ locs=`for p in $$list; do echo $$p; done | \
++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
++ sort -u`; \
++ test -z "$$locs" || { \
++ echo rm -f $${locs}; \
++ rm -f $${locs}; \
++ }
++
+ install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
+@@ -763,6 +832,12 @@ clean-toolexeclibLTLIBRARIES:
+ libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) $(EXTRA_libstdc___la_DEPENDENCIES)
+ $(AM_V_GEN)$(libstdc___la_LINK) $(am_libstdc___la_rpath) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)
+
++libstdc++_nonshared110.la: $(libstdc___nonshared110_la_OBJECTS) $(libstdc___nonshared110_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared110_la_DEPENDENCIES)
++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared110_la_OBJECTS) $(libstdc___nonshared110_la_LIBADD) $(LIBS)
++
++libstdc++_nonshared80.la: $(libstdc___nonshared80_la_OBJECTS) $(libstdc___nonshared80_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared80_la_DEPENDENCIES)
++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared80_la_OBJECTS) $(libstdc___nonshared80_la_LIBADD) $(LIBS)
++
+ libvtv.la: $(libvtv_la_OBJECTS) $(libvtv_la_DEPENDENCIES) $(EXTRA_libvtv_la_DEPENDENCIES)
+ $(AM_V_GEN)$(libvtv_la_LINK) $(am_libvtv_la_rpath) $(libvtv_la_OBJECTS) $(libvtv_la_LIBADD) $(LIBS)
+
+@@ -927,7 +1002,8 @@ maintainer-clean-generic:
+ clean: clean-recursive
+
+ clean-am: clean-generic clean-libtool clean-local \
+- clean-toolexeclibLTLIBRARIES mostlyclean-am
++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \
++ mostlyclean-am
+
+ distclean: distclean-recursive
+ -rm -f Makefile
+@@ -997,14 +1073,14 @@ uninstall-am: uninstall-toolexeclibLTLIB
+
+ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+ check check-am clean clean-generic clean-libtool clean-local \
+- clean-toolexeclibLTLIBRARIES cscopelist-am ctags ctags-am \
+- distclean distclean-compile distclean-generic \
+- distclean-libtool distclean-tags dvi dvi-am html html-am info \
+- info-am install install-am install-data install-data-am \
+- install-data-local install-dvi install-dvi-am install-exec \
+- install-exec-am install-html install-html-am install-info \
+- install-info-am install-man install-pdf install-pdf-am \
+- install-ps install-ps-am install-strip \
++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \
++ cscopelist-am ctags ctags-am distclean distclean-compile \
++ distclean-generic distclean-libtool distclean-tags dvi dvi-am \
++ html html-am info info-am install install-am install-data \
++ install-data-am install-data-local install-dvi install-dvi-am \
++ install-exec install-exec-am install-html install-html-am \
++ install-info install-info-am install-man install-pdf \
++ install-pdf-am install-ps install-ps-am install-strip \
+ install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+--- libstdc++-v3/src/c++11/condition_variable.cc.jj 2024-04-26 11:47:04.125142746 +0200
++++ libstdc++-v3/src/c++11/condition_variable.cc 2024-07-18 16:10:38.341406558 +0200
+@@ -31,9 +31,11 @@ namespace std _GLIBCXX_VISIBILITY(defaul
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ condition_variable::condition_variable() noexcept = default;
+
+ condition_variable::~condition_variable() noexcept = default;
++#endif
+
+ void
+ condition_variable::wait(unique_lock& __lock)
+@@ -41,6 +43,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ _M_cond.wait(*__lock.mutex());
+ }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ void
+ condition_variable::notify_one() noexcept
+ {
+@@ -52,6 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ {
+ _M_cond.notify_all();
+ }
++#endif
+
+ extern void
+ __at_thread_exit(__at_thread_exit_elt*);
+--- libstdc++-v3/src/c++11/system_error.cc.jj 2024-04-26 11:47:04.129142690 +0200
++++ libstdc++-v3/src/c++11/system_error.cc 2024-07-18 16:10:38.341406558 +0200
+@@ -607,7 +607,9 @@ _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(_V2)
+
+ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2)
+
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ system_error::~system_error() = default;
++#endif
+
+ error_condition
+ error_category::default_error_condition(int __i) const noexcept
+@@ -622,9 +624,11 @@ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2)
+ error_category::equivalent(const error_code& __code, int __i) const noexcept
+ { return *this == __code.category() && __code.value() == __i; }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ error_condition
+ error_code::default_error_condition() const noexcept
+ { return category().default_error_condition(value()); }
++#endif
+
+ #if _GLIBCXX_USE_CXX11_ABI
+ // Return error_category::message() as a COW string
+--- libstdc++-v3/src/c++11/cxx11-ios_failure.cc.jj 2024-04-26 11:47:04.126142732 +0200
++++ libstdc++-v3/src/c++11/cxx11-ios_failure.cc 2024-07-18 16:10:38.341406558 +0200
+@@ -122,9 +122,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ using __ios_failure = ios::failure;
+ #endif
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ void
+ __throw_ios_failure(const char* __s __attribute__((unused)))
+ { _GLIBCXX_THROW_OR_ABORT(__ios_failure(_(__s))); }
++#endif
+
+ void
+ __throw_ios_failure(const char* str __attribute__((unused)),
+--- libstdc++-v3/src/c++11/futex.cc.jj 2024-04-26 11:47:04.127142718 +0200
++++ libstdc++-v3/src/c++11/futex.cc 2024-07-19 10:06:32.380372592 +0200
+@@ -55,7 +55,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ namespace
+ {
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ std::atomic futex_clock_realtime_unavailable;
++#endif
+ std::atomic futex_clock_monotonic_unavailable;
+
+ #if defined(SYS_futex_time64) && SYS_futex_time64 != SYS_futex
+@@ -108,6 +110,7 @@ namespace
+ }
+ } // namespace
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ bool
+ __atomic_futex_unsigned_base::
+ _M_futex_wait_until(unsigned *__addr, unsigned __val, bool __has_timeout,
+@@ -182,6 +185,7 @@ namespace
+ return true;
+ }
+ }
++#endif
+
+ bool
+ __atomic_futex_unsigned_base::
+@@ -261,6 +265,7 @@ namespace
+ }
+ }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ void
+ __atomic_futex_unsigned_base::_M_futex_notify_all(unsigned* __addr)
+ {
+@@ -269,6 +274,7 @@ namespace
+ // the error codes. See the futex documentation and glibc for background.
+ syscall (SYS_futex, __addr, futex_wake_op, INT_MAX);
+ }
++#endif
+
+ _GLIBCXX_END_NAMESPACE_VERSION
+ }
+--- libstdc++-v3/src/c++11/shared_ptr.cc.jj 2024-04-26 11:47:04.129142690 +0200
++++ libstdc++-v3/src/c++11/shared_ptr.cc 2024-07-18 17:01:50.133128353 +0200
+@@ -53,6 +53,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ bad_weak_ptr::~bad_weak_ptr() noexcept = default;
+
+ char const*
+@@ -103,6 +104,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ }
+ }
+ #endif
++#endif
+
+ bool
+ _Sp_make_shared_tag::_S_eq(const type_info& ti [[gnu::unused]]) noexcept
+--- libstdc++-v3/src/c++11/codecvt.cc.jj 2024-04-26 11:47:04.124142759 +0200
++++ libstdc++-v3/src/c++11/codecvt.cc 2024-07-18 16:10:38.342406545 +0200
+@@ -744,6 +744,7 @@ namespace
+ }
+ }
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ // Define members of codecvt specialization.
+ // Converts from UTF-8 to UTF-16.
+
+@@ -891,6 +892,7 @@ codecvt::do_m
+ // up to 4 UTF-8 code units.
+ return 4;
+ }
++#endif
+
+ #if defined(_GLIBCXX_USE_CHAR8_T)
+ // Define members of codecvt specialization.
+@@ -1042,6 +1044,7 @@ codecvt::d
+ }
+ #endif // _GLIBCXX_USE_CHAR8_T
+
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ // Define members of codecvt_utf8 base class implementation.
+ // Converts from UTF-8 to UCS-2.
+
+@@ -1791,11 +1794,14 @@ __codecvt_utf8_utf16_base::do_m
+ return max;
+ }
+ #endif
++#endif
+
+ inline template class __codecvt_abstract_base;
+ inline template class __codecvt_abstract_base;
++#ifndef _GLIBCXX_NONSHARED_CXX11_80
+ template class codecvt_byname;
+ template class codecvt_byname;
++#endif
+
+ #if defined(_GLIBCXX_USE_CHAR8_T)
+ inline template class __codecvt_abstract_base;
+--- libstdc++-v3/src/c++11/ios.cc.jj 2024-04-26 11:47:04.128142704 +0200
++++ libstdc++-v3/src/c++11/ios.cc 2024-07-18 16:10:38.342406545 +0200
+@@ -33,6 +33,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
++#ifndef _GLIBCXX_NONSHARED_CXX11
+ // Definitions for static const members of ios_base.
+ const ios_base::fmtflags ios_base::boolalpha;
+ const ios_base::fmtflags ios_base::dec;
+@@ -184,6 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ }
+ _M_callbacks = 0;
+ }
++#endif
+
+ void
+ ios_base::_M_move(ios_base& __rhs) noexcept
+--- libstdc++-v3/configure.ac.jj 2024-04-26 11:47:03.733148179 +0200
++++ libstdc++-v3/configure.ac 2024-07-18 16:10:38.342406545 +0200
+@@ -685,6 +685,11 @@ GLIBCXX_EXPORT_FLAGS
+ # Determine what GCC version number to use in filesystem paths.
+ GCC_BASE_VER
+
++CCAS='$(CXX)'
++CCASFLAGS='$(CXXFLAGS)'
++AC_SUBST(CCAS)
++AC_SUBST(CCASFLAGS)
++
+ dnl In autoconf 2.5x, AC_OUTPUT is replaced by four AC_CONFIG_* macros,
+ dnl which can all be called multiple times as needed, plus one (different)
+ dnl AC_OUTPUT macro. This one lists the files to be created:
+--- libstdc++-v3/configure.jj 2024-04-26 11:47:03.733148179 +0200
++++ libstdc++-v3/configure 2024-07-18 18:10:09.859695396 +0200
+@@ -633,6 +633,8 @@ ac_subst_vars='am__EXEEXT_FALSE
+ am__EXEEXT_TRUE
+ LTLIBOBJS
+ LIBOBJS
++CCASFLAGS
++CCAS
+ get_gcc_base_ver
+ WARN_FLAGS
+ OPTIMIZE_CXXFLAGS
+@@ -5531,7 +5533,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
+ # expandable list at autoconf time; the second provides an expandable list
+ # (i.e., shell variable) at configure time.
+
+- SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/c++23 src/c++26 src/filesystem src/libbacktrace src/experimental doc po testsuite python'
++ SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/c++23 src/c++26 src/nonshared98 src/nonshared11 src/nonshared17 src/nonshared20 src/nonshared23 src/nonshared26 src/filesystem src/libbacktrace src/experimental doc po testsuite python'
+
+ # These need to be absolute paths, yet at the same time need to
+ # canonicalize only relative paths, because then amd will not unmount
+@@ -12280,7 +12282,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12283 "configure"
++#line 12285 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -12386,7 +12388,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12389 "configure"
++#line 12391 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -16182,7 +16184,7 @@ $as_echo "$glibcxx_cv_atomic_long_long"
+ # Fake what AC_TRY_COMPILE does.
+
+ cat > conftest.$ac_ext << EOF
+-#line 16185 "configure"
++#line 16187 "configure"
+ int main()
+ {
+ typedef bool atomic_type;
+@@ -16217,7 +16219,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6;
+ rm -f conftest*
+
+ cat > conftest.$ac_ext << EOF
+-#line 16220 "configure"
++#line 16222 "configure"
+ int main()
+ {
+ typedef short atomic_type;
+@@ -16252,7 +16254,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6;
+ rm -f conftest*
+
+ cat > conftest.$ac_ext << EOF
+-#line 16255 "configure"
++#line 16257 "configure"
+ int main()
+ {
+ // NB: _Atomic_word not necessarily int.
+@@ -16288,7 +16290,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
+ rm -f conftest*
+
+ cat > conftest.$ac_ext << EOF
+-#line 16291 "configure"
++#line 16293 "configure"
+ int main()
+ {
+ typedef long long atomic_type;
+@@ -16444,7 +16446,7 @@ $as_echo "mutex" >&6; }
+ # unnecessary for this test.
+
+ cat > conftest.$ac_ext << EOF
+-#line 16447 "configure"
++#line 16449 "configure"
+ int main()
+ {
+ _Decimal32 d1;
+@@ -16486,7 +16488,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ # unnecessary for this test.
+
+ cat > conftest.$ac_ext << EOF
+-#line 16489 "configure"
++#line 16491 "configure"
+ template