From 1cf16bd739d266adc6e864c85300d3a93dd97ed3 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Fri, 28 Apr 2023 13:11:52 -0400 Subject: [PATCH] 13.1.1-1 Update from releases/gcc-13 branch Resolves: #2188499 --- ...erve-n-semantics-are-not-available-i.patch | 85 + ...-char-N-eofbit-fixes-are-not-availab.patch | 46 + ...r-PR-libstdc-79820-and-PR-libstdc-81.patch | 53 + ..._facet-codecvt_c16-when-run-against-.patch | 118 + ...estsuite-build-plugins-with-std-c-11.patch | 42 + ...cale-cons-unicode.cc-when-run-under-.patch | 36 + ...eption-handling-in-basic_filebuf-clo.patch | 30 + ...use-it-to-fix-22_locale-messages-136.patch | 117 + 0012-dts.exp-use-usr-bin-gcc.patch | 28 + ...IB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch | 86 + ...ests-for-PR-libstdc-98466-on-__LIBST.patch | 84 + ...est-for-PR-libstdc-87135-on-__LIBSTD.patch | 41 + ...est-for-hashtable-bucket-sizes-on-__.patch | 102 + ...est-for-PR-libstdc-71181-on-__LIBSTD.patch | 33 + 0018-Use-CXX11-ABI.patch | 26 + 0019-xfails.patch | 16 + 0020-more-fixes.patch | 12 + 0021-libstdc++-disable-tests.patch | 424 + 0022-libstdc++-revert-behavior.patch | 72 + gating.yaml | 6 + gcc.spec | 3133 ++++ gcc13-Wno-format-security.patch | 62 + gcc13-d-shared-libphobos.patch | 20 + gcc13-dg-ice-fixes.patch | 44 + gcc13-fortran-fdec-duplicates.patch | 215 + gcc13-fortran-fdec-non-logical-if.patch | 378 + gcc13-fortran-fdec-override-kind.patch | 588 + gcc13-fortran-flogical-as-integer.patch | 305 + gcc13-hack.patch | 126 + gcc13-isl-dl.patch | 716 + gcc13-isl-dl2.patch | 71 + gcc13-libgfortran-compat.patch | 671 + gcc13-libgomp-omp_h-multilib.patch | 17 + gcc13-libstdc++-compat.patch | 14208 ++++++++++++++++ gcc13-libstdc++-docs.patch | 24 + gcc13-libtool-no-rpath.patch | 27 + gcc13-no-add-needed.patch | 37 + gcc13-rh1574936.patch | 21 + gcc13-sparc-config-detection.patch | 40 + isl-rh2155127.patch | 85 + libgomp_nonshared.c | 188 + sources | 4 + 42 files changed, 22437 insertions(+) create mode 100644 0001-basic_string-reserve-n-semantics-are-not-available-i.patch create mode 100644 0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch create mode 100644 0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch create mode 100644 0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch create mode 100644 0008-testsuite-build-plugins-with-std-c-11.patch create mode 100644 0009-Fix-22_locale-locale-cons-unicode.cc-when-run-under-.patch create mode 100644 0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch create mode 100644 0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch create mode 100644 0012-dts.exp-use-usr-bin-gcc.patch create mode 100644 0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch create mode 100644 0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch create mode 100644 0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch create mode 100644 0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch create mode 100644 0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch create mode 100644 0018-Use-CXX11-ABI.patch create mode 100644 0019-xfails.patch create mode 100644 0020-more-fixes.patch create mode 100644 0021-libstdc++-disable-tests.patch create mode 100644 0022-libstdc++-revert-behavior.patch create mode 100644 gating.yaml create mode 100644 gcc.spec create mode 100644 gcc13-Wno-format-security.patch create mode 100644 gcc13-d-shared-libphobos.patch create mode 100644 gcc13-dg-ice-fixes.patch create mode 100644 gcc13-fortran-fdec-duplicates.patch create mode 100644 gcc13-fortran-fdec-non-logical-if.patch create mode 100644 gcc13-fortran-fdec-override-kind.patch create mode 100644 gcc13-fortran-flogical-as-integer.patch create mode 100644 gcc13-hack.patch create mode 100644 gcc13-isl-dl.patch create mode 100644 gcc13-isl-dl2.patch create mode 100644 gcc13-libgfortran-compat.patch create mode 100644 gcc13-libgomp-omp_h-multilib.patch create mode 100644 gcc13-libstdc++-compat.patch create mode 100644 gcc13-libstdc++-docs.patch create mode 100644 gcc13-libtool-no-rpath.patch create mode 100644 gcc13-no-add-needed.patch create mode 100644 gcc13-rh1574936.patch create mode 100644 gcc13-sparc-config-detection.patch create mode 100644 isl-rh2155127.patch create mode 100644 libgomp_nonshared.c create mode 100644 sources 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 0000000..7031726 --- /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 0000000..264745b --- /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 0000000..0641e85 --- /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 0000000..dcabb08 --- /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 0000000..f97bad3 --- /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/0009-Fix-22_locale-locale-cons-unicode.cc-when-run-under-.patch b/0009-Fix-22_locale-locale-cons-unicode.cc-when-run-under-.patch new file mode 100644 index 0000000..a540702 --- /dev/null +++ b/0009-Fix-22_locale-locale-cons-unicode.cc-when-run-under-.patch @@ -0,0 +1,36 @@ +From 87e2a4f28b444f376ebe15f38e2743eb952ff355 Mon Sep 17 00:00:00 2001 +From: David Malcolm +Date: Wed, 1 Sep 2021 11:02:53 -0400 +Subject: [PATCH 09/17] Fix 22_locale/locale/cons/unicode.cc when run under DTS + +Various has_facet calls return false in DTS, as DTS is using the +std::locale from the system libstdc++. + +Hence this patch tweaks tests to remove the VERIFY from the result of +the call, so that they do not fail if run against an older +std::locale. + +These VERIFY tests were added upstream 2015-01-16 in + https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=bb93f35da1612940266f5d159b6cc5a3e54fca14 +--- + libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc +index 15c621099..328145094 100644 +--- a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc ++++ b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc +@@ -70,8 +70,8 @@ void test01() + VERIFY( has_facet(loc13) ); + #endif + #ifdef _GLIBCXX_USE_C99_STDINT_TR1 +- VERIFY( has_facet(loc13) ); +- VERIFY( has_facet(loc13) ); ++ (void)( has_facet(loc13) ); ++ (void)( has_facet(loc13) ); + #ifdef _GLIBCXX_USE_CHAR8_T + VERIFY( has_facet(loc13) ); + VERIFY( has_facet(loc13) ); +-- +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 0000000..9e16d2e --- /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 0000000..7d28f1e --- /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 0000000..129ef2d --- /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 0000000..52f160d --- /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 0000000..0da5b14 --- /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 0000000..087b20e --- /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 0000000..213a6f5 --- /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 0000000..d18de1d --- /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 0000000..1e60ce1 --- /dev/null +++ b/0018-Use-CXX11-ABI.patch @@ -0,0 +1,26 @@ +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/gcc/testsuite/g++.dg/torture/pr106922.C b/gcc/testsuite/g++.dg/torture/pr106922.C +index 046fc6cce76..4214a31f276 100644 +--- a/gcc/testsuite/g++.dg/torture/pr106922.C ++++ b/gcc/testsuite/g++.dg/torture/pr106922.C +@@ -4,6 +4,8 @@ + // -O1 doesn't iterate VN and thus has bogus uninit diagnostics + // { dg-skip-if "" { *-*-* } { "-O1" } { "" } } + ++#define _GLIBCXX_USE_CXX11_ABI 1 ++ + #include + + #include diff --git a/0019-xfails.patch b/0019-xfails.patch new file mode 100644 index 0000000..e7c1ba8 --- /dev/null +++ b/0019-xfails.patch @@ -0,0 +1,16 @@ +Looks like a known fail: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101674 + +diff --git a/gcc/testsuite/gcc.dg/uninit-pred-9_b.c b/gcc/testsuite/gcc.dg/uninit-pred-9_b.c +index 53c4a5399ea..c2b043f5019 100644 +--- a/gcc/testsuite/gcc.dg/uninit-pred-9_b.c ++++ b/gcc/testsuite/gcc.dg/uninit-pred-9_b.c +@@ -17,7 +17,7 @@ int foo (int n, int l, int m, int r) + + if (l > 100) + if ( (n <= 9) && (m < 100) && (r < 19) ) +- blah(v); /* { dg-bogus "uninitialized" "bogus warning" { xfail powerpc64*-*-* cris-*-* riscv*-*-* } } */ ++ blah(v); /* { dg-bogus "uninitialized" "bogus warning" { xfail powerpc64*-*-* cris-*-* riscv*-*-* s390*-*-* } } */ + + if ( (n <= 8) && (m < 99) && (r < 19) ) + blah(v); /* { dg-bogus "uninitialized" "pr101674" { xfail mmix-*-* } } */ diff --git a/0020-more-fixes.patch b/0020-more-fixes.patch new file mode 100644 index 0000000..2dd02c7 --- /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 0000000..3416e48 --- /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/0022-libstdc++-revert-behavior.patch b/0022-libstdc++-revert-behavior.patch new file mode 100644 index 0000000..797894c --- /dev/null +++ b/0022-libstdc++-revert-behavior.patch @@ -0,0 +1,72 @@ +diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc +index fa740b42b88..5d808ee51ee 100644 +--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc ++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc +@@ -39,14 +39,14 @@ void test01() + const ios_base::iostate good = ios_base::goodbit; + ios_base::iostate errorstate = good; + +- iss.str("62/04/71"); ++ iss.str("60/04/71"); + iterator_type is_it01(iss); + tm time01; + errorstate = good; + iterator_type ret01 = tim_get.get_date(is_it01, end, iss, errorstate, + &time01); + VERIFY( errorstate == ios_base::failbit ); +- VERIFY( *ret01 == '2' ); ++ VERIFY( *ret01 == '6' ); + + iss.str("04/38/71"); + iterator_type is_it02(iss); +diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc +index 07f4c369e58..c975c8523d8 100644 +--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc ++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc +@@ -40,14 +40,14 @@ void test01() + const ios_base::iostate good = ios_base::goodbit; + ios_base::iostate errorstate = good; + +- iss.str(L"62/04/71"); ++ iss.str(L"60/04/71"); + iterator_type is_it01(iss); + tm time01; + errorstate = good; + iterator_type ret01 = tim_get.get_date(is_it01, end, iss, errorstate, + &time01); + VERIFY( errorstate == ios_base::failbit ); +- VERIFY( *ret01 == L'2' ); ++ VERIFY( *ret01 == L'6' ); + + iss.str(L"04/38/71"); + iterator_type is_it02(iss); +diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc +index e6f53de4a55..c9d9896a6c0 100644 +--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc ++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc +@@ -76,8 +76,8 @@ void test01() + errorstate = good; + iterator_type ret03 = tim_get.get_year(is_it03, end, iss, errorstate, + &time03); +- VERIFY( time03.tm_year == 197 - 1900 ); +- VERIFY( errorstate == good ); ++ VERIFY( time03.tm_year == 3 ); ++ VERIFY( errorstate == ios_base::failbit ); + VERIFY( *ret03 == 'd' ); + + iss.str("71d71"); +diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc +index ba95fb91520..e17712098f4 100644 +--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc ++++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc +@@ -76,8 +76,8 @@ void test01() + errorstate = good; + iterator_type ret03 = tim_get.get_year(is_it03, end, iss, errorstate, + &time03); +- VERIFY( time03.tm_year == 197 - 1900 ); +- VERIFY( errorstate == good ); ++ VERIFY( time03.tm_year == 3 ); ++ VERIFY( errorstate == ios_base::failbit ); + VERIFY( *ret03 == L'd' ); + + iss.str(L"71d71"); diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..eb7c84f --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/gcc.spec b/gcc.spec new file mode 100644 index 0000000..56a2afc --- /dev/null +++ b/gcc.spec @@ -0,0 +1,3133 @@ +%{?scl:%global __strip %%{_scl_root}/usr/bin/strip} +%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump} +%{?scl_package:%global scl gcc-toolset-13} +%global scl_prefix gcc-toolset-13- +BuildRequires: scl-utils-build +%global __python /usr/bin/python3 +%{?scl:%scl_package gcc} +%global DATE 20230426 +%global gitrev 99aa4c60d1f6a96b09f65b669d44bbab206f0a75 +%global gcc_version 13.1.1 +%global gcc_major 13 +# 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 93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b +%global newlib_cygwin_gitrev 9e09d6ed83cce4777a5950412647ccc603040409 +%global mpc_version 1.0.3 +%global isl_version 0.24 +%global mpfr_version 3.1.4 +%global gmp_version 6.1.0 +%global doxygen_version 1.8.0 +%global _unpackaged_files_terminate_build 0 +%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +# Until annobin is fixed (#1519165). +%undefine _annotated_build +%endif +# 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 +%if 0%{?fedora} < 32 && 0%{?rhel} < 8 +%global multilib_64_archs sparc64 ppc64 ppc64p7 x86_64 +%else +%global multilib_64_archs sparc64 ppc64 ppc64p7 x86_64 +%endif +%if 0%{?rhel} > 7 +%global build_ada 0 +%global build_objc 0 +%global build_go 0 +%global build_d 0 +%global build_m2 0 +%else +%ifarch %{ix86} x86_64 ia64 ppc %{power64} alpha s390x %{arm} aarch64 riscv64 +%global build_ada 0 +%else +%global build_ada 0 +%endif +%global build_objc 0 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64 +%global build_go 0 +%else +%global build_go 0 +%endif +%ifarch %{ix86} x86_64 %{arm} aarch64 %{mips} s390 s390x riscv64 +%global build_d 1 +%else +%global build_d 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64 +%global build_m2 1 +%else +%global build_m2 0 +%endif +%endif +# Only so that rpmbuild doesn't complain on Fedora. +%if 0%{?fedora} > 18 +%global build_libquadmath 0 +%endif +%global build_libitm 0 +%ifarch %{ix86} x86_64 ia64 ppc ppc64 ppc64le +%global build_libquadmath 1 +%else +%global build_libquadmath 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 +%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 +%global build_libtsan 1 +%else +%global build_libtsan 0 +%endif +%ifarch x86_64 ppc64 ppc64le aarch64 s390x +%global build_liblsan 1 +%else +%global build_liblsan 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 +%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 +%global build_libitm 1 +%else +%global build_libitm 0 +%endif +%if 0%{?rhel} > 8 +%global build_isl 0 +%else +%global build_isl 1 +%endif +%global build_libstdcxx_docs 1 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} +%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 +%if 0%{?fedora} < 32 && 0%{?rhel} < 8 +%ifarch s390x +%global multilib_32_arch s390 +%endif +%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 +%if 0%{?fedora} >= 36 || 0%{?rhel} >= 8 +%global build_annobin_plugin 1 +%else +%global build_annobin_plugin 0 +%endif +Summary: GCC version 13 +Name: %{?scl_prefix}gcc +Version: %{gcc_version} +Release: %{gcc_release}%{?dist} +# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have +# GCC Runtime Exception. +License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD +# 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 commands to generate the tarball: +# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp +# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev} +# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz +# rm -rf gcc-dir.tmp +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 git://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 +Source6: libgomp_nonshared.c +#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 +%if 0%{?scl:1} +BuildRequires: %{?scl_prefix}binutils >= 2.31 +BuildRequires: %{?scl_prefix}gdb >= 7.4.50 +%endif +# 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 +%if 0%{?rhel} == 7 +BuildRequires: python3 +%endif +# For VTA guality testing +BuildRequires: gdb +# 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 +%if 0%{?rhel} >= 8 +BuildRequires: libzstd-devel +%endif +%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} sparcv9 ppc +# 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 +%if 0%{?rhel} == 7 +ExclusiveArch: x86_64 +%endif + +Patch0: gcc13-hack.patch +Patch2: gcc13-sparc-config-detection.patch +Patch3: gcc13-libgomp-omp_h-multilib.patch +Patch4: gcc13-libtool-no-rpath.patch +Patch5: gcc13-isl-dl.patch +Patch6: gcc13-isl-dl2.patch +Patch7: gcc13-libstdc++-docs.patch +Patch8: gcc13-no-add-needed.patch +Patch9: gcc13-Wno-format-security.patch +Patch10: gcc13-rh1574936.patch +Patch11: gcc13-d-shared-libphobos.patch + +Patch50: isl-rh2155127.patch + +Patch100: gcc13-fortran-fdec-duplicates.patch +Patch101: gcc13-fortran-flogical-as-integer.patch +Patch102: gcc13-fortran-fdec-override-kind.patch +Patch103: gcc13-fortran-fdec-non-logical-if.patch + +Patch1000: gcc13-libstdc++-compat.patch +Patch1001: gcc13-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 +Patch3005: 0009-Fix-22_locale-locale-cons-unicode.cc-when-run-under-.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: gcc13-dg-ice-fixes.patch +Patch3015: 0018-Use-CXX11-ABI.patch +Patch3016: 0019-xfails.patch +Patch3017: 0020-more-fixes.patch +Patch3018: 0021-libstdc++-disable-tests.patch +Patch3019: 0022-libstdc++-revert-behavior.patch + +%if 0%{?rhel} == 9 +%global nonsharedver 110 +%endif +%if 0%{?rhel} == 8 +%global nonsharedver 80 +%endif +%if 0%{?rhel} == 7 +%global nonsharedver 48 +%endif +%if 0%{?rhel} == 6 +%global nonsharedver 44 +%endif + +%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%{!?scl:13} package contains the GNU Compiler Collection version 10. + +%package -n libgcc +Summary: GCC version 13 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 13 +Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release} +Requires: libstdc++ +Requires: %{?scl_prefix}libstdc++%{!?scl:13}-devel = %{version}-%{release} +Autoreq: true + +%description c++ +This package adds C++ support to the GNU Compiler Collection +version 13. 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++%{!?scl:13}-devel +Summary: Header files and libraries for C++ development +Requires: libstdc++%{?_isa} +Autoreq: true + +%description -n %{?scl_prefix}libstdc++%{!?scl:13}-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 13 +Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release} +%if 0%{?rhel} > 7 +Requires: libgfortran >= 8.1.1 +%else +Requires: libgfortran5 >= 8.1.1 +%endif +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%{!?scl:13}-gfortran package provides support for compiling Fortran +programs with the GNU Compiler Collection. + + +%package gdb-plugin +Summary: GCC 13 plugin for GDB +Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release} + +%description gdb-plugin +This package contains GCC 13 plugin for GDB C expression evaluation. + +%package -n %{?scl_prefix}libgccjit +Summary: Library for embedding GCC inside programs and libraries +Requires: %{?scl_prefix}gcc%{!?scl:13} = %{version}-%{release} + +%description -n %{?scl_prefix}libgccjit +This package contains shared library with GCC 13 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} +Requires: %{?scl_prefix}libgccjit-docs = %{version}-%{release} + +%description -n %{?scl_prefix}libgccjit-devel +This package contains header files for GCC 13 JIT front end. + +%package -n %{?scl_prefix}libgccjit-docs +Summary: Documentation for embedding GCC inside programs and libraries +Group: Development/Libraries +%if 0%{?rhel} > 7 +BuildRequires: python3-sphinx +%else +BuildRequires: python-sphinx +%endif +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n %{?scl_prefix}libgccjit-docs +This package contains documentation for GCC 13 JIT front-end. + +%package -n libquadmath +Summary: GCC 13 __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 13 __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%{!?scl:13} = %{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%{!?scl:13} = %{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%{!?scl:13} = %{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 13 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 13 +Group: System Environment/Libraries +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n libasan8 +This package contains the Address Sanitizer library from GCC 13 +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 libtsan2 +Summary: The Thread Sanitizer runtime library +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%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 +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%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 +%if 0%{?rhel} > 7 +Requires: libubsan%{_isa} >= 8.3.1 +Obsoletes: libubsan1 <= 8.3.1 +%else +Requires: libubsan1%{_isa} >= 8.3.1 +%endif + +%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 +%patch0 -p0 -b .hack~ +%patch2 -p0 -b .sparc-config-detection~ +%patch3 -p0 -b .libgomp-omp_h-multilib~ +%patch4 -p0 -b .libtool-no-rpath~ +%if %{build_isl} +%patch5 -p0 -b .isl-dl~ +%patch6 -p0 -b .isl-dl2~ +%endif +%if %{build_libstdcxx_docs} +%patch7 -p0 -b .libstdc++-docs~ +%endif +%patch8 -p0 -b .no-add-needed~ +%patch9 -p0 -b .Wno-format-security~ +%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 +%patch10 -p0 -b .rh1574936~ +%endif +%patch11 -p0 -b .d-shared-libphobos~ + +%if 0%{?rhel} >= 6 +%patch100 -p1 -b .fortran-fdec-duplicates~ +%patch101 -p1 -b .fortran-flogical-as-integer~ +%patch102 -p1 -b .fortran-fdec-override-kind~ +%patch103 -p1 -b .fortran-fdec-non-logical-if~ +%endif + +%ifarch %{arm} +rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go +%endif +%if 0%{?rhel} <= 8 +# Requires pthread_cond_clockwait, only present in glibc 2.30. +rm -f gcc/testsuite/g++.dg/tsan/pthread_cond_clockwait.C +%endif +rm -f libphobos/testsuite/libphobos.gc/forkgc2.d +#rm -rf libphobos/testsuite/libphobos.gc + +# TODO don't have this yet +#%patch1000 -p0 -b .libstdc++-compat~ +#%patch1001 -p0 -b .libgfortran-compat~ + +%if %{build_isl} +%patch50 -p0 -b .isl-rh2155127~ +%endif + +# Apply DTS-specific testsuite patches. +%patch3000 -p1 -b .dts-test-0~ +%patch3001 -p1 -b .dts-test-1~ +%patch3002 -p1 -b .dts-test-2~ +%patch3003 -p1 -b .dts-test-3~ +%patch3004 -p1 -b .dts-test-4~ +%patch3005 -p1 -b .dts-test-5~ +%patch3006 -p1 -b .dts-test-6~ +%patch3007 -p1 -b .dts-test-7~ +%patch3008 -p1 -b .dts-test-8~ +%patch3009 -p1 -b .dts-test-9~ +%patch3010 -p1 -b .dts-test-10~ +%patch3011 -p1 -b .dts-test-11~ +%patch3012 -p1 -b .dts-test-12~ +%patch3013 -p1 -b .dts-test-13~ +%patch3014 -p1 -b .dts-test-14~ +%patch3015 -p1 -b .dts-test-15~ +%patch3016 -p1 -b .dts-test-16~ +%patch3017 -p1 -b .dts-test-17~ +%patch3018 -p1 -b .dts-test-18~ +%if 0%{?rhel} <= 7 +%patch3019 -p1 -b .dts-test-19~ +%endif + +find gcc/testsuite -name \*.pr96939~ | xargs rm -f + +echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE + +%if 0%{?rhel} <= 8 +# Default to -gdwarf-4 rather than -gdwarf-5 +sed -i '/UInteger Var(dwarf_version)/s/Init(5)/Init(4)/' gcc/common.opt +sed -i 's/\(version for most targets is \)5 /\14 /' gcc/doc/invoke.texi +%endif + +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 '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 +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\([^-]\)|libgcc13privateisl\1|g' \ + ../../isl-%{isl_version}/Makefile.{am,in} +# Prevent regenerating aclocal.m4 and other configure files, because we don't +# want to require aclocal-1.16 and similar. isl-rh2155127.patch modifies +# 'configure' so the Makefile would attempt to regenerate various files. +# See . +touch ../../isl-%{isl_version}/{m4/*,aclocal.m4,Makefile.in,configure,isl_config.h.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} +make install +cd ../isl-install/lib +rm libgcc13privateisl.so{,.23} +mv libgcc13privateisl.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 +%if 0%{?rhel} == 8 +%ifnarch %{ix86} x86_64 +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} +%endif +%else +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} +%endif + +# 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=%{_datadir}/zoneinfo \ +%ifnarch %{mips} + --with-linker-hash-style=gnu \ +%endif +%if 0%{?rhel} <= 7 + --with-default-libstdcxx-abi=gcc4-compatible \ +%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 0%{?fedora} >= 21 || 0%{?rhel} >= 7 +%if %{attr_ifunc} + --enable-gnu-indirect-function \ +%endif +%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 +%if 0%{?rhel} >= 7 + --with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \ +%endif +%if 0%{?rhel} == 6 + --with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \ +%endif +%endif +%ifarch ppc64le +%if 0%{?rhel} >= 9 + --with-cpu-32=power9 --with-tune-32=power9 --with-cpu-64=power9 --with-tune-64=power9 \ +%else + --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \ +%endif +%endif +%ifarch ppc + --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32 +%endif +%ifarch %{ix86} x86_64 +%if 0%{?rhel} >= 8 + --enable-cet \ +%endif + --with-tune=generic \ +%endif +%if 0%{?rhel} >= 7 +%ifarch %{ix86} + --with-arch=x86-64 \ +%endif +%ifarch x86_64 +%if 0%{?rhel} > 8 + --with-arch_64=x86-64-v2 \ +%endif + --with-arch_32=x86-64 \ +%endif +%else +%ifarch %{ix86} + --with-arch=i686 \ +%endif +%ifarch x86_64 + --with-arch_32=i686 \ +%endif +%endif +%ifarch s390 s390x +%if 0%{?rhel} >= 7 +%if 0%{?rhel} > 7 +%if 0%{?rhel} > 8 +%if 0%{?rhel} >= 9 + --with-arch=z14 --with-tune=z15 \ +%else + --with-arch=z13 --with-tune=arch13 \ +%endif +%else + --with-arch=z13 --with-tune=z14 \ +%endif +%else + --with-arch=z196 --with-tune=zEC12 \ +%endif +%else +%if 0%{?fedora} >= 38 + --with-arch=z13 --with-tune=z14 \ +%else +%if 0%{?fedora} >= 26 + --with-arch=zEC12 --with-tune=z13 \ +%else + --with-arch=z9-109 --with-tune=z10 \ +%endif +%endif +%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 +%if 0%{?fedora} >= 35 || 0%{?rhel} >= 9 +%ifnarch %{arm} + --with-build-config=bootstrap-lto --enable-link-serialization=1 \ +%endif +%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 + +# 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 + +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 +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,libcc1,libatomic,libsanitizer} + +for i in {gcc,gcc/cp,gcc/jit,libstdc++-v3,libgomp,libcc1,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 +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 +%if 0%{?rhel} <= 7 + # Force the old ABI unconditionally, the new one does not work in the + # libstdc++_nonshared.a model against RHEL 6/7 libstdc++.so.6. + sed -i -e 's/\(define[[:blank:]]*_GLIBCXX_USE_DUAL_ABI[[:blank:]]*\)1/\10/' $f +%endif +done + +# Nuke bits/*.h.gch dirs +# 1) there is no bits/*.h header installed, so when gch file can't be +# used, compilation fails +# 2) sometimes it is hard to match the exact options used for building +# libstdc++-v3 or they aren't desirable +# 3) there are multilib issues, conflicts etc. with this +# 4) 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 + +%if 0%{?rhel} <= 7 +# Build libgomp_nonshared.a with the system compiler. Use -O2 to +# get tailcalls. +gcc %{SOURCE6} -O2 -c +ar rcs libgomp_nonshared.a libgomp_nonshared.o +cp -a libgomp_nonshared.a $FULLLPATH +%ifarch x86_64 +# Only need this for -m32 on x86_64. devtoolset-N-gcc isn't multilib, +# and we don't have a devtoolset-N-libgomp-devel subpackage. +gcc %{SOURCE6} -O2 -c -m32 -o libgomp_nonshared32.o +ar rcs libgomp_nonshared32.a libgomp_nonshared32.o +cp -a libgomp_nonshared32.a $FULLLPATH/32/libgomp_nonshared.a +%endif +%endif + +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/} +%if 0%{?rhel} <= 7 + %{__python} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' + %{__python} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' +%else + %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' + %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' +%endif +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 +%if 0%{?rhel} <= 7 +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 -lgomp_nonshared )' > libgomp.so +%else +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so +%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 )' > 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_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_libtsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan_preinit.o $FULLPATH/ +%endif +%if %{build_libubsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/ +%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 +%if 0%{?rhel} >= 7 +INPUT ( %{_root_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so +%else +INPUT ( libquadmath.a )' > 64/libquadmath.so +%endif +%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 + +%if 0%{?rhel} <= 7 +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 -lgomp_nonshared )' > 32/libgomp.so +%else +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 )' > 32/libgomp.so +%endif + +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 +%if 0%{?rhel} >= 7 +INPUT ( %{_root_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so +%else +INPUT ( libquadmath.a )' > 32/libquadmath.so +%endif +%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 +ln -sf lib64/libgomp_nonshared.a libgomp_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 -ne $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 libcc1.a \ + -o -name libstdc++_nonshared.a \ + -o -name libgomp_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 \ + -o -name libcc1.a \) -a -type f` +popd +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.* +%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} +%if 0%{?rhel} <= 7 +mv %{buildroot}%{_infodir}/libitm.info* %{buildroot}%{_root_infodir}/ +%endif +%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_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 + +mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h +mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h +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/{f95,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 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++ \ +%if 0%{?fedora} >= 20 || 0%{?rhel} > 7 + RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || : +%else +%ifnarch ppc ppc64 ppc64le s390x + RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || : +%else + || : +%endif +%endif +( 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 +%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 +%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 0%{?rhel} <= 7 +%ifnarch ppc +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp_nonshared.a +%endif +%endif +%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 + +# Add libgomp_nonshared.a +%if 0%{?rhel} <= 7 +%ifarch x86_64 +# Need it for -m32. +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp_nonshared.a +%endif +%ifarch ppc64 +# We've created a symlink to lib64/libgomp_nonshared.a, so add it. +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgomp_nonshared.a +%endif +%endif + +%{_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_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++%{!?scl:13}-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 +%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* 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* 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* 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* 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 + +%files -n %{?scl_prefix}libgccjit-docs +%{_infodir}/libgccjit.info* +%doc rpm.doc/libgccjit-devel/* +%doc gcc/jit/docs/examples + +%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 +* Thu Apr 27 2023 Marek Polacek 13.1.1-1 +- update from releases/gcc-13 branch (#2188499) + - GCC 13.1 release + - PRs c/107041, target/109566 + +* Fri Feb 10 2023 Marek Polacek 12.2.1-7.4 +- avoid fma_chain for -march=alderlake and sapphirerapids (#2168919) + +* Wed Jan 25 2023 Marek Polacek 12.2.1-7.3 +- provide libexec/ symlinks on all RHELs (#2164262) + +* Wed Jan 11 2023 Marek Polacek 12.2.1-7.2 +- build libisl.so with -g (#2154936) + +* Tue Dec 20 2022 Marek Polacek 12.2.1-6.1 +- apply an ISL patch (#2154936) + +* Wed Dec 14 2022 Nick Clifton 12.2.1-6 +- Fixed run-time requirement for annobin plugin. (#2151927) + +* Tue Dec 13 2022 Nick Clifton 12.2.1-5 +- Build the annobin plugin. Call it gts-gcc-annobin.so. (#2151927) + +* Wed Nov 30 2022 Marek Polacek 12.2.1-4 +- update from releases/gcc-12 branch (#2110583) +- fix up std::from_chars behavior in rounding modes other than FE_TONEAREST + (PR libstdc++/107468) + +* Wed Nov 30 2022 Marek Polacek 12.1.1-3.4 +- fix pr86731-fwrapv-longlong.c (#2134379) + +* Wed Nov 30 2022 Marek Polacek 12.1.1-3.3 +- add -static-libquadmath (#2131082) + +* Fri Jul 8 2022 Marek Polacek 12.1.1-3.2 +- recognize PLUS and XOR forms of rldimi (PR target/105991, #2095789) + +* Fri Jul 8 2022 Marek Polacek 12.1.1-3.1 +- always ship liblsan on s390x (#2104824) + +* Wed Jul 6 2022 Marek Polacek 12.1.1-3 +- update from releases/gcc-12 branch + - PRs c++/49387, c++/102307, c++/102651, c++/104470, c++/105491, c++/105589, + c++/105623, c++/105652, c++/105655, c++/105725, c++/105734, + c++/105756, c++/105761, c++/105779, c++/105795, c++/105852, + c++/105871, c++/105885, c++/105908, c++/105925, c++/105931, + c++/105964, c++/106001, c/105635, d/105544, fortran/105230, + gcov-profile/105535, ipa/100413, ipa/105600, ipa/105639, ipa/105739, + libgomp/105745, libgomp/106045, libstdc++/104731, libstdc++/105284, + libstdc++/105671, libstdc++/105681, middle-end/105537, + middle-end/105604, middle-end/105711, middle-end/105951, + middle-end/105998, middle-end/106030, other/105527, + preprocessor/105732, rtl-optimization/105455, rtl-optimization/105559, + rtl-optimization/105577, sanitizer/105714, sanitizer/105729, + target/101891, target/104871, target/105162, target/105209, + target/105292, target/105472, target/105556, target/105599, + target/105854, target/105879, target/105953, target/105960, + target/105970, target/105981, target/106096, tree-optimization/103116, + tree-optimization/105431, tree-optimization/105458, + tree-optimization/105528, tree-optimization/105562, + tree-optimization/105618, tree-optimization/105726, + tree-optimization/105736, tree-optimization/105786, + tree-optimization/105940 +- enable tsan and lsan on s390x (#2101610) +- fix up libtsan on s390x +- fix nvptx build (PRs bootstrap/105551, target/105938) + +* Tue Jun 28 2022 Marek Polacek 12.1.1-1.6 +- ship lto-dump (#2101835) + +* Fri Jun 24 2022 Marek Polacek 12.1.1-1.5 +- use gcc-toolset-12-binutils + +* Wed Jun 22 2022 Marek Polacek 12.1.1-1.4 +- don't provide g++/fortran (CS-1145) + +* Fri Jun 17 2022 Marek Polacek 12.1.1-1.3 +- require system binutils + +* Wed Jun 1 2022 Marek Polacek 12.1.1-1.2 +- don't skip testing on s390x + +* Tue May 31 2022 Marek Polacek 12.1.1-1.1 +- use GTS 12 binutils +- add missing headers (#2091572) + +* Mon May 16 2022 Marek Polacek 12.1.1-1 +- update to GCC 12 (#2077276) + +* Wed Feb 2 2022 Marek Polacek 11.2.1-9.1 +- avoid overly-greedy match in dejagnu regexp (#2049712) + +* Fri Jan 28 2022 Marek Polacek 11.2.1-9 +- update from releases/gcc-11-branch (#2047286) + - PRs fortran/104127, fortran/104212, fortran/104227, target/101529 +- fix up va-opt-6.c testcase + +* Fri Jan 28 2022 Marek Polacek 11.2.1-8 +- update from releases/gcc-11-branch (#2047286) + - PRs ada/103538, analyzer/101962, bootstrap/103688, c++/85846, c++/95009, + c++/98394, c++/99911, c++/100493, c++/101715, c++/102229, c++/102933, + c++/103012, c++/103198, c++/103480, c++/103703, c++/103714, + c++/103758, c++/103783, c++/103831, c++/103912, c++/104055, c/97548, + c/101289, c/101537, c/103587, c/103881, d/103604, debug/103838, + debug/103874, fortran/67804, fortran/83079, fortran/101329, + fortran/101762, fortran/102332, fortran/102717, fortran/102787, + fortran/103411, fortran/103412, fortran/103418, fortran/103473, + fortran/103505, fortran/103588, fortran/103591, fortran/103606, + fortran/103607, fortran/103609, fortran/103610, fortran/103692, + fortran/103717, fortran/103718, fortran/103719, fortran/103776, + fortran/103777, fortran/103778, fortran/103782, fortran/103789, + ipa/101354, jit/103562, libfortran/103634, libstdc++/100017, + libstdc++/102994, libstdc++/103453, libstdc++/103501, + libstdc++/103549, libstdc++/103877, libstdc++/103919, + middle-end/101751, middle-end/102860, middle-end/103813, objc/103639, + preprocessor/89971, preprocessor/102432, rtl-optimization/102478, + rtl-optimization/103837, rtl-optimization/103860, + rtl-optimization/103908, sanitizer/102911, target/102347, + target/103465, target/103661, target/104172, target/104188, + tree-optimization/101615, tree-optimization/103523, + tree-optimization/103603, tree-optimization/103995 + +* Wed Jan 5 2022 Marek Polacek 11.2.1-7.2 +- fix dg-ice tests (#2037072) + +* Fri Dec 10 2021 Marek Polacek 11.2.1-7.1 +- update Intel Tremont tuning patches (#2014276) +- backport Intel Alderlake tuning (#2023553) + +* Tue Dec 7 2021 Marek Polacek 11.2.1-7 +- update from releases/gcc-11-branch (#1996862) + - PRs ada/100486, c++/70796, c++/92746, c++/93286, c++/94490, c++/102642, + c++/102786, debug/101378, debug/103046, debug/103315, fortran/87711, + fortran/87851, fortran/97896, fortran/99061, fortran/99348, + fortran/102521, fortran/102685, fortran/102715, fortran/102745, + fortran/102816, fortran/102817, fortran/102917, fortran/103137, + fortran/103138, fortran/103392, gcov-profile/100520, ipa/102714, + ipa/102762, ipa/103052, ipa/103246, ipa/103267, libstdc++/96416, + libstdc++/98421, libstdc++/100117, libstdc++/100153, libstdc++/100748, + libstdc++/101571, libstdc++/101608, libstdc++/102894, + libstdc++/103022, libstdc++/103086, libstdc++/103133, + libstdc++/103240, libstdc++/103381, middle-end/64888, + middle-end/101480, middle-end/102431, middle-end/102518, + middle-end/103059, middle-end/103181, middle-end/103248, + middle-end/103384, preprocessor/103130, rtl-optimization/102356, + rtl-optimization/102842, target/101985, target/102976, target/102991, + target/103205, target/103274, target/103275, testsuite/102690, + tree-optimization/100393, tree-optimization/102139, + tree-optimization/102505, tree-optimization/102572, + tree-optimization/102788, tree-optimization/102789, + tree-optimization/102798, tree-optimization/102970, + tree-optimization/103192, tree-optimization/103204, + tree-optimization/103237, tree-optimization/103255, + tree-optimization/103435 +- fix up #__VA_OPT__ handling (PR preprocessor/103415) + +* Wed Nov 17 2021 Marek Polacek 11.2.1-6.3 +- backport Intel Tremont tuning (#2014276) + +* Wed Nov 17 2021 Marek Polacek 11.2.1-6.2 +- drop -Wbidirectional patch, use newer -Wbidi-chars (#2017820) + +* Fri Oct 29 2021 Marek Polacek 11.2.1-6.1 +- add -Wbidirectional patch (#2017820) + +* Tue Oct 26 2021 Marek Polacek 11.2.1-6 +- update from releases/gcc-11-branch (#1996862) + - PRs target/100208, target/100316, target/102761 +- build target shared libraries with -Wl,-z,relro,-z,now +- add mwaitintrin.h on x86 (#2013860) +- improve generated code with extern thread_local constinit vars + with trivial dtors +- add support for C++20 #__VA_OPT__ +- apply DTS-specific testsuite patches (#1996085) + +* Tue Aug 17 2021 Marek Polacek 11.2.1-1.1 +- add .hidden for _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code + +* Wed Jul 28 2021 Marek Polacek 11.2.1-1 +- update from releases/gcc-11-branch (#1986838) + - GCC 11.2 release + - PRs middle-end/101586, rtl-optimization/101562 + +* Thu Jul 1 2021 Marek Polacek 11.1.1-6.1 +- require gcc-toolset-11-binutils at runtime (#1978081) + +* Wed Jun 23 2021 Marek Polacek 11.1.1-6 +- update from Fedora gcc 11.1.1-6 (#1946782) + - PRs c++/100876, c++/100879, c++/101106, c/100619, c/100783, fortran/95501, + fortran/95502, fortran/100283, fortran/101123, inline-asm/100785, + libstdc++/91488, libstdc++/95833, libstdc++/100806, libstdc++/100940, + middle-end/100250, middle-end/100307, middle-end/100574, + middle-end/100684, middle-end/100732, middle-end/100876, + middle-end/101062, middle-end/101167, target/99842, target/99939, + target/100310, target/100777, target/100856, target/100871, + target/101016 + +* Mon Jun 21 2021 Marek Polacek 11.1.1-5 +- update from Fedora gcc 11.1.1-5 (#1946782) +- default to -gdwarf-4 (#1974402) + +* Wed Jun 2 2021 Marek Polacek 11.1.1-3 +- update from Fedora gcc 11.1.1-3 (#1946782) + +* Tue May 25 2021 Marek Polacek 11.1.1-2.1 +- use gcc-toolset-11-binutils + +* Tue May 25 2021 Marek Polacek 11.1.1-2 +- update from Fedora gcc 11.1.1-2 +- fix up mausezahn miscompilation (PR tree-optimization/100566) +- fix build with removed linux/cyclades.h header (PR sanitizer/100379) +- add a few Provides: bundled (#1859893) + +* Tue May 11 2021 Marek Polacek 11.1.1-1 +- update to GCC 11 (#1946782) + +* Mon Apr 26 2021 Marek Polacek 10.3.1-1 +- update from Fedora gcc 10.3.1-1 (#1929382) +- drop gcc10-pr97060.patch +- use --enable-cet +- ship gcc-accel-nvptx-none-lto-dump +- backport PR96939 fixes + +* Tue Mar 16 2021 Marek Polacek 10.2.1-8.2 +- actually use libgfortran_nonshared.a (#1929375) +- have libasan-devel require libasan6 (#1939638) + +* Mon Nov 16 2020 Marek Polacek 10.2.1-8.1 +- apply fix for -flto=auto with missing make (#1896093, PR lto/97524) + +* Thu Nov 12 2020 Marek Polacek 10.2.1-8 +- update from Fedora gcc 10.2.1-8 (#1878887) +- emit DW_AT_declaration on declaration-only DIEs (#1897272, PR debug/97060) +- add BuildRequires: make and Requires: make, the latter for -flto reasons + +* Tue Nov 03 2020 Marek Polacek 10.2.1-7.1 +- adjust some libstdc++_nonshared.a symbol + +* Tue Nov 03 2020 Marek Polacek 10.2.1-7 +- update from Fedora gcc 10.2.1-7 (#1878887) + +* Mon Aug 17 2020 Marek Polacek 10.2.1-2.1 +- re-apply Fortran patches + +* Tue Aug 4 2020 Marek Polacek 10.2.1-2 +- update from Fedora gcc 10.2.1-2 +- emit debug info for C/C++ external function declarations used in the TU + (PR debug/96383) +- discard SHN_UNDEF global symbols from LTO debuginfo (PR lto/96385) +- strip also -flto=auto from optflags + +* Sun Aug 2 2020 Marek Polacek 10.2.1-1.2 +- avoid stack overflow in std::vector (PR libstdc++/94540, #1859670) +- adjust some libstdc++_nonshared.a symbols +- apply gcc10-libgfortran-compat-2.patch + +* Fri Jul 31 2020 Marek Polacek 10.2.1-1.1 +- hide various symbols in libstdc++_nonshared.a + +* Mon Jul 27 2020 Marek Polacek 10.2.1-1 +- GCC 10.2 release +- add symlink to liblto_plugin.so in /usr/lib/bfd-plugins +- disable -flto in %%{optflags}, lto bootstrap will be enabled the GCC way + later +- require MPFR Library version 3.1.0 (or later) + +* Mon Jun 15 2020 Marek Polacek 10.1.1-1.1 +- correct instructions for creation of newlib tarball, filter out sun-rpc + licensed code that is never used during the package build + +* Wed May 20 2020 Marek Polacek 10.1.1-1 +- update to GCC 10.1.0 release + +* Wed May 20 2020 Marek Polacek 9.2.1-2.2 +- new package diff --git a/gcc13-Wno-format-security.patch b/gcc13-Wno-format-security.patch new file mode 100644 index 0000000..4c71dac --- /dev/null +++ b/gcc13-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 2021-12-30 15:12:42.188164847 +0100 ++++ Makefile.tpl 2022-01-07 12:06:12.115550714 +0100 +@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@ + LIBCFLAGS = $(CFLAGS) + CXXFLAGS = @CXXFLAGS@ + LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates +-GOCFLAGS = $(CFLAGS) +-GDCFLAGS = $(CFLAGS) +-GM2FLAGS = $(CFLAGS) ++GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) ++GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) ++GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS)) + + # Pass additional PGO and LTO compiler options to the PGO build. + BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) +--- Makefile.in.jj 2021-12-30 15:12:42.188164847 +0100 ++++ Makefile.in 2022-01-07 12:06:27.335334561 +0100 +@@ -443,9 +443,9 @@ LDFLAGS = @LDFLAGS@ + LIBCFLAGS = $(CFLAGS) + CXXFLAGS = @CXXFLAGS@ + LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates +-GOCFLAGS = $(CFLAGS) +-GDCFLAGS = $(CFLAGS) +-GM2FLAGS = $(CFLAGS) ++GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) ++GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) ++GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS)) + + # Pass additional PGO and LTO compiler options to the PGO build. + BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS) diff --git a/gcc13-d-shared-libphobos.patch b/gcc13-d-shared-libphobos.patch new file mode 100644 index 0000000..6384bbb --- /dev/null +++ b/gcc13-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/gcc13-dg-ice-fixes.patch b/gcc13-dg-ice-fixes.patch new file mode 100644 index 0000000..e47b10b --- /dev/null +++ b/gcc13-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/gcc13-fortran-fdec-duplicates.patch b/gcc13-fortran-fdec-duplicates.patch new file mode 100644 index 0000000..5298baa --- /dev/null +++ b/gcc13-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/gcc13-fortran-fdec-non-logical-if.patch b/gcc13-fortran-fdec-non-logical-if.patch new file mode 100644 index 0000000..a3a830c --- /dev/null +++ b/gcc13-fortran-fdec-non-logical-if.patch @@ -0,0 +1,378 @@ +From cc87ddb841017bb0976b05091733609ee17d7f05 Mon Sep 17 00:00:00 2001 +From: Mark Eggleston +Date: Fri, 22 Jan 2021 13:15:17 +0000 +Subject: [PATCH 07/10] Allow non-logical expressions in IF statements + +Use -fdec-non-logical-if to enable feature. Also enabled using -fdec. +--- + gcc/fortran/lang.opt | 4 ++ + gcc/fortran/options.cc | 1 + + gcc/fortran/resolve.cc | 60 ++++++++++++++++--- + ...gical_expressions_if_statements_blocks_1.f | 25 ++++++++ + ...gical_expressions_if_statements_blocks_2.f | 25 ++++++++ + ...gical_expressions_if_statements_blocks_3.f | 25 ++++++++ + ...gical_expressions_if_statements_blocks_4.f | 45 ++++++++++++++ + ...gical_expressions_if_statements_blocks_5.f | 45 ++++++++++++++ + ...gical_expressions_if_statements_blocks_6.f | 45 ++++++++++++++ + 9 files changed, 266 insertions(+), 9 deletions(-) + create mode 100644 gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_1.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_2.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_3.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_4.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_5.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_6.f + +diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt +index 4a269ebb22d..d886c2f33ed 100644 +--- a/gcc/fortran/lang.opt ++++ b/gcc/fortran/lang.opt +@@ -506,6 +506,10 @@ fdec-override-kind + Fortran Var(flag_dec_override_kind) + Enable support for per variable kind specification. + ++fdec-non-logical-if ++Fortran Var(flag_dec_non_logical_if) ++Enable support for non-logical expressions in if statements. ++ + fdec-structure + Fortran Var(flag_dec_structure) + Enable support for DEC STRUCTURE/RECORD. +diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc +index edbab483b36..a946c86790a 100644 +--- a/gcc/fortran/options.cc ++++ b/gcc/fortran/options.cc +@@ -79,6 +79,7 @@ set_dec_flags (int value) + SET_BITFLAG (flag_dec_char_conversions, value, value); + SET_BITFLAG (flag_dec_duplicates, value, value); + SET_BITFLAG (flag_dec_override_kind, value, value); ++ SET_BITFLAG (flag_dec_non_logical_if, value, value); + } + + /* Finalize DEC flags. */ +diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc +index bc0df0fdb99..07dd039f3bf 100644 +--- a/gcc/fortran/resolve.cc ++++ b/gcc/fortran/resolve.cc +@@ -10789,10 +10789,31 @@ gfc_resolve_blocks (gfc_code *b, gfc_namespace *ns) + switch (b->op) + { + case EXEC_IF: +- if (t && b->expr1 != NULL +- && (b->expr1->ts.type != BT_LOGICAL || b->expr1->rank != 0)) +- gfc_error ("IF clause at %L requires a scalar LOGICAL expression", +- &b->expr1->where); ++ if (t && b->expr1 != NULL) ++ { ++ if (flag_dec_non_logical_if && b->expr1->ts.type != BT_LOGICAL) ++ { ++ gfc_expr* cast; ++ cast = gfc_ne (b->expr1, ++ gfc_get_int_expr (1, &gfc_current_locus, 0), ++ INTRINSIC_NE); ++ if (cast == NULL) ++ gfc_internal_error ("gfc_resolve_blocks(): Failed to cast " ++ "to LOGICAL in IF"); ++ b->expr1 = cast; ++ if (warn_conversion_extra) ++ { ++ gfc_warning (OPT_Wconversion_extra, "Non-LOGICAL type in" ++ " IF statement condition %L will be true if" ++ " it evaluates to nonzero", ++ &b->expr1->where); ++ } ++ } ++ ++ if ((b->expr1->ts.type != BT_LOGICAL || b->expr1->rank != 0)) ++ gfc_error ("IF clause at %L requires a scalar LOGICAL " ++ "expression", &b->expr1->where); ++ } + break; + + case EXEC_WHERE: +@@ -12093,11 +12114,32 @@ start: + break; + + case EXEC_IF: +- if (t && code->expr1 != NULL +- && (code->expr1->ts.type != BT_LOGICAL +- || code->expr1->rank != 0)) +- gfc_error ("IF clause at %L requires a scalar LOGICAL expression", +- &code->expr1->where); ++ if (t && code->expr1 != NULL) ++ { ++ if (flag_dec_non_logical_if ++ && code->expr1->ts.type != BT_LOGICAL) ++ { ++ gfc_expr* cast; ++ cast = gfc_ne (code->expr1, ++ gfc_get_int_expr (1, &gfc_current_locus, 0), ++ INTRINSIC_NE); ++ if (cast == NULL) ++ gfc_internal_error ("gfc_resolve_code(): Failed to cast " ++ "to LOGICAL in IF"); ++ code->expr1 = cast; ++ if (warn_conversion_extra) ++ { ++ gfc_warning (OPT_Wconversion_extra, "Non-LOGICAL type in" ++ " IF statement condition %L will be true if" ++ " it evaluates to nonzero", ++ &code->expr1->where); ++ } ++ } ++ ++ if (code->expr1->ts.type != BT_LOGICAL || code->expr1->rank != 0) ++ gfc_error ("IF clause at %L requires a scalar LOGICAL " ++ "expression", &code->expr1->where); ++ } + break; + + case EXEC_CALL: +diff --git a/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_1.f b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_1.f +new file mode 100644 +index 00000000000..0101db893ca +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_1.f +@@ -0,0 +1,25 @@ ++! { dg-do run } ++! { dg-options "-fdec -Wconversion-extra" } ++! ++! Allow logical expressions in if statements and blocks ++! ++! Contributed by Francisco Redondo Marchena ++! and Jeff Law ++! Modified by Mark Eggleston ++! ++ PROGRAM logical_exp_if_st_bl ++ INTEGER ipos/1/ ++ INTEGER ineg/0/ ++ ++ ! Test non logical variables ++ if (ineg) STOP 1 ! { dg-warning "if it evaluates to nonzero" } ++ if (0) STOP 2 ! { dg-warning "if it evaluates to nonzero" } ++ ++ ! Test non logical expressions in if statements ++ if (MOD(ipos, 1)) STOP 3 ! { dg-warning "if it evaluates to nonzero" } ++ ++ ! Test non logical expressions in if blocks ++ if (MOD(2 * ipos, 2)) then ! { dg-warning "if it evaluates to nonzero" } ++ STOP 4 ++ endif ++ END +diff --git a/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_2.f b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_2.f +new file mode 100644 +index 00000000000..876f4e09508 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_2.f +@@ -0,0 +1,25 @@ ++! { dg-do run } ++! { dg-options "-fdec-non-logical-if -Wconversion-extra" } ++! ++! Allow logical expressions in if statements and blocks ++! ++! Contributed by Francisco Redondo Marchena ++! and Jeff Law ++! Modified by Mark Eggleston ++! ++ PROGRAM logical_exp_if_st_bl ++ INTEGER ipos/1/ ++ INTEGER ineg/0/ ++ ++ ! Test non logical variables ++ if (ineg) STOP 1 ! { dg-warning "if it evaluates to nonzero" } ++ if (0) STOP 2 ! { dg-warning "if it evaluates to nonzero" } ++ ++ ! Test non logical expressions in if statements ++ if (MOD(ipos, 1)) STOP 3 ! { dg-warning "if it evaluates to nonzero" } ++ ++ ! Test non logical expressions in if blocks ++ if (MOD(2 * ipos, 2)) then ! { dg-warning "if it evaluates to nonzero" } ++ STOP 4 ++ endif ++ END +diff --git a/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_3.f b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_3.f +new file mode 100644 +index 00000000000..35cb4c51b8d +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_3.f +@@ -0,0 +1,25 @@ ++! { dg-do compile } ++! { dg-options "-fdec -fno-dec-non-logical-if" } ++! ++! Allow logical expressions in if statements and blocks ++! ++! Contributed by Francisco Redondo Marchena ++! and Jeff Law ++! Modified by Mark Eggleston ++! ++ PROGRAM logical_exp_if_st_bl ++ INTEGER ipos/1/ ++ INTEGER ineg/0/ ++ ++ ! Test non logical variables ++ if (ineg) STOP 1 ! { dg-error "IF clause at" } ++ if (0) STOP 2 ! { dg-error "IF clause at" } ++ ++ ! Test non logical expressions in if statements ++ if (MOD(ipos, 1)) STOP 3 ! { dg-error "IF clause at" } ++ ++ ! Test non logical expressions in if blocks ++ if (MOD(2 * ipos, 2)) then ! { dg-error "IF clause at" } ++ STOP 4 ++ endif ++ END +diff --git a/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_4.f b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_4.f +new file mode 100644 +index 00000000000..7b60b60827f +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_4.f +@@ -0,0 +1,45 @@ ++! { dg-do run } ++! { dg-options "-fdec -Wconversion-extra" } ++! ++! Contributed by Francisco Redondo Marchena ++! and Jeff Law ++! Modified by Mark Eggleston ++! ++ function othersub1() ++ integer*4 othersub1 ++ othersub1 = 9 ++ end ++ ++ function othersub2() ++ integer*4 othersub2 ++ othersub2 = 0 ++ end ++ ++ program MAIN ++ integer*4 othersub1 ++ integer*4 othersub2 ++ integer a /1/ ++ integer b /2/ ++ ++ if (othersub1()) then ! { dg-warning "if it evaluates to nonzero" } ++ write(*,*) "OK" ++ else ++ stop 1 ++ end if ++ if (othersub2()) then ! { dg-warning "if it evaluates to nonzero" } ++ stop 2 ++ else ++ write(*,*) "OK" ++ end if ++ if (a-b) then ! { dg-warning "if it evaluates to nonzero" } ++ write(*,*) "OK" ++ else ++ stop 3 ++ end if ++ if (b-(a+1)) then ! { dg-warning "if it evaluates to nonzero" } ++ stop 3 ++ else ++ write(*,*) "OK" ++ end if ++ end ++ +diff --git a/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_5.f b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_5.f +new file mode 100644 +index 00000000000..80336f48ca1 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_5.f +@@ -0,0 +1,45 @@ ++! { dg-do run } ++! { dg-options "-fdec-non-logical-if -Wconversion-extra" } ++! ++! Contributed by Francisco Redondo Marchena ++! and Jeff Law ++! Modified by Mark Eggleston ++! ++ function othersub1() ++ integer*4 othersub1 ++ othersub1 = 9 ++ end ++ ++ function othersub2() ++ integer*4 othersub2 ++ othersub2 = 0 ++ end ++ ++ program MAIN ++ integer*4 othersub1 ++ integer*4 othersub2 ++ integer a /1/ ++ integer b /2/ ++ ++ if (othersub1()) then ! { dg-warning "Non-LOGICAL type in IF statement" } ++ write(*,*) "OK" ++ else ++ stop 1 ++ end if ++ if (othersub2()) then ! { dg-warning "Non-LOGICAL type in IF statement" } ++ stop 2 ++ else ++ write(*,*) "OK" ++ end if ++ if (a-b) then ! { dg-warning "Non-LOGICAL type in IF statement" } ++ write(*,*) "OK" ++ else ++ stop 3 ++ end if ++ if (b-(a+1)) then ! { dg-warning "Non-LOGICAL type in IF statement" } ++ stop 3 ++ else ++ write(*,*) "OK" ++ end if ++ end ++ +diff --git a/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_6.f b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_6.f +new file mode 100644 +index 00000000000..e1125ca717a +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_logical_expressions_if_statements_blocks_6.f +@@ -0,0 +1,45 @@ ++! { dg-do compile } ++! { dg-options "-fdec -fno-dec-non-logical-if" } ++! ++! Contributed by Francisco Redondo Marchena ++! and Jeff Law ++! Modified by Mark Eggleston ++! ++ function othersub1() ++ integer*4 othersub1 ++ othersub1 = 9 ++ end ++ ++ function othersub2() ++ integer*4 othersub2 ++ othersub2 = 0 ++ end ++ ++ program MAIN ++ integer*4 othersub1 ++ integer*4 othersub2 ++ integer a /1/ ++ integer b /2/ ++ ++ if (othersub1()) then ! { dg-error "IF clause at" } ++ write(*,*) "OK" ++ else ++ stop 1 ++ end if ++ if (othersub2()) then ! { dg-error "IF clause at" } ++ stop 2 ++ else ++ write(*,*) "OK" ++ end if ++ if (a-b) then ! { dg-error "IF clause at" } ++ write(*,*) "OK" ++ else ++ stop 3 ++ end if ++ if (b-(a+1)) then ! { dg-error "IF clause at" } ++ stop 3 ++ else ++ write(*,*) "OK" ++ end if ++ end ++ +-- +2.27.0 + diff --git a/gcc13-fortran-fdec-override-kind.patch b/gcc13-fortran-fdec-override-kind.patch new file mode 100644 index 0000000..370fa56 --- /dev/null +++ b/gcc13-fortran-fdec-override-kind.patch @@ -0,0 +1,588 @@ +From 786869fd62813e80da9b6545a295d53c36275c19 Mon Sep 17 00:00:00 2001 +From: Mark Eggleston +Date: Fri, 22 Jan 2021 13:12:14 +0000 +Subject: [PATCH 06/10] Allow string length and kind to be specified on a per + variable basis. + +This allows kind/length to be mixed with array specification in +declarations. + +e.g. + + INTEGER*4 x*2, y*8 + CHARACTER names*20(10) + REAL v(100)*8, vv*4(50) + +The per-variable size overrides the kind or length specified for the type. + +Use -fdec-override-kind to enable. Also enabled by -fdec. + +Note: this feature is a merger of two previously separate features. + +Now accepts named constants as kind parameters: + + INTEGER A + PARAMETER (A=2) + INTEGER B*(A) + +Contributed by Mark Eggleston + +Now rejects invalid kind parameters and prints error messages: + + INTEGER X*3 + +caused an internal compiler error. + +Contributed by Mark Eggleston +--- + gcc/fortran/decl.cc | 156 ++++++++++++++---- + gcc/fortran/lang.opt | 4 + + gcc/fortran/options.cc | 1 + + .../dec_mixed_char_array_declaration_1.f | 13 ++ + .../dec_mixed_char_array_declaration_2.f | 13 ++ + .../dec_mixed_char_array_declaration_3.f | 13 ++ + .../gfortran.dg/dec_spec_in_variable_1.f | 31 ++++ + .../gfortran.dg/dec_spec_in_variable_2.f | 31 ++++ + .../gfortran.dg/dec_spec_in_variable_3.f | 31 ++++ + .../gfortran.dg/dec_spec_in_variable_4.f | 14 ++ + .../gfortran.dg/dec_spec_in_variable_5.f | 19 +++ + .../gfortran.dg/dec_spec_in_variable_6.f | 19 +++ + .../gfortran.dg/dec_spec_in_variable_7.f | 15 ++ + .../gfortran.dg/dec_spec_in_variable_8.f | 14 ++ + 14 files changed, 340 insertions(+), 34 deletions(-) + create mode 100644 gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_1.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_2.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_3.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_1.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_2.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_3.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_4.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_5.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_6.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_7.f + create mode 100644 gcc/testsuite/gfortran.dg/dec_spec_in_variable_8.f + +diff --git a/gcc/fortran/decl.cc b/gcc/fortran/decl.cc +index 5c8c1b7981b..f7dc9d8263d 100644 +--- a/gcc/fortran/decl.cc ++++ b/gcc/fortran/decl.cc +@@ -1213,6 +1213,54 @@ syntax: + return MATCH_ERROR; + } + ++/* This matches the nonstandard kind given after a variable name, like: ++ INTEGER x*2, y*4 ++ The per-variable kind will override any kind given in the type ++ declaration. ++*/ ++ ++static match ++match_per_symbol_kind (int *length) ++{ ++ match m; ++ gfc_expr *expr = NULL; ++ ++ m = gfc_match_char ('*'); ++ if (m != MATCH_YES) ++ return m; ++ ++ m = gfc_match_small_literal_int (length, NULL); ++ if (m == MATCH_YES || m == MATCH_ERROR) ++ return m; ++ ++ if (gfc_match_char ('(') == MATCH_NO) ++ return MATCH_ERROR; ++ ++ m = gfc_match_expr (&expr); ++ if (m == MATCH_YES) ++ { ++ m = MATCH_ERROR; // Assume error ++ if (gfc_expr_check_typed (expr, gfc_current_ns, false)) ++ { ++ if ((expr->expr_type == EXPR_CONSTANT) ++ && (expr->ts.type == BT_INTEGER)) ++ { ++ *length = mpz_get_si(expr->value.integer); ++ m = MATCH_YES; ++ } ++ } ++ ++ if (m == MATCH_YES) ++ { ++ if (gfc_match_char (')') == MATCH_NO) ++ m = MATCH_ERROR; ++ } ++ } ++ ++ if (expr != NULL) ++ gfc_free_expr (expr); ++ return m; ++} + + /* Special subroutine for finding a symbol. Check if the name is found + in the current name space. If not, and we're compiling a function or +@@ -2443,6 +2491,35 @@ check_function_name (char *name) + } + + ++static match ++match_character_length_clause (gfc_charlen **cl, bool *cl_deferred, int elem) ++{ ++ gfc_expr* char_len; ++ char_len = NULL; ++ ++ match m = match_char_length (&char_len, cl_deferred, false); ++ if (m == MATCH_YES) ++ { ++ *cl = gfc_new_charlen (gfc_current_ns, NULL); ++ (*cl)->length = char_len; ++ } ++ else if (m == MATCH_NO) ++ { ++ if (elem > 1 ++ && (current_ts.u.cl->length == NULL ++ || current_ts.u.cl->length->expr_type != EXPR_CONSTANT)) ++ { ++ *cl = gfc_new_charlen (gfc_current_ns, NULL); ++ (*cl)->length = gfc_copy_expr (current_ts.u.cl->length); ++ } ++ else ++ *cl = current_ts.u.cl; ++ ++ *cl_deferred = current_ts.deferred; ++ } ++ return m; ++} ++ + /* Match a variable name with an optional initializer. When this + subroutine is called, a variable is expected to be parsed next. + Depending on what is happening at the moment, updates either the +@@ -2453,7 +2530,7 @@ variable_decl (int elem) + { + char name[GFC_MAX_SYMBOL_LEN + 1]; + static unsigned int fill_id = 0; +- gfc_expr *initializer, *char_len; ++ gfc_expr *initializer; + gfc_array_spec *as; + gfc_array_spec *cp_as; /* Extra copy for Cray Pointees. */ + gfc_charlen *cl; +@@ -2462,11 +2539,15 @@ variable_decl (int elem) + match m; + bool t; + gfc_symbol *sym; ++ match cl_match; ++ match kind_match; ++ int overridden_kind; + char c; + + initializer = NULL; + as = NULL; + cp_as = NULL; ++ kind_match = MATCH_NO; + + /* When we get here, we've just matched a list of attributes and + maybe a type and a double colon. The next thing we expect to see +@@ -2519,6 +2600,28 @@ variable_decl (int elem) + + var_locus = gfc_current_locus; + ++ ++ cl = NULL; ++ cl_deferred = false; ++ cl_match = MATCH_NO; ++ ++ /* Check for a character length clause before an array clause */ ++ if (flag_dec_override_kind) ++ { ++ if (current_ts.type == BT_CHARACTER) ++ { ++ cl_match = match_character_length_clause (&cl, &cl_deferred, elem); ++ if (cl_match == MATCH_ERROR) ++ goto cleanup; ++ } ++ else ++ { ++ kind_match = match_per_symbol_kind (&overridden_kind); ++ if (kind_match == MATCH_ERROR) ++ goto cleanup; ++ } ++ } ++ + /* Now we could see the optional array spec. or character length. */ + m = gfc_match_array_spec (&as, true, true); + if (m == MATCH_ERROR) +@@ -2667,40 +2770,12 @@ variable_decl (int elem) + } + } + +- char_len = NULL; +- cl = NULL; +- cl_deferred = false; +- +- if (current_ts.type == BT_CHARACTER) ++ /* Second chance for a character length clause */ ++ if (cl_match == MATCH_NO && current_ts.type == BT_CHARACTER) + { +- switch (match_char_length (&char_len, &cl_deferred, false)) +- { +- case MATCH_YES: +- cl = gfc_new_charlen (gfc_current_ns, NULL); +- +- cl->length = char_len; +- break; +- +- /* Non-constant lengths need to be copied after the first +- element. Also copy assumed lengths. */ +- case MATCH_NO: +- if (elem > 1 +- && (current_ts.u.cl->length == NULL +- || current_ts.u.cl->length->expr_type != EXPR_CONSTANT)) +- { +- cl = gfc_new_charlen (gfc_current_ns, NULL); +- cl->length = gfc_copy_expr (current_ts.u.cl->length); +- } +- else +- cl = current_ts.u.cl; +- +- cl_deferred = current_ts.deferred; +- +- break; +- +- case MATCH_ERROR: +- goto cleanup; +- } ++ m = match_character_length_clause (&cl, &cl_deferred, elem); ++ if (m == MATCH_ERROR) ++ goto cleanup; + } + + /* The dummy arguments and result of the abreviated form of MODULE +@@ -2802,6 +2877,19 @@ variable_decl (int elem) + goto cleanup; + } + ++ if (kind_match == MATCH_YES) ++ { ++ gfc_find_symbol (name, gfc_current_ns, 1, &sym); ++ /* sym *must* be found at this point */ ++ sym->ts.kind = overridden_kind; ++ if (gfc_validate_kind (sym->ts.type, sym->ts.kind, true) < 0) ++ { ++ gfc_error ("Kind %d not supported for type %s at %C", ++ sym->ts.kind, gfc_basic_typename (sym->ts.type)); ++ return MATCH_ERROR; ++ } ++ } ++ + if (!check_function_name (name)) + { + m = MATCH_ERROR; +diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt +index 25cc948699b..4a269ebb22d 100644 +--- a/gcc/fortran/lang.opt ++++ b/gcc/fortran/lang.opt +@@ -502,6 +502,10 @@ fdec-math + Fortran Var(flag_dec_math) + Enable legacy math intrinsics for compatibility. + ++fdec-override-kind ++Fortran Var(flag_dec_override_kind) ++Enable support for per variable kind specification. ++ + fdec-structure + Fortran Var(flag_dec_structure) + Enable support for DEC STRUCTURE/RECORD. +diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc +index d6bd36c3a8a..edbab483b36 100644 +--- a/gcc/fortran/options.cc ++++ b/gcc/fortran/options.cc +@@ -78,6 +78,7 @@ set_dec_flags (int 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); ++ SET_BITFLAG (flag_dec_override_kind, value, value); + } + + /* Finalize DEC flags. */ +diff --git a/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_1.f b/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_1.f +new file mode 100644 +index 00000000000..706ea4112a4 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_1.f +@@ -0,0 +1,13 @@ ++! { dg-do run } ++! { dg-options "-fdec" } ++! ++! Test character declaration with mixed string length and array specification ++! ++! Contributed by Jim MacArthur ++! Modified by Mark Eggleston ++! ++ PROGRAM character_declaration ++ CHARACTER ASPEC_SLENGTH*2 (5) /'01','02','03','04','05'/ ++ CHARACTER SLENGTH_ASPEC(5)*2 /'01','02','03','04','05'/ ++ if (ASPEC_SLENGTH(3).NE.SLENGTH_ASPEC(3)) STOP 1 ++ END +diff --git a/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_2.f b/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_2.f +new file mode 100644 +index 00000000000..26d2acf01de +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_2.f +@@ -0,0 +1,13 @@ ++! { dg-do run } ++! { dg-options "-fdec-override-kind" } ++! ++! Test character declaration with mixed string length and array specification ++! ++! Contributed by Jim MacArthur ++! Modified by Mark Eggleston ++! ++ PROGRAM character_declaration ++ CHARACTER ASPEC_SLENGTH*2 (5) /'01','02','03','04','05'/ ++ CHARACTER SLENGTH_ASPEC(5)*2 /'01','02','03','04','05'/ ++ if (ASPEC_SLENGTH(3).NE.SLENGTH_ASPEC(3)) STOP 1 ++ END +diff --git a/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_3.f b/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_3.f +new file mode 100644 +index 00000000000..76e4f0bdb93 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_mixed_char_array_declaration_3.f +@@ -0,0 +1,13 @@ ++! { dg-do compile } ++! { dg-options "-fdec-override-kind -fno-dec-override-kind" } ++! ++! Test character declaration with mixed string length and array specification ++! ++! Contributed by Jim MacArthur ++! Modified by Mark Eggleston ++! ++ PROGRAM character_declaration ++ CHARACTER ASPEC_SLENGTH*2 (5) /'01','02','03','04','05'/ ! { dg-error "Syntax error" } ++ CHARACTER SLENGTH_ASPEC(5)*2 /'01','02','03','04','05'/ ++ if (ASPEC_SLENGTH(3).NE.SLENGTH_ASPEC(3)) STOP 1 ! { dg-error " Operands of comparison operator" } ++ END +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_1.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_1.f +new file mode 100644 +index 00000000000..edd0f5874b7 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_1.f +@@ -0,0 +1,31 @@ ++! { dg-do run } ++! { dg-options "-fdec" } ++! ++! Test kind specification in variable not in type ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer*8 ai*1, bi*4, ci ++ real*4 ar*4, br*8, cr ++ ++ ai = 1 ++ ar = 1.0 ++ bi = 2 ++ br = 2.0 ++ ci = 3 ++ cr = 3.0 ++ ++ if (ai .ne. 1) stop 1 ++ if (abs(ar - 1.0) > 1.0D-6) stop 2 ++ if (bi .ne. 2) stop 3 ++ if (abs(br - 2.0) > 1.0D-6) stop 4 ++ if (ci .ne. 3) stop 5 ++ if (abs(cr - 3.0) > 1.0D-6) stop 6 ++ if (kind(ai) .ne. 1) stop 7 ++ if (kind(ar) .ne. 4) stop 8 ++ if (kind(bi) .ne. 4) stop 9 ++ if (kind(br) .ne. 8) stop 10 ++ if (kind(ci) .ne. 8) stop 11 ++ if (kind(cr) .ne. 4) stop 12 ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_2.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_2.f +new file mode 100644 +index 00000000000..bfaba584dbb +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_2.f +@@ -0,0 +1,31 @@ ++! { dg-do run } ++! { dg-options "-fdec-override-kind" } ++! ++! Test kind specification in variable not in type ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer*8 ai*1, bi*4, ci ++ real*4 ar*4, br*8, cr ++ ++ ai = 1 ++ ar = 1.0 ++ bi = 2 ++ br = 2.0 ++ ci = 3 ++ cr = 3.0 ++ ++ if (ai .ne. 1) stop 1 ++ if (abs(ar - 1.0) > 1.0D-6) stop 2 ++ if (bi .ne. 2) stop 3 ++ if (abs(br - 2.0) > 1.0D-6) stop 4 ++ if (ci .ne. 3) stop 5 ++ if (abs(cr - 3.0) > 1.0D-6) stop 6 ++ if (kind(ai) .ne. 1) stop 7 ++ if (kind(ar) .ne. 4) stop 8 ++ if (kind(bi) .ne. 4) stop 9 ++ if (kind(br) .ne. 8) stop 10 ++ if (kind(ci) .ne. 8) stop 11 ++ if (kind(cr) .ne. 4) stop 12 ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_3.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_3.f +new file mode 100644 +index 00000000000..5ff434e7466 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_3.f +@@ -0,0 +1,31 @@ ++! { dg-do compile } ++! { dg-options "-fdec -fno-dec-override-kind" } ++! ++! Test kind specification in variable not in type ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer*8 ai*1, bi*4, ci ! { dg-error "Syntax error" } ++ real*4 ar*4, br*8, cr ! { dg-error "Syntax error" } ++ ++ ai = 1 ++ ar = 1.0 ++ bi = 2 ++ br = 2.0 ++ ci = 3 ++ cr = 3.0 ++ ++ if (ai .ne. 1) stop 1 ++ if (abs(ar - 1.0) > 1.0D-6) stop 2 ++ if (bi .ne. 2) stop 3 ++ if (abs(br - 2.0) > 1.0D-6) stop 4 ++ if (ci .ne. 3) stop 5 ++ if (abs(cr - 3.0) > 1.0D-6) stop 6 ++ if (kind(ai) .ne. 1) stop 7 ++ if (kind(ar) .ne. 4) stop 8 ++ if (kind(bi) .ne. 4) stop 9 ++ if (kind(br) .ne. 8) stop 10 ++ if (kind(ci) .ne. 8) stop 11 ++ if (kind(cr) .ne. 4) stop 12 ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_4.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_4.f +new file mode 100644 +index 00000000000..c01980e8b9d +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_4.f +@@ -0,0 +1,14 @@ ++! { dg-do compile } ++! ++! Test kind specification in variable not in type. The per variable ++! kind specification is not enabled so these should fail ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer a ++ parameter(a=2) ++ integer b*(a) ! { dg-error "Syntax error" } ++ real c*(8) ! { dg-error "Syntax error" } ++ logical d*1_1 ! { dg-error "Syntax error" } ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_5.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_5.f +new file mode 100644 +index 00000000000..e2f39da3f4f +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_5.f +@@ -0,0 +1,19 @@ ++! { dg-do run } ++! { dg-options "-fdec-override-kind" } ++! ++! Test kind specification in variable not in type ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer a ++ parameter(a=2) ++ integer b*(a) ++ real c*(8) ++ logical d*(1_1) ++ character e*(a) ++ if (kind(b).ne.2) stop 1 ++ if (kind(c).ne.8) stop 2 ++ if (kind(d).ne.1) stop 3 ++ if (len(e).ne.2) stop 4 ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_6.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_6.f +new file mode 100644 +index 00000000000..569747874e3 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_6.f +@@ -0,0 +1,19 @@ ++! { dg-do run } ++! { dg-options "-fdec" } ++! ++! Test kind specification in variable not in type ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer a ++ parameter(a=2) ++ integer b*(a) ++ real c*(8) ++ logical d*(1_1) ++ character e*(a) ++ if (kind(b).ne.2) stop 1 ++ if (kind(c).ne.8) stop 2 ++ if (kind(d).ne.1) stop 3 ++ if (len(e).ne.2) stop 4 ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_7.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_7.f +new file mode 100644 +index 00000000000..b975bfd15c5 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_7.f +@@ -0,0 +1,15 @@ ++! { dg-do compile } ++! { dg-options "-fdec -fno-dec-override-kind" } ++! ++! Test kind specification in variable not in type as the per variable ++! kind specification is not enables these should fail ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer a ++ parameter(a=2) ++ integer b*(a) ! { dg-error "Syntax error" } ++ real c*(8) ! { dg-error "Syntax error" } ++ logical d*1_1 ! { dg-error "Syntax error" } ++ end +diff --git a/gcc/testsuite/gfortran.dg/dec_spec_in_variable_8.f b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_8.f +new file mode 100644 +index 00000000000..85732e0bd85 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/dec_spec_in_variable_8.f +@@ -0,0 +1,14 @@ ++! { dg-do compile } ++! { dg-options "-fdec" } ++! ++! Check that invalid kind values are rejected. ++! ++! Contributed by Mark Eggleston ++! ++ program spec_in_var ++ integer a ++ parameter(a=3) ++ integer b*(a) ! { dg-error "Kind 3 not supported" } ++ real c*(78) ! { dg-error "Kind 78 not supported" } ++ logical d*(*) ! { dg-error "Invalid character" } ++ end +-- +2.27.0 + diff --git a/gcc13-fortran-flogical-as-integer.patch b/gcc13-fortran-flogical-as-integer.patch new file mode 100644 index 0000000..28df5e1 --- /dev/null +++ b/gcc13-fortran-flogical-as-integer.patch @@ -0,0 +1,305 @@ +From 9b45f3063dfd2b893e7963a4828c1b0afecdc68a Mon Sep 17 00:00:00 2001 +From: Mark Eggleston +Date: Fri, 22 Jan 2021 12:41:46 +0000 +Subject: [PATCH 02/10] Convert LOGICAL to INTEGER for arithmetic ops, and vice + versa + +We allow converting LOGICAL types to INTEGER when doing arithmetic +operations, and converting INTEGER types to LOGICAL for use in +boolean operations. + +This feature is enabled with the -flogical-as-integer flag. + +Note: using this feature will disable bitwise logical operations enabled by +-fdec. +--- + gcc/fortran/lang.opt | 4 ++ + gcc/fortran/resolve.cc | 55 ++++++++++++++++++- + .../logical_to_integer_and_vice_versa_1.f | 31 +++++++++++ + .../logical_to_integer_and_vice_versa_2.f | 31 +++++++++++ + .../logical_to_integer_and_vice_versa_3.f | 33 +++++++++++ + .../logical_to_integer_and_vice_versa_4.f | 33 +++++++++++ + 6 files changed, 186 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_1.f + create mode 100644 gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_2.f + create mode 100644 gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_3.f + create mode 100644 gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_4.f + +diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt +index 52bd522051e..c4da248f07c 100644 +--- a/gcc/fortran/lang.opt ++++ b/gcc/fortran/lang.opt +@@ -497,6 +497,10 @@ fdec-static + Fortran Var(flag_dec_static) + Enable DEC-style STATIC and AUTOMATIC attributes. + ++flogical-as-integer ++Fortran Var(flag_logical_as_integer) ++Convert from integer to logical or logical to integer for arithmetic operations. ++ + fdefault-double-8 + Fortran Var(flag_default_double) + Set the default double precision kind to an 8 byte wide type. +diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc +index c075d0fa0c4..4b90cb59902 100644 +--- a/gcc/fortran/resolve.cc ++++ b/gcc/fortran/resolve.cc +@@ -3915,7 +3915,6 @@ lookup_uop_fuzzy (const char *op, gfc_symtree *uop) + return gfc_closest_fuzzy_match (op, candidates); + } + +- + /* Callback finding an impure function as an operand to an .and. or + .or. expression. Remember the last function warned about to + avoid double warnings when recursing. */ +@@ -3975,6 +3974,22 @@ convert_hollerith_to_character (gfc_expr *e) + } + } + ++/* If E is a logical, convert it to an integer and issue a warning ++ for the conversion. */ ++ ++static void ++convert_integer_to_logical (gfc_expr *e) ++{ ++ if (e->ts.type == BT_INTEGER) ++ { ++ /* Convert to LOGICAL */ ++ gfc_typespec t; ++ t.type = BT_LOGICAL; ++ t.kind = 1; ++ gfc_convert_type_warn (e, &t, 2, 1); ++ } ++} ++ + /* Convert to numeric and issue a warning for the conversion. */ + + static void +@@ -3987,6 +4002,22 @@ convert_to_numeric (gfc_expr *a, gfc_expr *b) + gfc_convert_type_warn (a, &t, 2, 1); + } + ++/* If E is a logical, convert it to an integer and issue a warning ++ for the conversion. */ ++ ++static void ++convert_logical_to_integer (gfc_expr *e) ++{ ++ if (e->ts.type == BT_LOGICAL) ++ { ++ /* Convert to INTEGER */ ++ gfc_typespec t; ++ t.type = BT_INTEGER; ++ t.kind = 1; ++ gfc_convert_type_warn (e, &t, 2, 1); ++ } ++} ++ + /* Resolve an operator expression node. This can involve replacing the + operation with a user defined function call. */ + +@@ -4072,6 +4103,12 @@ resolve_operator (gfc_expr *e) + case INTRINSIC_TIMES: + case INTRINSIC_DIVIDE: + case INTRINSIC_POWER: ++ if (flag_logical_as_integer) ++ { ++ convert_logical_to_integer (op1); ++ convert_logical_to_integer (op2); ++ } ++ + if (gfc_numeric_ts (&op1->ts) && gfc_numeric_ts (&op2->ts)) + { + gfc_type_convert_binary (e, 1); +@@ -4108,6 +4145,13 @@ resolve_operator (gfc_expr *e) + case INTRINSIC_OR: + case INTRINSIC_EQV: + case INTRINSIC_NEQV: ++ ++ if (flag_logical_as_integer) ++ { ++ convert_integer_to_logical (op1); ++ convert_integer_to_logical (op2); ++ } ++ + if (op1->ts.type == BT_LOGICAL && op2->ts.type == BT_LOGICAL) + { + e->ts.type = BT_LOGICAL; +@@ -4158,6 +4202,9 @@ resolve_operator (gfc_expr *e) + goto simplify_op; + } + ++ if (flag_logical_as_integer) ++ convert_integer_to_logical (op1); ++ + if (op1->ts.type == BT_LOGICAL) + { + e->ts.type = BT_LOGICAL; +@@ -4198,6 +4245,12 @@ resolve_operator (gfc_expr *e) + convert_hollerith_to_character (op2); + } + ++ if (flag_logical_as_integer) ++ { ++ convert_logical_to_integer (op1); ++ convert_logical_to_integer (op2); ++ } ++ + if (op1->ts.type == BT_CHARACTER && op2->ts.type == BT_CHARACTER + && op1->ts.kind == op2->ts.kind) + { +diff --git a/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_1.f b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_1.f +new file mode 100644 +index 00000000000..938a91d9e9a +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_1.f +@@ -0,0 +1,31 @@ ++! { dg-do run } ++! { dg-options "-std=legacy -flogical-as-integer" } ++! ++! Test conversion between logical and integer for logical operators ++! ++! Test case contributed by Jim MacArthur ++! Modified for -flogical-as-integer by Mark Eggleston ++! ++! ++ PROGRAM logical_integer_conversion ++ LOGICAL lpos /.true./ ++ INTEGER ineg/0/ ++ INTEGER ires ++ LOGICAL lres ++ ++ ! Test Logicals converted to Integers ++ if ((lpos.AND.ineg).EQ.1) STOP 3 ++ if ((ineg.AND.lpos).NE.0) STOP 4 ++ ires = (.true..AND.0) ++ if (ires.NE.0) STOP 5 ++ ires = (1.AND..false.) ++ if (ires.EQ.1) STOP 6 ++ ++ ! Test Integers converted to Logicals ++ if (lpos.EQ.ineg) STOP 7 ++ if (ineg.EQ.lpos) STOP 8 ++ lres = (.true..EQ.0) ++ if (lres) STOP 9 ++ lres = (1.EQ..false.) ++ if (lres) STOP 10 ++ END +diff --git a/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_2.f b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_2.f +new file mode 100644 +index 00000000000..9f146202ba5 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_2.f +@@ -0,0 +1,31 @@ ++! { dg-do compile } ++! { dg-options "-std=legacy -flogical-as-integer -fno-logical-as-integer" } ++! ++! Based on logical_to_integer_and_vice_versa_1.f but with option disabled ++! to test for error messages. ++! ++! Test case contributed by by Mark Eggleston ++! ++! ++ PROGRAM logical_integer_conversion ++ LOGICAL lpos /.true./ ++ INTEGER ineg/0/ ++ INTEGER ires ++ LOGICAL lres ++ ++ ! Test Logicals converted to Integers ++ if ((lpos.AND.ineg).EQ.1) STOP 3 ! { dg-error "Operands of logical operator" } ++ if ((ineg.AND.lpos).NE.0) STOP 4 ! { dg-error "Operands of logical operator" } ++ ires = (.true..AND.0) ! { dg-error "Operands of logical operator" } ++ if (ires.NE.0) STOP 5 ++ ires = (1.AND..false.) ! { dg-error "Operands of logical operator" } ++ if (ires.EQ.1) STOP 6 ++ ++ ! Test Integers converted to Logicals ++ if (lpos.EQ.ineg) STOP 7 ! { dg-error "Operands of comparison operator" } ++ if (ineg.EQ.lpos) STOP 8 ! { dg-error "Operands of comparison operator" } ++ lres = (.true..EQ.0) ! { dg-error "Operands of comparison operator" } ++ if (lres) STOP 9 ++ lres = (1.EQ..false.) ! { dg-error "Operands of comparison operator" } ++ if (lres) STOP 10 ++ END +diff --git a/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_3.f b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_3.f +new file mode 100644 +index 00000000000..446873eb2dc +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_3.f +@@ -0,0 +1,33 @@ ++! { dg-do compile } ++! { dg-options "-std=legacy -flogical-as-integer" } ++! ++! Test conversion between logical and integer for logical operators ++! ++ program test ++ logical f /.false./ ++ logical t /.true./ ++ real x ++ ++ x = 7.7 ++ x = x + t*3.0 ++ if (abs(x - 10.7).gt.0.00001) stop 1 ++ x = x + .false.*5.0 ++ if (abs(x - 10.7).gt.0.00001) stop 2 ++ x = x - .true.*5.0 ++ if (abs(x - 5.7).gt.0.00001) stop 3 ++ x = x + t ++ if (abs(x - 6.7).gt.0.00001) stop 4 ++ x = x + f ++ if (abs(x - 6.7).gt.0.00001) stop 5 ++ x = x - t ++ if (abs(x - 5.7).gt.0.00001) stop 6 ++ x = x - f ++ if (abs(x - 5.7).gt.0.00001) stop 7 ++ x = x**.true. ++ if (abs(x - 5.7).gt.0.00001) stop 8 ++ x = x**.false. ++ if (abs(x - 1.0).gt.0.00001) stop 9 ++ x = x/t ++ if (abs(x - 1.0).gt.0.00001) stop 10 ++ if ((x/.false.).le.huge(x)) stop 11 ++ end +diff --git a/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_4.f b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_4.f +new file mode 100644 +index 00000000000..4301a4988d8 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/logical_to_integer_and_vice_versa_4.f +@@ -0,0 +1,33 @@ ++! { dg-do compile } ++! { dg-options "-std=legacy -flogical-as-integer -fno-logical-as-integer" } ++! ++! Test conversion between logical and integer for logical operators ++! ++ program test ++ logical f /.false./ ++ logical t /.true./ ++ real x ++ ++ x = 7.7 ++ x = x + t*3.0 ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 10.7).gt.0.00001) stop 1 ++ x = x + .false.*5.0 ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 10.7).gt.0.00001) stop 2 ++ x = x - .true.*5.0 ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 5.7).gt.0.00001) stop 3 ++ x = x + t ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 6.7).gt.0.00001) stop 4 ++ x = x + f ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 6.7).gt.0.00001) stop 5 ++ x = x - t ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 5.7).gt.0.00001) stop 6 ++ x = x - f ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 5.7).gt.0.00001) stop 7 ++ x = x**.true. ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 5.7).gt.0.00001) stop 8 ++ x = x**.false. ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 1.0).gt.0.00001) stop 9 ++ x = x/t ! { dg-error "Operands of binary numeric" } ++ if (abs(x - 1.0).gt.0.00001) stop 10 ++ if ((x/.false.).le.huge(x)) stop 11 ! { dg-error "Operands of binary numeric" } ++ end +-- +2.27.0 + diff --git a/gcc13-hack.patch b/gcc13-hack.patch new file mode 100644 index 0000000..e98649e --- /dev/null +++ b/gcc13-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/gcc13-isl-dl.patch b/gcc13-isl-dl.patch new file mode 100644 index 0000000..20dd8bf --- /dev/null +++ b/gcc13-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/gcc13-isl-dl2.patch b/gcc13-isl-dl2.patch new file mode 100644 index 0000000..2e12499 --- /dev/null +++ b/gcc13-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/gcc13-libgfortran-compat.patch b/gcc13-libgfortran-compat.patch new file mode 100644 index 0000000..7ed1ae8 --- /dev/null +++ b/gcc13-libgfortran-compat.patch @@ -0,0 +1,671 @@ +--- libgfortran/Makefile.am.jj 2022-04-28 15:56:10.129745930 +0200 ++++ libgfortran/Makefile.am 2022-05-13 13:27:57.237167557 +0200 +@@ -45,6 +45,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi + $(lt_host_flags) + + toolexeclib_LTLIBRARIES = libgfortran.la ++noinst_LTLIBRARIES = libgfortran_nonshared80.la + toolexeclib_DATA = libgfortran.spec + libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) + libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ +@@ -1154,6 +1155,91 @@ libgfortran_la_SOURCES = $(prereq_SRC) + + endif + ++$(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_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)/io/nonshared-transfer.c \ ++$(srcdir)/runtime/nonshared-error.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_arithmetic.c.jj 2022-05-13 13:22:46.612357695 +0200 ++++ libgfortran/ieee/nonshared-ieee_arithmetic.c 2022-05-13 13:22:46.612357695 +0200 +@@ -0,0 +1,64 @@ ++/* Helper functions in C for IEEE modules ++ Copyright (C) 2013-2022 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 2022-04-28 15:56:10.132745889 +0200 ++++ libgfortran/Makefile.in 2022-05-13 13:28:10.925982986 +0200 +@@ -217,7 +217,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) +@@ -487,6 +488,36 @@ am__objects_65 = $(am__objects_3) $(am__ + @onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_65) + @onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo + libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS) ++libgfortran_nonshared80_la_LIBADD = ++am__objects_66 = nonshared-ISO_Fortran_binding.lo ++am__objects_67 = 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_68 = nonshared-is_contiguous.lo nonshared-trigd.lo ++am__objects_69 = nonshared-random_init.lo ++am_libgfortran_nonshared80_la_OBJECTS = $(am__objects_66) \ ++ $(am__objects_67) $(am__objects_68) $(am__objects_69) \ ++ nonshared-ieee_arithmetic.lo nonshared-transfer.lo \ ++ nonshared-error.lo ++libgfortran_nonshared80_la_OBJECTS = \ ++ $(am_libgfortran_nonshared80_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_V_P = $(am__v_P_@AM_V@) + am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) + am__v_P_0 = false +@@ -503,10 +534,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) \ +@@ -550,7 +577,8 @@ 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_nonshared80_la_SOURCES) + am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ +@@ -754,6 +782,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi + $(lt_host_flags) + + toolexeclib_LTLIBRARIES = libgfortran.la ++noinst_LTLIBRARIES = libgfortran_nonshared80.la + toolexeclib_DATA = libgfortran.spec + libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS) + libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ +@@ -1670,6 +1699,59 @@ prereq_SRC = $(gfor_src) $(gfor_built_sr + #libgfortran_F.lo: + # $(LTPPFCCOMPILE) -c -o $@ $^ -combine + @onestep_TRUE@libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC)) ++nonshared_runtime_C_SRC = \ ++nonshared-ISO_Fortran_binding.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)/io/nonshared-transfer.c \ ++$(srcdir)/runtime/nonshared-error.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 +@@ -1780,6 +1862,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=; \ +@@ -1821,6 +1914,9 @@ 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_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) + +@@ -2272,6 +2368,44 @@ 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-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@ +@@ -7316,6 +7450,27 @@ 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_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 $@ $< + +@@ -7510,7 +7665,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) +@@ -7590,14 +7746,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 \ +@@ -7673,6 +7830,38 @@ ieee_arithmetic.mod: ieee_arithmetic.lo + @onestep_TRUE@libgfortran_c.lo: $(filter %.c,$(prereq_SRC)) + @onestep_TRUE@ $(LTCOMPILE) -c -o $@ $^ -combine + ++$(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@' '$(FCCOMPILE)' > $@ || rm $@ + +--- libgfortran/libgfortran.h.jj 2022-04-28 15:56:10.221744660 +0200 ++++ libgfortran/libgfortran.h 2022-05-13 13:22:46.652357155 +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)) + +@@ -2020,4 +2024,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 2022-05-13 13:22:46.653357141 +0200 ++++ libgfortran/runtime/nonshared-error.c 2022-05-13 13:22:46.653357141 +0200 +@@ -0,0 +1,56 @@ ++/* Copyright (C) 2020-2022 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 2022-05-13 13:22:46.653357141 +0200 ++++ libgfortran/io/nonshared-transfer.c 2022-05-13 13:22:46.653357141 +0200 +@@ -0,0 +1,42 @@ ++/* Copyright (C) 2002-2022 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/gcc13-libgomp-omp_h-multilib.patch b/gcc13-libgomp-omp_h-multilib.patch new file mode 100644 index 0000000..d0e98d1 --- /dev/null +++ b/gcc13-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/gcc13-libstdc++-compat.patch b/gcc13-libstdc++-compat.patch new file mode 100644 index 0000000..b241e3b --- /dev/null +++ b/gcc13-libstdc++-compat.patch @@ -0,0 +1,14208 @@ +--- libstdc++-v3/config/locale/gnu/c_locale.cc.jj 2022-05-10 18:36:26.000502233 +0200 ++++ libstdc++-v3/config/locale/gnu/c_locale.cc 2022-05-12 10:06:51.271504130 +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 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/libsupc++/eh_exception.cc 2022-05-12 10:06:51.271504130 +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/sstream-inst.cc.jj 2022-05-12 10:06:51.272504117 +0200 ++++ libstdc++-v3/src/nonshared98/sstream-inst.cc 2022-05-12 10:06:51.272504117 +0200 +@@ -0,0 +1,39 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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) ++{ ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++#endif ++ ++} // namespace +--- libstdc++-v3/src/nonshared98/float128.S.jj 2022-05-12 10:06:51.272504117 +0200 ++++ libstdc++-v3/src/nonshared98/float128.S 2022-05-12 10:06:51.272504117 +0200 +@@ -0,0 +1,162 @@ ++/* Copyright (C) 2012-2022 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 __i386__ || defined __ia64__ ++#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(_ZTIPKg) ++ SECTION1(_ZTIPKg) ++ ALIGN1 ++ .type SYM(_ZTIPKg), OBJECT ++ .size SYM(_ZTIPKg), SIZE1 ++_ZTIPKg: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKg) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIg) ++ .weak SYM(_ZTIPg) ++ SECTION1(_ZTIPg) ++ ALIGN1 ++ .type SYM(_ZTIPg), OBJECT ++ .size SYM(_ZTIPg), SIZE1 ++_ZTIPg: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPg) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIg) ++ .weak SYM(_ZTIg) ++ SECTION2(_ZTIg) ++ ALIGN2 ++ .type SYM(_ZTIg), OBJECT ++ .size SYM(_ZTIg), SIZE2 ++_ZTIg: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSg) ++ .weak SYM(_ZTSPKg) ++ SECTION3(_ZTSPKg) ++ ALIGN3 ++ .type SYM(_ZTSPKg), OBJECT ++ .size SYM(_ZTSPKg), 4 ++_ZTSPKg: ++ STRING "PKg" ++ .weak SYM(_ZTSPg) ++ SECTION3(_ZTSPg) ++ ALIGN3 ++ .type SYM(_ZTSPg), OBJECT ++ .size SYM(_ZTSPg), 3 ++_ZTSPg: ++ STRING "Pg" ++ .weak SYM(_ZTSg) ++ SECTION3(_ZTSg) ++ ALIGN3 ++ .type SYM(_ZTSg), OBJECT ++ .size SYM(_ZTSg), 2 ++_ZTSg: ++ STRING "g" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/pure.cc.jj 2022-05-12 10:06:51.272504117 +0200 ++++ libstdc++-v3/src/nonshared98/pure.cc 2022-05-12 10:06:51.272504117 +0200 +@@ -0,0 +1,51 @@ ++// -*- C++ -*- ++// Copyright (C) 2000-2022 Free Software Foundation ++// ++// 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 "unwind-cxx.h" ++ ++#if _GLIBCXX_HOSTED ++#ifdef _GLIBCXX_HAVE_UNISTD_H ++# include ++# define writestr(str) write(2, str, sizeof(str) - 1) ++# ifdef __GNU_LIBRARY__ ++ /* Avoid forcing the library's meaning of `write' on the user program ++ by using the "internal" name (for use within the library). */ ++/*# define write(fd, buf, n) __write((fd), (buf), (n))*/ ++# endif ++#else ++# include ++# define writestr(str) std::fputs(str, stderr) ++#endif ++#else ++# define writestr(str) /* Empty */ ++#endif ++ ++extern "C" void ++__cxxabiv1::__cxa_deleted_virtual (void) ++{ ++ writestr ("deleted virtual method called\n"); ++ std::terminate (); ++} +--- libstdc++-v3/src/nonshared98/eh_exception.cc.jj 2022-05-12 10:06:51.340503202 +0200 ++++ libstdc++-v3/src/nonshared98/eh_exception.cc 2022-05-12 10:06:51.333503296 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 1994-2022 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_CXX98 1 ++#include "../libsupc++/eh_exception.cc" +--- libstdc++-v3/src/nonshared98/ios_failure.cc.jj 2022-05-12 10:06:51.347503108 +0200 ++++ libstdc++-v3/src/nonshared98/ios_failure.cc 2022-05-12 10:06:51.347503108 +0200 +@@ -0,0 +1,35 @@ ++// Copyright (C) 2019-2022 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++98/ios_failure.cc" ++asm (".hidden _ZNKSt8ios_base7failure4whatEv"); ++asm (".hidden _ZNSt8ios_base7failureC1ERKSs"); ++asm (".hidden _ZNSt8ios_base7failureC2ERKSs"); ++asm (".hidden _ZNSt8ios_base7failureD0Ev"); ++asm (".hidden _ZNSt8ios_base7failureD1Ev"); ++asm (".hidden _ZNSt8ios_base7failureD2Ev"); ++asm (".hidden _ZSt21__destroy_ios_failurePv"); ++asm (".hidden _ZSt23__construct_ios_failurePvPKc"); ++asm (".hidden _ZSt24__is_ios_failure_handlerPKN10__cxxabiv117__class_type_infoE"); ++asm (".hidden _ZTINSt8ios_base7failureE"); ++asm (".hidden _ZTSNSt8ios_base7failureE"); ++asm (".hidden _ZTVNSt8ios_base7failureE"); +--- libstdc++-v3/src/nonshared98/char8_t-rtti.S.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/char8_t-rtti.S 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,166 @@ ++/* Copyright (C) 2012-2022 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/streambuf-inst.cc.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/streambuf-inst.cc 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,36 @@ ++// Copyright (C) 1997-2022 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 ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ template void basic_streambuf::__safe_gbump(std::streamsize); ++ template void basic_streambuf::__safe_pbump(std::streamsize); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_streambuf::__safe_gbump(std::streamsize); ++ template void basic_streambuf::__safe_pbump(std::streamsize); ++#endif ++ ++} +--- libstdc++-v3/src/nonshared98/int12848.S.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/int12848.S 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,24 @@ ++/* Copyright (C) 2012-2022 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_48 ++#include "int128.S" +--- libstdc++-v3/src/nonshared98/eh_tm.cc.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/eh_tm.cc 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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_tm.cc" +--- libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2022 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) ++{ ++ template ++ int ++ __int_to_char(char*, ++#ifdef _GLIBCXX_USE_LONG_LONG ++ unsigned long long, ++#else ++ unsigned long, ++#endif ++ const char*, ios_base::fmtflags, bool); ++} ++#ifdef _GLIBCXX_USE_LONG_LONG ++asm (".hidden _ZSt13__int_to_charIcyEiPT_T0_PKS0_St13_Ios_Fmtflagsb"); ++#else ++asm (".hidden _ZSt13__int_to_charIcmEiPT_T0_PKS0_St13_Ios_Fmtflagsb"); ++#endif +--- libstdc++-v3/src/nonshared98/locale_facets80.cc.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/locale_facets80.cc 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 1997-2022 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/locale_facets.cc.jj 2022-05-12 10:06:51.358502960 +0200 ++++ libstdc++-v3/src/nonshared98/locale_facets.cc 2022-05-12 10:06:51.358502960 +0200 +@@ -0,0 +1,29 @@ ++// Copyright (C) 1997-2022 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 ++#include "../c++98/locale_facets.cc" ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt22__verify_grouping_implPKcjS0_j"); ++#else ++asm (".hidden _ZSt22__verify_grouping_implPKcmS0_m"); ++#endif +--- libstdc++-v3/src/nonshared98/misc-inst.cc.jj 2022-05-12 10:06:51.359502947 +0200 ++++ libstdc++-v3/src/nonshared98/misc-inst.cc 2022-05-12 10:06:51.359502947 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 1997-2022 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++98/misc-inst.cc" +--- libstdc++-v3/src/nonshared98/decimal-rtti.S.jj 2022-05-12 10:06:51.359502947 +0200 ++++ libstdc++-v3/src/nonshared98/decimal-rtti.S 2022-05-12 10:06:51.359502947 +0200 +@@ -0,0 +1,274 @@ ++/* Copyright (C) 2012-2022 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(_ZTIPKDd) ++ SECTION1(_ZTIPKDd) ++ ALIGN1 ++ .type SYM(_ZTIPKDd), OBJECT ++ .size SYM(_ZTIPKDd), SIZE1 ++_ZTIPKDd: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDd) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDd) ++ .weak SYM(_ZTIPDd) ++ SECTION1(_ZTIPDd) ++ ALIGN1 ++ .type SYM(_ZTIPDd), OBJECT ++ .size SYM(_ZTIPDd), SIZE1 ++_ZTIPDd: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDd) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDd) ++ .weak SYM(_ZTIDd) ++ SECTION2(_ZTIDd) ++ ALIGN2 ++ .type SYM(_ZTIDd), OBJECT ++ .size SYM(_ZTIDd), SIZE2 ++_ZTIDd: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDd) ++ .weak SYM(_ZTIPKDe) ++ SECTION1(_ZTIPKDe) ++ ALIGN1 ++ .type SYM(_ZTIPKDe), OBJECT ++ .size SYM(_ZTIPKDe), SIZE1 ++_ZTIPKDe: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDe) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDe) ++ .weak SYM(_ZTIPDe) ++ SECTION1(_ZTIPDe) ++ ALIGN1 ++ .type SYM(_ZTIPDe), OBJECT ++ .size SYM(_ZTIPDe), SIZE1 ++_ZTIPDe: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDe) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDe) ++ .weak SYM(_ZTIDe) ++ SECTION2(_ZTIDe) ++ ALIGN2 ++ .type SYM(_ZTIDe), OBJECT ++ .size SYM(_ZTIDe), SIZE2 ++_ZTIDe: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDe) ++ .weak SYM(_ZTIPKDf) ++ SECTION1(_ZTIPKDf) ++ ALIGN1 ++ .type SYM(_ZTIPKDf), OBJECT ++ .size SYM(_ZTIPKDf), SIZE1 ++_ZTIPKDf: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDf) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDf) ++ .weak SYM(_ZTIPDf) ++ SECTION1(_ZTIPDf) ++ ALIGN1 ++ .type SYM(_ZTIPDf), OBJECT ++ .size SYM(_ZTIPDf), SIZE1 ++_ZTIPDf: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDf) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDf) ++ .weak SYM(_ZTIDf) ++ SECTION2(_ZTIDf) ++ ALIGN2 ++ .type SYM(_ZTIDf), OBJECT ++ .size SYM(_ZTIDf), SIZE2 ++_ZTIDf: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDf) ++ .weak SYM(_ZTSPKDd) ++ .hidden SYM(_ZTSPKDd) ++ SECTION3(_ZTSPKDd) ++ ALIGN3 ++ .type SYM(_ZTSPKDd), OBJECT ++ .size SYM(_ZTSPKDd), 5 ++_ZTSPKDd: ++ STRING "PKDd" ++ .weak SYM(_ZTSPDd) ++ .hidden SYM(_ZTSPDd) ++ SECTION3(_ZTSPDd) ++ ALIGN3 ++ .type SYM(_ZTSPDd), OBJECT ++ .size SYM(_ZTSPDd), 4 ++_ZTSPDd: ++ STRING "PDd" ++ .weak SYM(_ZTSDd) ++ .hidden SYM(_ZTSDd) ++ SECTION3(_ZTSDd) ++ ALIGN3 ++ .type SYM(_ZTSDd), OBJECT ++ .size SYM(_ZTSDd), 3 ++_ZTSDd: ++ STRING "Dd" ++ .weak SYM(_ZTSPKDe) ++ .hidden SYM(_ZTSPKDe) ++ SECTION3(_ZTSPKDe) ++ ALIGN3 ++ .type SYM(_ZTSPKDe), OBJECT ++ .size SYM(_ZTSPKDe), 5 ++_ZTSPKDe: ++ STRING "PKDe" ++ .weak SYM(_ZTSPDe) ++ .hidden SYM(_ZTSPDe) ++ SECTION3(_ZTSPDe) ++ ALIGN3 ++ .type SYM(_ZTSPDe), OBJECT ++ .size SYM(_ZTSPDe), 4 ++_ZTSPDe: ++ STRING "PDe" ++ .weak SYM(_ZTSDe) ++ .hidden SYM(_ZTSDe) ++ SECTION3(_ZTSDe) ++ ALIGN3 ++ .type SYM(_ZTSDe), OBJECT ++ .size SYM(_ZTSDe), 3 ++_ZTSDe: ++ STRING "De" ++ .weak SYM(_ZTSPKDf) ++ .hidden SYM(_ZTSPKDf) ++ SECTION3(_ZTSPKDf) ++ ALIGN3 ++ .type SYM(_ZTSPKDf), OBJECT ++ .size SYM(_ZTSPKDf), 5 ++_ZTSPKDf: ++ STRING "PKDf" ++ .weak SYM(_ZTSPDf) ++ .hidden SYM(_ZTSPDf) ++ SECTION3(_ZTSPDf) ++ ALIGN3 ++ .type SYM(_ZTSPDf), OBJECT ++ .size SYM(_ZTSPDf), 4 ++_ZTSPDf: ++ STRING "PDf" ++ .weak SYM(_ZTSDf) ++ .hidden SYM(_ZTSDf) ++ SECTION3(_ZTSDf) ++ ALIGN3 ++ .type SYM(_ZTSDf), OBJECT ++ .size SYM(_ZTSDf), 3 ++_ZTSDf: ++ STRING "Df" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/locale.cc.jj 2022-05-12 10:06:51.359502947 +0200 ++++ libstdc++-v3/src/nonshared98/locale.cc 2022-05-12 10:06:51.359502947 +0200 +@@ -0,0 +1,84 @@ ++// Copyright (C) 1997-2022 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 ++ ++namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] = ++ { ++ "LC_CTYPE", ++ "LC_NUMERIC", ++ "LC_TIME", ++ "LC_COLLATE", ++ "LC_MONETARY", ++ "LC_MESSAGES", ++ "LC_PAPER", ++ "LC_NAME", ++ "LC_ADDRESS", ++ "LC_TELEPHONE", ++ "LC_MEASUREMENT", ++ "LC_IDENTIFICATION" ++ }; ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ const char* const* const locale::_S_categories = __gnu_cxx::category_names; ++ ++ _GLIBCXX_DEFAULT_ABI_TAG ++ string ++ locale::name() const ++ { ++ string __ret; ++ if (!_M_impl->_M_names[0]) ++ __ret = '*'; ++ else if (_M_impl->_M_check_same_name()) ++ __ret = _M_impl->_M_names[0]; ++ else ++ { ++ __ret.reserve(128); ++ __ret += _S_categories[0]; ++ __ret += '='; ++ __ret += _M_impl->_M_names[0]; ++ for (size_t __i = 1; __i < _S_categories_size; ++__i) ++ { ++ __ret += ';'; ++ __ret += _S_categories[__i]; ++ __ret += '='; ++ __ret += _M_impl->_M_names[__i]; ++ } ++ } ++ return __ret; ++ } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZNSt6locale13_S_categoriesE"); +--- libstdc++-v3/src/nonshared98/list.cc.jj 2022-05-12 10:06:51.359502947 +0200 ++++ libstdc++-v3/src/nonshared98/list.cc 2022-05-12 10:06:51.359502947 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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++98/list.cc" +--- libstdc++-v3/src/nonshared98/wlocale-inst.cc.jj 2022-05-12 10:06:51.360502933 +0200 ++++ libstdc++-v3/src/nonshared98/wlocale-inst.cc 2022-05-12 10:06:51.359502947 +0200 +@@ -0,0 +1,28 @@ ++// Copyright (C) 2012-2022 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 ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "locale-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared98/locale-inst.cc.jj 2022-05-12 10:06:51.360502933 +0200 ++++ libstdc++-v3/src/nonshared98/locale-inst.cc 2022-05-12 10:06:51.360502933 +0200 +@@ -0,0 +1,39 @@ ++// Copyright (C) 2012-2022 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 ++ ++#ifndef C ++# define C char ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef time_get S; ++ ++ template ++ S::iter_type S::_M_extract_wday_or_month(iter_type, iter_type, int&, ++ const C **, size_t, ios_base&, ++ ios_base::iostate&) const; ++ ++} +--- libstdc++-v3/src/nonshared98/stdexcept.cc.jj 2022-05-12 10:06:51.360502933 +0200 ++++ libstdc++-v3/src/nonshared98/stdexcept.cc 2022-05-12 10:06:51.360502933 +0200 +@@ -0,0 +1,44 @@ ++// Copyright (C) 2012-2022 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 __ARM_EABI__ ++#define RET const void * ++#else ++#define RET void ++#endif ++#define BASE_DTOR(name) \ ++extern RET _ZN##name##D1Ev (const void *t); \ ++RET _ZN##name##D2Ev (const void *t) \ ++{ \ ++ return _ZN##name##D1Ev (t); \ ++} \ ++ ++extern "C" ++{ ++ BASE_DTOR (St11range_error) ++ BASE_DTOR (St12domain_error) ++ BASE_DTOR (St12length_error) ++ BASE_DTOR (St12out_of_range) ++ BASE_DTOR (St14overflow_error) ++ BASE_DTOR (St15underflow_error) ++ BASE_DTOR (St16invalid_argument) ++} +--- libstdc++-v3/src/nonshared98/numeric_members_cow.cc.jj 2022-05-12 10:06:51.360502933 +0200 ++++ libstdc++-v3/src/nonshared98/numeric_members_cow.cc 2022-05-12 10:06:51.360502933 +0200 +@@ -0,0 +1,33 @@ ++// Copyright (C) 2012-2022 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 "../c++98/numeric_members.cc" ++asm (".hidden _ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct"); ++asm (".hidden _ZNSt8numpunctIcED0Ev"); ++asm (".hidden _ZNSt8numpunctIcED1Ev"); ++asm (".hidden _ZNSt8numpunctIcED2Ev"); ++asm (".hidden _ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct"); ++asm (".hidden _ZNSt8numpunctIwED0Ev"); ++asm (".hidden _ZNSt8numpunctIwED1Ev"); ++asm (".hidden _ZNSt8numpunctIwED2Ev"); ++asm (".hidden _ZSt24__narrow_multibyte_charsPKcP15__locale_struct"); +--- libstdc++-v3/src/nonshared98/istream-string.cc.jj 2022-05-12 10:06:51.360502933 +0200 ++++ libstdc++-v3/src/nonshared98/istream-string.cc 2022-05-12 10:06:51.360502933 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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++98/istream-string.cc" +--- libstdc++-v3/src/nonshared98/c++locale.cc.jj 2022-05-12 10:06:51.360502933 +0200 ++++ libstdc++-v3/src/nonshared98/c++locale.cc 2022-05-12 10:06:51.360502933 +0200 +@@ -0,0 +1,33 @@ ++// Copyright (C) 2016-2022 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_CXX98 1 ++#include "../c++98/c++locale.cc" ++asm (".hidden _ZNKSt8Catalogs6_M_getEi"); ++asm (".hidden _ZNSt8Catalogs6_M_addEPKcSt6locale"); ++asm (".hidden _ZNSt8Catalogs8_M_eraseEi"); ++asm (".hidden _ZNSt8CatalogsD1Ev"); ++asm (".hidden _ZNSt8CatalogsD2Ev"); ++asm (".hidden _ZSt12get_catalogsv"); ++asm (".hidden _ZN9__gnu_cxx13__scoped_lockD1Ev"); ++asm (".hidden _ZN9__gnu_cxx13__scoped_lockD2Ev"); ++asm (".hidden _ZNSt6vectorIPSt12Catalog_infoSaIS1_EE17_M_realloc_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_"); +--- libstdc++-v3/src/nonshared98/ios_failure80.cc.jj 2022-05-12 10:06:51.361502920 +0200 ++++ libstdc++-v3/src/nonshared98/ios_failure80.cc 2022-05-12 10:06:51.361502920 +0200 +@@ -0,0 +1,27 @@ ++// Copyright (C) 2019-2022 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/Makefile.am.jj 2022-05-12 10:06:51.361502920 +0200 ++++ libstdc++-v3/src/nonshared98/Makefile.am 2022-05-12 19:23:50.988590738 +0200 +@@ -0,0 +1,170 @@ ++## Makefile for the C++03 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2022 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 = libnonshared98convenience44.la \ ++ libnonshared98convenience48.la \ ++ 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} ++ ++parallel_sources44 = list_associated-2.cc ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ snprintf_lite-inst.cc \ ++ misc-inst.cc ++inst_sources44 = \ ++ locale-inst.cc \ ++ wlocale-inst.cc \ ++ sstream-inst.cc \ ++ streambuf-inst.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++inst_sources44 = ++endif ++ ++# Sources present in the src directory, always present. ++sources = \ ++ char8_t-rtti.S ++sources4448 = \ ++ collate_members.cc \ ++ float128.S \ ++ istream-string.cc \ ++ locale.cc \ ++ locale_facets.cc \ ++ c++locale.cc \ ++ ios_failure.cc \ ++ messages_members.cc \ ++ monetary_members.cc \ ++ numeric_members.cc \ ++ numeric_members_cow.cc \ ++ eh_exception.cc \ ++ eh_catch.cc \ ++ ${inst_sources} ++sources44 = \ ++ list-aux-2.cc \ ++ decimal-rtti.S \ ++ nullptr-rtti.S \ ++ int128.S \ ++ compatibility-debug_list-2.cc \ ++ list.cc \ ++ hash_bytes.cc \ ++ stdexcept.cc \ ++ eh_alloc.cc \ ++ eh_tm.cc \ ++ pure.cc \ ++ ${parallel_sources44} \ ++ ${inst_sources44} ++sources48 = int12848.S \ ++ eh_alloc48.cc ++sources80 = \ ++ ios_failure80.cc \ ++ locale_facets80.cc ++sources110 = \ ++ locale_facets80.cc ++ ++vpath % $(top_srcdir)/src/nonshared98 ++vpath % $(top_srcdir) ++ ++libnonshared98convenience44_la_SOURCES = $(sources) $(sources4448) $(sources44) ++libnonshared98convenience48_la_SOURCES = $(sources) $(sources4448) $(sources48) ++libnonshared98convenience80_la_SOURCES = $(sources) $(sources80) ++libnonshared98convenience110_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++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 $@ ++ ++collate_members.lo: collate_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++messages_members.lo: messages_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++monetary_members.lo: monetary_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members.lo: numeric_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members_cow.lo: numeric_members_cow.cc ++ $(LTCXXCOMPILE) -I. -c $< ++# Use special rules to compile with -fimplicit-templates. ++c++locale.lo: c++locale.cc ++ $(LTCXXCOMPILE) -I. -fimplicit-templates -c $< ++c++locale.o: c++locale.cc ++ $(CXXCOMPILE) -I. -fimplicit-templates -c $< +--- libstdc++-v3/src/nonshared98/monetary_members.cc.jj 2022-05-12 10:06:51.361502920 +0200 ++++ libstdc++-v3/src/nonshared98/monetary_members.cc 2022-05-12 10:06:51.361502920 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "../c++98/monetary_members.cc" +--- libstdc++-v3/src/nonshared98/messages_members.cc.jj 2022-05-12 10:06:51.361502920 +0200 ++++ libstdc++-v3/src/nonshared98/messages_members.cc 2022-05-12 10:06:51.361502920 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "../c++98/messages_members.cc" +--- libstdc++-v3/src/nonshared98/Makefile.in.jj 2022-05-12 10:06:51.362502906 +0200 ++++ libstdc++-v3/src/nonshared98/Makefile.in 2022-05-12 19:26:27.258515503 +0200 +@@ -0,0 +1,905 @@ ++# 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/stdint.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 = locale_facets80.lo ++am_libnonshared98convenience110_la_OBJECTS = $(am__objects_1) ++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 = ++libnonshared98convenience44_la_LIBADD = ++am__objects_2 = char8_t-rtti.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = snprintf_lite-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.lo ++am__objects_4 = collate_members.lo float128.lo istream-string.lo \ ++ locale.lo locale_facets.lo c++locale.lo ios_failure.lo \ ++ messages_members.lo monetary_members.lo numeric_members.lo \ ++ numeric_members_cow.lo eh_exception.lo eh_catch.lo \ ++ $(am__objects_3) ++am__objects_5 = list_associated-2.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_6 = locale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.lo sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.lo ++am__objects_7 = list-aux-2.lo decimal-rtti.lo nullptr-rtti.lo \ ++ int128.lo compatibility-debug_list-2.lo list.lo hash_bytes.lo \ ++ stdexcept.lo eh_alloc.lo eh_tm.lo pure.lo $(am__objects_5) \ ++ $(am__objects_6) ++am_libnonshared98convenience44_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_4) $(am__objects_7) ++libnonshared98convenience44_la_OBJECTS = \ ++ $(am_libnonshared98convenience44_la_OBJECTS) ++libnonshared98convenience48_la_LIBADD = ++am__objects_8 = int12848.lo eh_alloc48.lo ++am_libnonshared98convenience48_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_4) $(am__objects_8) ++libnonshared98convenience48_la_OBJECTS = \ ++ $(am_libnonshared98convenience48_la_OBJECTS) ++libnonshared98convenience80_la_LIBADD = ++am__objects_9 = ios_failure80.lo locale_facets80.lo ++am_libnonshared98convenience80_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_9) ++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) \ ++ $(libnonshared98convenience44_la_SOURCES) \ ++ $(libnonshared98convenience48_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@ ++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 = libnonshared98convenience44.la \ ++ libnonshared98convenience48.la \ ++ 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} ++ ++parallel_sources44 = list_associated-2.cc ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ snprintf_lite-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources44 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources44 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.cc ++ ++ ++# Sources present in the src directory, always present. ++sources = \ ++ char8_t-rtti.S ++ ++sources4448 = \ ++ collate_members.cc \ ++ float128.S \ ++ istream-string.cc \ ++ locale.cc \ ++ locale_facets.cc \ ++ c++locale.cc \ ++ ios_failure.cc \ ++ messages_members.cc \ ++ monetary_members.cc \ ++ numeric_members.cc \ ++ numeric_members_cow.cc \ ++ eh_exception.cc \ ++ eh_catch.cc \ ++ ${inst_sources} ++ ++sources44 = \ ++ list-aux-2.cc \ ++ decimal-rtti.S \ ++ nullptr-rtti.S \ ++ int128.S \ ++ compatibility-debug_list-2.cc \ ++ list.cc \ ++ hash_bytes.cc \ ++ stdexcept.cc \ ++ eh_alloc.cc \ ++ eh_tm.cc \ ++ pure.cc \ ++ ${parallel_sources44} \ ++ ${inst_sources44} ++ ++sources48 = int12848.S \ ++ eh_alloc48.cc ++ ++sources80 = \ ++ ios_failure80.cc \ ++ locale_facets80.cc ++ ++sources110 = \ ++ locale_facets80.cc ++ ++libnonshared98convenience44_la_SOURCES = $(sources) $(sources4448) $(sources44) ++libnonshared98convenience48_la_SOURCES = $(sources) $(sources4448) $(sources48) ++libnonshared98convenience80_la_SOURCES = $(sources) $(sources80) ++libnonshared98convenience110_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++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) ++ ++libnonshared98convenience44.la: $(libnonshared98convenience44_la_OBJECTS) $(libnonshared98convenience44_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience44_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience44_la_OBJECTS) $(libnonshared98convenience44_la_LIBADD) $(LIBS) ++ ++libnonshared98convenience48.la: $(libnonshared98convenience48_la_OBJECTS) $(libnonshared98convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience48_la_OBJECTS) $(libnonshared98convenience48_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) ++ ++collate_members.lo: collate_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++messages_members.lo: messages_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++monetary_members.lo: monetary_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members.lo: numeric_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members_cow.lo: numeric_members_cow.cc ++ $(LTCXXCOMPILE) -I. -c $< ++# Use special rules to compile with -fimplicit-templates. ++c++locale.lo: c++locale.cc ++ $(LTCXXCOMPILE) -I. -fimplicit-templates -c $< ++c++locale.o: c++locale.cc ++ $(CXXCOMPILE) -I. -fimplicit-templates -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/nonshared98/list_associated-2.cc.jj 2022-05-12 10:06:51.362502906 +0200 ++++ libstdc++-v3/src/nonshared98/list_associated-2.cc 2022-05-12 10:06:51.362502906 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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++98/list_associated-2.cc" +--- libstdc++-v3/src/nonshared98/eh_catch.cc.jj 2022-05-12 10:06:51.362502906 +0200 ++++ libstdc++-v3/src/nonshared98/eh_catch.cc 2022-05-12 10:06:51.362502906 +0200 +@@ -0,0 +1,39 @@ ++// -*- C++ -*- Exception handling routines for catching. ++// Copyright (C) 2001-2022 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 "unwind-cxx.h" ++ ++using namespace __cxxabiv1; ++ ++int ++std::uncaught_exceptions() throw() ++{ ++#if __cpp_exceptions ++ __cxa_eh_globals *globals = __cxa_get_globals (); ++ return globals->uncaughtExceptions; ++#else ++ return 0; ++#endif ++} +--- libstdc++-v3/src/nonshared98/compatibility-debug_list-2.cc.jj 2022-05-12 10:06:51.363502893 +0200 ++++ libstdc++-v3/src/nonshared98/compatibility-debug_list-2.cc 2022-05-12 10:06:51.363502893 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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++98/compatibility-debug_list-2.cc" +--- libstdc++-v3/src/nonshared98/eh_alloc.cc.jj 2022-05-12 10:06:51.363502893 +0200 ++++ libstdc++-v3/src/nonshared98/eh_alloc.cc 2022-05-12 10:06:51.363502893 +0200 +@@ -0,0 +1,177 @@ ++// -*- C++ -*- Allocate exception objects. ++// Copyright (C) 2001-2022 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 ++// . ++ ++// This is derived from the C++ ABI for IA-64. Where we diverge ++// for cross-architecture compatibility are noted with "@@@". ++ ++#include ++#include ++#if _GLIBCXX_HOSTED ++#include ++#endif ++#include ++#include ++#include "unwind-cxx.h" ++#include ++ ++#if _GLIBCXX_HOSTED ++using std::free; ++using std::malloc; ++using std::memset; ++#else ++// In a freestanding environment, these functions may not be available ++// -- but for now, we assume that they are. ++extern "C" void *malloc (std::size_t); ++extern "C" void free(void *); ++extern "C" void *memset (void *, int, std::size_t); ++#endif ++ ++using namespace __cxxabiv1; ++ ++// ??? How to control these parameters. ++ ++// Guess from the size of basic types how large a buffer is reasonable. ++// Note that the basic c++ exception header has 13 pointers and 2 ints, ++// so on a system with PSImode pointers we're talking about 56 bytes ++// just for overhead. ++ ++#if INT_MAX == 32767 ++# define EMERGENCY_OBJ_SIZE 128 ++# define EMERGENCY_OBJ_COUNT 16 ++#elif LONG_MAX == 2147483647 ++# define EMERGENCY_OBJ_SIZE 512 ++# define EMERGENCY_OBJ_COUNT 32 ++#else ++# define EMERGENCY_OBJ_SIZE 1024 ++# define EMERGENCY_OBJ_COUNT 64 ++#endif ++ ++#ifndef __GTHREADS ++# undef EMERGENCY_OBJ_COUNT ++# define EMERGENCY_OBJ_COUNT 4 ++#endif ++ ++#if INT_MAX == 32767 || EMERGENCY_OBJ_COUNT <= 32 ++typedef unsigned int bitmask_type; ++#else ++typedef unsigned long bitmask_type; ++#endif ++ ++ ++typedef char one_buffer[EMERGENCY_OBJ_SIZE] __attribute__((aligned)); ++ ++static __cxa_dependent_exception dependents_buffer[EMERGENCY_OBJ_COUNT]; ++static bitmask_type dependents_used; ++ ++namespace ++{ ++ // A single mutex controlling emergency allocations. ++ __gnu_cxx::__mutex emergency_mutex; ++} ++ ++extern "C" __cxa_dependent_exception* ++__cxxabiv1::__cxa_allocate_dependent_exception() _GLIBCXX_NOTHROW ++{ ++ __cxa_dependent_exception *ret; ++ ++ ret = static_cast<__cxa_dependent_exception*> ++ (malloc (sizeof (__cxa_dependent_exception))); ++ ++ if (!ret) ++ { ++ __gnu_cxx::__scoped_lock sentry(emergency_mutex); ++ ++ bitmask_type used = dependents_used; ++ unsigned int which = 0; ++ ++ while (used & 1) ++ { ++ used >>= 1; ++ if (++which >= EMERGENCY_OBJ_COUNT) ++ goto failed; ++ } ++ ++ dependents_used |= (bitmask_type)1 << which; ++ ret = &dependents_buffer[which]; ++ ++ failed:; ++ ++ if (!ret) ++ std::terminate (); ++ } ++ ++ // We have an uncaught exception as soon as we allocate memory. This ++ // yields uncaught_exception() true during the copy-constructor that ++ // initializes the exception object. See Issue 475. ++ __cxa_eh_globals *globals = __cxa_get_globals (); ++ globals->uncaughtExceptions += 1; ++ ++ memset (ret, 0, sizeof (__cxa_dependent_exception)); ++ ++ return ret; ++} ++ ++ ++extern "C" void ++__cxxabiv1::__cxa_free_dependent_exception ++ (__cxa_dependent_exception *vptr) _GLIBCXX_NOTHROW ++{ ++ char *base = (char *) dependents_buffer; ++ char *ptr = (char *) vptr; ++ if (ptr >= base ++ && ptr < base + sizeof (dependents_buffer)) ++ { ++ const unsigned int which ++ = (unsigned) (ptr - base) / sizeof (__cxa_dependent_exception); ++ ++ __gnu_cxx::__scoped_lock sentry(emergency_mutex); ++ dependents_used &= ~((bitmask_type)1 << which); ++ } ++ else ++ free (vptr); ++} ++ ++namespace __gnu_cxx ++{ ++ void ++ __freeres() ++ { ++ } ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); +--- libstdc++-v3/src/nonshared98/nullptr-rtti.S.jj 2022-05-12 10:06:51.363502893 +0200 ++++ libstdc++-v3/src/nonshared98/nullptr-rtti.S 2022-05-12 10:06:51.363502893 +0200 +@@ -0,0 +1,166 @@ ++/* Copyright (C) 2012-2022 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(_ZTIPKDn) ++ SECTION1(_ZTIPKDn) ++ ALIGN1 ++ .type SYM(_ZTIPKDn), OBJECT ++ .size SYM(_ZTIPKDn), SIZE1 ++_ZTIPKDn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDn) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDn) ++ .weak SYM(_ZTIPDn) ++ SECTION1(_ZTIPDn) ++ ALIGN1 ++ .type SYM(_ZTIPDn), OBJECT ++ .size SYM(_ZTIPDn), SIZE1 ++_ZTIPDn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDn) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDn) ++ .weak SYM(_ZTIDn) ++ SECTION2(_ZTIDn) ++ ALIGN2 ++ .type SYM(_ZTIDn), OBJECT ++ .size SYM(_ZTIDn), SIZE2 ++_ZTIDn: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDn) ++ .weak SYM(_ZTSPKDn) ++ .hidden SYM(_ZTSPKDn) ++ SECTION3(_ZTSPKDn) ++ ALIGN3 ++ .type SYM(_ZTSPKDn), OBJECT ++ .size SYM(_ZTSPKDn), 5 ++_ZTSPKDn: ++ STRING "PKDn" ++ .weak SYM(_ZTSPDn) ++ .hidden SYM(_ZTSPDn) ++ SECTION3(_ZTSPDn) ++ ALIGN3 ++ .type SYM(_ZTSPDn), OBJECT ++ .size SYM(_ZTSPDn), 4 ++_ZTSPDn: ++ STRING "PDn" ++ .weak SYM(_ZTSDn) ++ .hidden SYM(_ZTSDn) ++ SECTION3(_ZTSDn) ++ ALIGN3 ++ .type SYM(_ZTSDn), OBJECT ++ .size SYM(_ZTSDn), 3 ++_ZTSDn: ++ STRING "Dn" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/eh_alloc48.cc.jj 2022-05-12 10:06:51.363502893 +0200 ++++ libstdc++-v3/src/nonshared98/eh_alloc48.cc 2022-05-12 10:06:51.363502893 +0200 +@@ -0,0 +1,36 @@ ++// -*- C++ -*- Allocate exception objects. ++// Copyright (C) 2001-2022 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 ++// . ++ ++// This is derived from the C++ ABI for IA-64. Where we diverge ++// for cross-architecture compatibility are noted with "@@@". ++ ++#include ++ ++namespace __gnu_cxx ++{ ++ void ++ __freeres() ++ { ++ } ++} +--- libstdc++-v3/src/nonshared98/int128.S.jj 2022-05-12 10:06:51.364502879 +0200 ++++ libstdc++-v3/src/nonshared98/int128.S 2022-05-12 10:06:51.364502879 +0200 +@@ -0,0 +1,216 @@ ++/* Copyright (C) 2012-2022 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 ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 ++ .weak SYM(_ZTIPKn) ++ SECTION1(_ZTIPKn) ++ ALIGN1 ++ .type SYM(_ZTIPKn), OBJECT ++ .size SYM(_ZTIPKn), SIZE1 ++_ZTIPKn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKn) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIn) ++ .weak SYM(_ZTIPn) ++ SECTION1(_ZTIPn) ++ ALIGN1 ++ .type SYM(_ZTIPn), OBJECT ++ .size SYM(_ZTIPn), SIZE1 ++_ZTIPn: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPn) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIn) ++ .weak SYM(_ZTIn) ++ SECTION2(_ZTIn) ++ ALIGN2 ++ .type SYM(_ZTIn), OBJECT ++ .size SYM(_ZTIn), SIZE2 ++_ZTIn: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSn) ++ .weak SYM(_ZTIPKo) ++ SECTION1(_ZTIPKo) ++ ALIGN1 ++ .type SYM(_ZTIPKo), OBJECT ++ .size SYM(_ZTIPKo), SIZE1 ++_ZTIPKo: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKo) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIo) ++ .weak SYM(_ZTIPo) ++ SECTION1(_ZTIPo) ++ ALIGN1 ++ .type SYM(_ZTIPo), OBJECT ++ .size SYM(_ZTIPo), SIZE1 ++_ZTIPo: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPo) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIo) ++ .weak SYM(_ZTIo) ++ SECTION2(_ZTIo) ++ ALIGN2 ++ .type SYM(_ZTIo), OBJECT ++ .size SYM(_ZTIo), SIZE2 ++_ZTIo: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSo) ++#endif ++ .weak SYM(_ZTSPKn) ++ SECTION3(_ZTSPKn) ++ ALIGN3 ++ .type SYM(_ZTSPKn), OBJECT ++ .size SYM(_ZTSPKn), 4 ++_ZTSPKn: ++ STRING "PKn" ++ .weak SYM(_ZTSPn) ++ SECTION3(_ZTSPn) ++ ALIGN3 ++ .type SYM(_ZTSPn), OBJECT ++ .size SYM(_ZTSPn), 3 ++_ZTSPn: ++ STRING "Pn" ++ .weak SYM(_ZTSn) ++ SECTION3(_ZTSn) ++ ALIGN3 ++ .type SYM(_ZTSn), OBJECT ++ .size SYM(_ZTSn), 2 ++_ZTSn: ++ STRING "n" ++ .weak SYM(_ZTSPKo) ++ SECTION3(_ZTSPKo) ++ ALIGN3 ++ .type SYM(_ZTSPKo), OBJECT ++ .size SYM(_ZTSPKo), 4 ++_ZTSPKo: ++ STRING "PKo" ++ .weak SYM(_ZTSPo) ++ SECTION3(_ZTSPo) ++ ALIGN3 ++ .type SYM(_ZTSPo), OBJECT ++ .size SYM(_ZTSPo), 3 ++_ZTSPo: ++ STRING "Po" ++ .weak SYM(_ZTSo) ++ SECTION3(_ZTSo) ++ ALIGN3 ++ .type SYM(_ZTSo), OBJECT ++ .size SYM(_ZTSo), 2 ++_ZTSo: ++ STRING "o" ++#endif ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared98/numeric_members.cc.jj 2022-05-12 10:06:51.364502879 +0200 ++++ libstdc++-v3/src/nonshared98/numeric_members.cc 2022-05-12 10:06:51.364502879 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "../c++98/numeric_members.cc" +--- libstdc++-v3/src/nonshared98/collate_members.cc.jj 2022-05-12 10:06:51.364502879 +0200 ++++ libstdc++-v3/src/nonshared98/collate_members.cc 2022-05-12 10:06:51.364502879 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "../c++98/collate_members.cc" +--- libstdc++-v3/src/nonshared98/hash_bytes.cc.jj 2022-05-12 10:06:51.364502879 +0200 ++++ libstdc++-v3/src/nonshared98/hash_bytes.cc 2022-05-12 10:06:51.364502879 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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++/hash_bytes.cc" +--- libstdc++-v3/src/nonshared98/list-aux-2.cc.jj 2022-05-12 10:06:51.364502879 +0200 ++++ libstdc++-v3/src/nonshared98/list-aux-2.cc 2022-05-12 10:06:51.364502879 +0200 +@@ -0,0 +1,56 @@ ++// Copyright (C) 2012-2022 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 ++// . ++ ++extern "C" ++{ ++ extern void _ZNSt15_List_node_base8transferEPS_S0_(void *f, void *l) throw(); ++ ++ void ++ _ZNSt15_List_node_base11_M_transferEPS_S0_(void *f, void *l) throw() ++ { ++ _ZNSt15_List_node_base8transferEPS_S0_(f, l); ++ } ++ ++ extern void _ZNSt15_List_node_base7reverseEv() throw(); ++ ++ void ++ _ZNSt15_List_node_base10_M_reverseEv() throw() ++ { ++ _ZNSt15_List_node_base7reverseEv(); ++ } ++ ++ extern void _ZNSt15_List_node_base4hookEPS_(void *p) throw(); ++ ++ void ++ _ZNSt15_List_node_base7_M_hookEPS_(void *p) throw() ++ { ++ _ZNSt15_List_node_base4hookEPS_(p); ++ } ++ ++ extern void _ZNSt15_List_node_base6unhookEv() throw(); ++ ++ void ++ _ZNSt15_List_node_base9_M_unhookEv() throw() ++ { ++ _ZNSt15_List_node_base6unhookEv(); ++ } ++} +--- libstdc++-v3/src/nonshared11/sstream-inst.cc.jj 2022-05-12 10:06:51.365502866 +0200 ++++ libstdc++-v3/src/nonshared11/sstream-inst.cc 2022-05-12 10:06:51.364502879 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2022 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/sstream-inst.cc" ++asm (".hidden _ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE12_M_high_markEv"); ++asm (".hidden _ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE12_M_high_markEv"); +--- libstdc++-v3/src/nonshared11/string-inst80.cc.jj 2022-05-12 10:06:51.365502866 +0200 ++++ libstdc++-v3/src/nonshared11/string-inst80.cc 2022-05-12 10:06:51.365502866 +0200 +@@ -0,0 +1,59 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2022 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; ++ ++ template ++ S::iterator ++ S::insert(S::const_iterator, initializer_list); ++ ++ template ++ void S::reserve(); ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/condition_variable.cc.jj 2022-05-12 10:06:51.365502866 +0200 ++++ libstdc++-v3/src/nonshared11/condition_variable.cc 2022-05-12 17:44:27.728444151 +0200 +@@ -0,0 +1,28 @@ ++// condition_variable -*- C++ -*- ++ ++// Copyright (C) 2008-2022 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 ++#include "../c++11/condition_variable.cc" ++asm (".hidden _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE"); ++asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt"); +--- libstdc++-v3/src/nonshared11/debug110.cc.jj 2022-05-12 19:25:25.450336299 +0200 ++++ libstdc++-v3/src/nonshared11/debug110.cc 2022-05-12 19:25:51.048996360 +0200 +@@ -0,0 +1,30 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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 2022-05-12 15:32:47.574912626 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-wlocale-inst80.cc 2022-05-12 15:41:01.653315091 +0200 +@@ -0,0 +1,29 @@ ++// Copyright (C) 2022 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 +--- libstdc++-v3/src/nonshared11/del_opvsa.cc.jj 2022-05-12 10:06:51.365502866 +0200 ++++ libstdc++-v3/src/nonshared11/del_opvsa.cc 2022-05-12 10:06:51.365502866 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/del_opvsa.cc" +--- libstdc++-v3/src/nonshared11/istream-inst80.cc.jj 2022-05-12 10:06:51.365502866 +0200 ++++ libstdc++-v3/src/nonshared11/istream-inst80.cc 2022-05-12 10:06:51.365502866 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "istream-inst.cc" +--- libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc.jj 2022-05-12 10:06:51.365502866 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc 2022-05-12 10:06:51.365502866 +0200 +@@ -0,0 +1,52 @@ ++// Copyright (C) 2012-2022 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-wlocale-inst.cc" ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#else ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#endif ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); ++#else ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEm"); ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEm"); ++#endif ++asm (".hidden _ZSt16__convert_from_vRKP15__locale_structPciPKcz"); ++asm (".hidden _ZTISt10money_base"); ++asm (".hidden _ZTISt13messages_base"); ++asm (".hidden _ZTISt9time_base"); ++asm (".hidden _ZTSSt10money_base"); ++asm (".hidden _ZTSSt13messages_base"); ++asm (".hidden _ZTSSt9time_base"); +--- libstdc++-v3/src/nonshared11/limits.cc.jj 2022-05-12 10:06:51.366502853 +0200 ++++ libstdc++-v3/src/nonshared11/limits.cc 2022-05-12 10:06:51.366502853 +0200 +@@ -0,0 +1,57 @@ ++// Copyright (C) 2019-2022 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/locale-inst-asm.S.jj 2022-05-12 10:06:51.366502853 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst-asm.S 2022-05-12 10:06:51.366502853 +0200 +@@ -0,0 +1,291 @@ ++/* Copyright (C) 2015-2022 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 ++#define VPTR(x) data16.ua @iplt(x) ++#define SIZE3 48 ++#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 ++#ifndef SIZE3 ++#define SIZE3 SIZE1 ++#endif ++#ifndef VPTR ++#define VPTR(x) POINTER SYM(x) ++#endif ++ ++ .weak SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIcLb0EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIcLb0EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIcLb0EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIcLb0EE), 30 ++_ZTSSt18__moneypunct_cacheIcLb0EE: ++ STRING "St18__moneypunct_cacheIcLb0EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIcLb0EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIcLb0EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb0EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb0EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIcLb1EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIcLb1EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIcLb1EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIcLb1EE), 30 ++_ZTSSt18__moneypunct_cacheIcLb1EE: ++ STRING "St18__moneypunct_cacheIcLb1EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIcLb1EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIcLb1EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb1EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb1EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIwLb0EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIwLb0EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIwLb0EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIwLb0EE), 30 ++_ZTSSt18__moneypunct_cacheIwLb0EE: ++ STRING "St18__moneypunct_cacheIwLb0EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIwLb0EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIwLb0EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb0EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb0EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIwLb1EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIwLb1EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIwLb1EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIwLb1EE), 30 ++_ZTSSt18__moneypunct_cacheIwLb1EE: ++ STRING "St18__moneypunct_cacheIwLb1EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIwLb1EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIwLb1EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb1EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb1EED0Ev) ++ .weak SYM(_ZTISt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTISt16__numpunct_cacheIcE) ++ SECTION1(_ZTISt16__numpunct_cacheIcE) ++ ALIGN1 ++ .type SYM(_ZTISt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTISt16__numpunct_cacheIcE), SIZE1+SIZE2 ++_ZTISt16__numpunct_cacheIcE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt16__numpunct_cacheIcE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTSSt16__numpunct_cacheIcE) ++ SECTION3(_ZTSSt16__numpunct_cacheIcE) ++ ALIGN3 ++ .type SYM(_ZTSSt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTSSt16__numpunct_cacheIcE), 24 ++_ZTSSt16__numpunct_cacheIcE: ++ STRING "St16__numpunct_cacheIcE" ++ .weak SYM(_ZTVSt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTVSt16__numpunct_cacheIcE) ++ SECTION1(_ZTVSt16__numpunct_cacheIcE) ++ ALIGN1 ++ .type SYM(_ZTVSt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTVSt16__numpunct_cacheIcE), SIZE3 ++_ZTVSt16__numpunct_cacheIcE: ++ POINTER 0 ++ POINTER SYM(_ZTISt16__numpunct_cacheIcE) ++ VPTR(_ZNSt16__numpunct_cacheIcED1Ev) ++ VPTR(_ZNSt16__numpunct_cacheIcED0Ev) ++ .weak SYM(_ZTISt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTISt16__numpunct_cacheIwE) ++ SECTION1(_ZTISt16__numpunct_cacheIwE) ++ ALIGN1 ++ .type SYM(_ZTISt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTISt16__numpunct_cacheIwE), SIZE1+SIZE2 ++_ZTISt16__numpunct_cacheIwE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt16__numpunct_cacheIwE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTSSt16__numpunct_cacheIwE) ++ SECTION3(_ZTSSt16__numpunct_cacheIwE) ++ ALIGN3 ++ .type SYM(_ZTSSt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTSSt16__numpunct_cacheIwE), 24 ++_ZTSSt16__numpunct_cacheIwE: ++ STRING "St16__numpunct_cacheIwE" ++ .weak SYM(_ZTVSt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTVSt16__numpunct_cacheIwE) ++ SECTION1(_ZTVSt16__numpunct_cacheIwE) ++ ALIGN1 ++ .type SYM(_ZTVSt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTVSt16__numpunct_cacheIwE), SIZE3 ++_ZTVSt16__numpunct_cacheIwE: ++ POINTER 0 ++ POINTER SYM(_ZTISt16__numpunct_cacheIwE) ++ VPTR(_ZNSt16__numpunct_cacheIwED1Ev) ++ VPTR(_ZNSt16__numpunct_cacheIwED0Ev) ++ .section .note.GNU-stack,"",@progbits +--- libstdc++-v3/src/nonshared11/atexit_thread.cc.jj 2022-05-12 10:06:51.366502853 +0200 ++++ libstdc++-v3/src/nonshared11/atexit_thread.cc 2022-05-12 10:06:51.366502853 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2022 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++/atexit_thread.cc" +--- libstdc++-v3/src/nonshared11/streambuf-inst.cc.jj 2022-05-12 10:06:51.366502853 +0200 ++++ libstdc++-v3/src/nonshared11/streambuf-inst.cc 2022-05-12 10:06:51.366502853 +0200 +@@ -0,0 +1,42 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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/iostream-inst.cc.jj 2022-05-12 10:06:51.367502839 +0200 ++++ libstdc++-v3/src/nonshared11/iostream-inst.cc 2022-05-12 10:06:51.366502853 +0200 +@@ -0,0 +1,46 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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 ++ ++ template basic_iostream::basic_iostream(basic_iostream&&); ++ template basic_iostream& basic_iostream::operator=(basic_iostream&&); ++ template void basic_iostream::swap(basic_iostream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_iostream::basic_iostream(basic_iostream&&); ++ template basic_iostream& basic_iostream::operator=(basic_iostream&&); ++ template void basic_iostream::swap(basic_iostream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/debug44.cc.jj 2022-05-12 10:06:51.367502839 +0200 ++++ libstdc++-v3/src/nonshared11/debug44.cc 2022-05-12 14:56:13.970184267 +0200 +@@ -0,0 +1,280 @@ ++// Copyright (C) 2003-2022 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(); ++ } ++} ++ ++using namespace std; ++ ++namespace ++{ ++ void ++ swap_its(__gnu_debug::_Safe_sequence_base& __lhs, ++ __gnu_debug::_Safe_iterator_base*& __lhs_its, ++ __gnu_debug::_Safe_sequence_base& __rhs, ++ __gnu_debug::_Safe_iterator_base*& __rhs_its) ++ { ++ swap(__lhs_its, __rhs_its); ++ __gnu_debug::_Safe_iterator_base* __iter; ++ for (__iter = __rhs_its; __iter; __iter = __iter->_M_next) ++ __iter->_M_sequence = &__rhs; ++ for (__iter = __lhs_its; __iter; __iter = __iter->_M_next) ++ __iter->_M_sequence = &__lhs; ++ } ++ ++ void ++ swap_seq(__gnu_debug::_Safe_sequence_base& __lhs, ++ __gnu_debug::_Safe_sequence_base& __rhs) ++ { ++ swap(__lhs._M_version, __rhs._M_version); ++ swap_its(__lhs, __lhs._M_iterators, ++ __rhs, __rhs._M_iterators); ++ swap_its(__lhs, __lhs._M_const_iterators, ++ __rhs, __rhs._M_const_iterators); ++ } ++ ++ void ++ swap_ucont(__gnu_debug::_Safe_unordered_container_base& __lhs, ++ __gnu_debug::_Safe_unordered_container_base& __rhs) ++ { ++ swap_seq(__lhs, __rhs); ++ swap_its(__lhs, __lhs._M_local_iterators, ++ __rhs, __rhs._M_local_iterators); ++ swap_its(__lhs, __lhs._M_const_local_iterators, ++ __rhs, __rhs._M_const_local_iterators); ++ } ++ ++ void ++ detach_all(__gnu_debug::_Safe_iterator_base* __iter) ++ { ++ for (; __iter;) ++ { ++ __gnu_debug::_Safe_iterator_base* __old = __iter; ++ __iter = __iter->_M_next; ++ __old->_M_reset(); ++ } ++ } ++} // anonymous namespace ++ ++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(_Safe_sequence_base* __cont, bool __constant) ++ { ++ _M_detach(); ++ ++ // 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(this, __constant); ++ } ++ } ++ ++ 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() ++ { ++ if (_M_sequence) ++ { ++ _M_get_container()->_M_detach_local(this); ++ _M_reset(); ++ } ++ } ++ ++ 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_detach_all() ++ { ++ __gnu_cxx::__scoped_lock sentry(_M_get_mutex()); ++ detach_all(_M_iterators); ++ _M_iterators = 0; ++ ++ detach_all(_M_const_iterators); ++ _M_const_iterators = 0; ++ ++ detach_all(_M_local_iterators); ++ _M_local_iterators = 0; ++ ++ detach_all(_M_const_local_iterators); ++ _M_const_local_iterators = 0; ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_swap(_Safe_unordered_container_base& __x) noexcept ++ { ++ // We need to lock both containers to swap ++ using namespace __gnu_cxx; ++ __mutex *__this_mutex = &_M_get_mutex(); ++ __mutex *__x_mutex = &__x._M_get_mutex(); ++ if (__this_mutex == __x_mutex) ++ { ++ __scoped_lock __lock(*__this_mutex); ++ swap_ucont(*this, __x); ++ } ++ else ++ { ++ __scoped_lock __l1(__this_mutex < __x_mutex ++ ? *__this_mutex : *__x_mutex); ++ __scoped_lock __l2(__this_mutex < __x_mutex ++ ? *__x_mutex : *__this_mutex); ++ swap_ucont(*this, __x); ++ } ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_attach_local(_Safe_iterator_base* __it, bool __constant) ++ { ++ __gnu_cxx::__scoped_lock sentry(_M_get_mutex()); ++ _M_attach_local_single(__it, __constant); ++ } ++ ++ 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(_Safe_iterator_base* __it) ++ { ++ // Remove __it from this container's list ++ __gnu_cxx::__scoped_lock sentry(_M_get_mutex()); ++ _M_detach_local_single(__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 _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZN11__gnu_debug19_Safe_iterator_base8_M_resetEv"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base15_M_attach_localEPNS_19_Safe_iterator_baseEb"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base15_M_detach_localEPNS_19_Safe_iterator_baseE"); ++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"); ++asm (".hidden _ZN11__gnu_debug25_Safe_local_iterator_base16_M_detach_singleEv"); +--- libstdc++-v3/src/nonshared11/thread44.cc.jj 2022-05-12 10:06:51.367502839 +0200 ++++ libstdc++-v3/src/nonshared11/thread44.cc 2022-05-12 10:06:51.367502839 +0200 +@@ -0,0 +1,27 @@ ++// Copyright (C) 2008-2022 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_44 ++#include "../c++11/thread.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"); +--- libstdc++-v3/src/nonshared11/del_opa.cc.jj 2022-05-12 10:06:51.367502839 +0200 ++++ libstdc++-v3/src/nonshared11/del_opa.cc 2022-05-12 10:06:51.367502839 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/del_opa.cc" +--- libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc.jj 2022-05-12 10:06:51.367502839 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc 2022-05-12 10:06:51.367502839 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2022 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-stdexcept.cc" ++asm (".hidden _ZNSt12__cow_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__cow_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); +--- libstdc++-v3/src/nonshared11/placeholders.cc.jj 2022-05-12 10:06:51.368502826 +0200 ++++ libstdc++-v3/src/nonshared11/placeholders.cc 2022-05-12 10:06:51.368502826 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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/placeholders.cc" +--- libstdc++-v3/src/nonshared11/future.cc.jj 2022-05-12 10:06:51.368502826 +0200 ++++ libstdc++-v3/src/nonshared11/future.cc 2022-05-12 19:49:28.299179654 +0200 +@@ -0,0 +1,40 @@ ++// Copyright (C) 2012-2022 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 ++#undef _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE ++#include "../c++11/future.cc" ++const std::error_category* _ZSt15future_category = &std::future_category(); ++#ifndef __i386__ ++//asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt"); ++#endif ++//asm (".hidden _ZNSt13__future_base11_State_base15_M_run_deferredEv"); ++//asm (".hidden _ZTSNSt13__future_base11_State_baseE"); ++asm (".hidden _ZTSNSt13__future_base12_Result_baseE"); ++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 _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv"); ++asm (".hidden _ZNSt10unique_ptrINSt13__future_base13_State_baseV211_Make_readyESt14default_deleteIS2_EED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt13__future_base13_State_baseV211_Make_readyESt14default_deleteIS2_EED2Ev"); ++asm (".hidden _ZNSt12future_errorC1ESt10error_code"); ++asm (".hidden _ZNSt12future_errorC2ESt10error_code"); +--- libstdc++-v3/src/nonshared11/cow-string-inst80.cc.jj 2022-05-12 10:06:51.368502826 +0200 ++++ libstdc++-v3/src/nonshared11/cow-string-inst80.cc 2022-05-12 10:06:51.368502826 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "cow-string-inst48.cc" +--- libstdc++-v3/src/nonshared11/bad_array_length.cc.jj 2022-05-12 10:06:51.368502826 +0200 ++++ libstdc++-v3/src/nonshared11/bad_array_length.cc 2022-05-12 10:06:51.368502826 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2014-2022 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++/bad_array_length.cc" +--- libstdc++-v3/src/nonshared11/cow-string-inst44.cc.jj 2022-05-12 10:06:51.368502826 +0200 ++++ libstdc++-v3/src/nonshared11/cow-string-inst44.cc 2022-05-12 10:06:51.368502826 +0200 +@@ -0,0 +1,113 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2022 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_NONSHARED_CXX11_44 ++#include "../c++11/cow-string-inst.cc" ++# define C char ++# define NARROW ++#else ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef basic_string S; ++ ++ template ++ S::const_iterator S::cbegin() const; ++ ++ template ++ S::const_iterator S::cend() const; ++ ++ template ++ S::const_reverse_iterator S::crbegin() const; ++ ++ template ++ S::const_reverse_iterator S::crend() const; ++ ++ template ++ S::basic_string(S&&); ++ ++ template ++ S::basic_string(const S&, size_type, const allocator_type&); ++ ++ template ++ S::basic_string(const S&, const allocator_type&); ++ ++ template ++ S::basic_string(S&&, const allocator_type&); ++ ++ template ++ S& S::operator=(S&&); ++ ++ template ++ S& S::assign(S&&); ++ ++ template ++ C *S::_S_construct_aux_2(size_type, C, const allocator_type&); ++ ++ template ++ void S::shrink_to_fit(); ++ ++ template ++ void S::reserve(); ++ ++ template ++ C *S::_S_construct(iterator, iterator, const allocator_type&, forward_iterator_tag); ++ ++ template ++ C *S::_S_construct(C *, C *, const allocator_type&, forward_iterator_tag); ++ ++ template ++ C *S::_S_construct(const C *, const C *, const allocator_type&, forward_iterator_tag); ++ ++ template ++ S::reference S::front(); ++ ++ template ++ S::const_reference S::front() const; ++ ++ template ++ S::reference S::back(); ++ ++ template ++ S::const_reference S::back() const; ++ ++ template ++ int S::_S_compare(size_type, size_type); ++ ++ template ++ void S::pop_back(); ++} +--- libstdc++-v3/src/nonshared11/future48.cc.jj 2022-05-12 10:06:51.368502826 +0200 ++++ libstdc++-v3/src/nonshared11/future48.cc 2022-05-12 19:02:29.749569648 +0200 +@@ -0,0 +1,33 @@ ++// Copyright (C) 2012-2022 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_48 ++#include "../c++11/future.cc" ++asm (".hidden _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv"); ++asm (".hidden _ZNSt12future_errorC1ESt10error_code"); ++asm (".hidden _ZNSt12future_errorC2ESt10error_code"); ++asm (".hidden _ZSt20__throw_future_errori"); ++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 _ZNSt10unique_ptrINSt13__future_base13_State_baseV211_Make_readyESt14default_deleteIS2_EED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt13__future_base13_State_baseV211_Make_readyESt14default_deleteIS2_EED2Ev"); +--- libstdc++-v3/src/nonshared11/eh_ptr80.cc.jj 2022-05-12 10:06:51.369502812 +0200 ++++ libstdc++-v3/src/nonshared11/eh_ptr80.cc 2022-05-12 10:06:51.369502812 +0200 +@@ -0,0 +1,26 @@ ++// -*- C++ -*- Implement the members of exception_ptr. ++// Copyright (C) 2008-2022 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 ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "eh_ptr.cc" +--- libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc.jj 2022-05-12 10:06:51.369502812 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc 2022-05-12 17:44:54.676084788 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2022 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"); ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++asm (".hidden _ZSt19__throw_ios_failurePKc"); ++asm (".hidden _ZNSt12system_errorC1ESt10error_codePKc"); ++asm (".hidden _ZNSt12system_errorC2ESt10error_codePKc"); ++#endif +--- libstdc++-v3/src/nonshared11/new_opvant.cc.jj 2022-05-12 10:06:51.369502812 +0200 ++++ libstdc++-v3/src/nonshared11/new_opvant.cc 2022-05-12 10:06:51.369502812 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/new_opvant.cc" +--- libstdc++-v3/src/nonshared11/limits44.cc.jj 2022-05-12 10:06:51.369502812 +0200 ++++ libstdc++-v3/src/nonshared11/limits44.cc 2022-05-12 19:33:42.435736427 +0200 +@@ -0,0 +1,127 @@ ++// Copyright (C) 2012-2022 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 ++ ++ const int __numeric_limits_base::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ const int numeric_limits::max_digits10; ++ ++#if !defined(__STRICT_ANSI__) && defined(__GLIBCXX_TYPE_INT_N_0) ++ const bool numeric_limits<__int128>::is_specialized; ++ const int numeric_limits<__int128>::digits; ++ const int numeric_limits<__int128>::digits10; ++ const int numeric_limits<__int128>::max_digits10; ++ const bool numeric_limits<__int128>::is_signed; ++ const bool numeric_limits<__int128>::is_integer; ++ const bool numeric_limits<__int128>::is_exact; ++ const int numeric_limits<__int128>::radix; ++ const int numeric_limits<__int128>::min_exponent; ++ const int numeric_limits<__int128>::min_exponent10; ++ const int numeric_limits<__int128>::max_exponent; ++ const int numeric_limits<__int128>::max_exponent10; ++ const bool numeric_limits<__int128>::has_infinity; ++ const bool numeric_limits<__int128>::has_quiet_NaN; ++ const bool numeric_limits<__int128>::has_signaling_NaN; ++ const float_denorm_style numeric_limits<__int128>::has_denorm; ++ const bool numeric_limits<__int128>::has_denorm_loss; ++ const bool numeric_limits<__int128>::is_iec559; ++ const bool numeric_limits<__int128>::is_bounded; ++ const bool numeric_limits<__int128>::is_modulo; ++ const bool numeric_limits<__int128>::traps; ++ const bool numeric_limits<__int128>::tinyness_before; ++ const float_round_style numeric_limits<__int128>::round_style; ++ ++ 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 ++ ++#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/shared_ptr48.cc.jj 2022-05-12 10:06:51.369502812 +0200 ++++ libstdc++-v3/src/nonshared11/shared_ptr48.cc 2022-05-12 10:06:51.369502812 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2022 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_48 ++#include "../c++11/shared_ptr.cc" ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); +--- libstdc++-v3/src/nonshared11/bad_array_new.cc.jj 2022-05-12 10:06:51.370502799 +0200 ++++ libstdc++-v3/src/nonshared11/bad_array_new.cc 2022-05-12 10:06:51.370502799 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2014-2022 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++/bad_array_new.cc" +--- libstdc++-v3/src/nonshared11/system_error48.cc.jj 2022-05-12 10:06:51.370502799 +0200 ++++ libstdc++-v3/src/nonshared11/system_error48.cc 2022-05-12 10:06:51.370502799 +0200 +@@ -0,0 +1,28 @@ ++// implementation file ++ ++// Copyright (C) 2007-2022 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 ++#include "../c++11/system_error.cc" ++asm (".hidden _ZTSNSt3_V214error_categoryE"); ++asm (".hidden _ZSt20__throw_system_errori"); +--- libstdc++-v3/src/nonshared11/cow-stdexcept.cc.jj 2022-05-12 10:06:51.370502799 +0200 ++++ libstdc++-v3/src/nonshared11/cow-stdexcept.cc 2022-05-12 10:06:51.370502799 +0200 +@@ -0,0 +1,51 @@ ++// Copyright (C) 2012-2022 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/cow-stdexcept.cc" ++asm (".hidden _ZNSt12__cow_stringC1EOS_"); ++asm (".hidden _ZNSt12__cow_stringC1ERKS_"); ++asm (".hidden _ZNSt12__cow_stringC1ERKSs"); ++asm (".hidden _ZNSt12__cow_stringC1Ev"); ++asm (".hidden _ZNSt12__cow_stringC2EOS_"); ++asm (".hidden _ZNSt12__cow_stringC2ERKS_"); ++asm (".hidden _ZNSt12__cow_stringC2ERKSs"); ++asm (".hidden _ZNSt12__cow_stringC2Ev"); ++asm (".hidden _ZNSt12__cow_stringD1Ev"); ++asm (".hidden _ZNSt12__cow_stringD2Ev"); ++asm (".hidden _ZNSt12__cow_stringaSEOS_"); ++asm (".hidden _ZNSt12__cow_stringaSERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKSs"); ++asm (".hidden _ZNSt12__sso_stringC2ERKSs"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt12__cow_stringC1EPKcj"); ++asm (".hidden _ZNSt12__cow_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__cow_stringC1EPKcm"); ++asm (".hidden _ZNSt12__cow_stringC2EPKcm"); ++#endif ++asm (".hidden _Z20_txnal_cow_string_D1Pv"); ++asm (".hidden _Z23_txnal_cow_string_c_strPKv"); ++asm (".hidden _Z23_txnal_sso_string_c_strPKv"); ++asm (".hidden _Z26_txnal_logic_error_get_msgPv"); ++asm (".hidden _Z27_txnal_cow_string_D1_commitPv"); ++asm (".hidden _Z28_txnal_runtime_error_get_msgPv"); ++asm (".hidden _Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_"); +--- libstdc++-v3/src/nonshared11/ext11-inst.cc.jj 2022-05-12 10:06:51.370502799 +0200 ++++ libstdc++-v3/src/nonshared11/ext11-inst.cc 2022-05-12 10:06:51.370502799 +0200 +@@ -0,0 +1,38 @@ ++// Copyright (C) 2012-2022 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 ++ ++namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template stdio_sync_filebuf::stdio_sync_filebuf(stdio_sync_filebuf&&) noexcept; ++ template stdio_sync_filebuf& stdio_sync_filebuf::operator=(stdio_sync_filebuf&&) noexcept; ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template stdio_sync_filebuf::stdio_sync_filebuf(stdio_sync_filebuf&&) noexcept; ++ template stdio_sync_filebuf& stdio_sync_filebuf::operator=(stdio_sync_filebuf&&) noexcept; ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/compatibility-c++0x.cc.jj 2022-05-12 10:06:51.370502799 +0200 ++++ libstdc++-v3/src/nonshared11/compatibility-c++0x.cc 2022-05-12 10:06:51.370502799 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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_44 ++#include "../c++11/compatibility-c++0x.cc" +--- libstdc++-v3/src/nonshared11/thread48.cc.jj 2022-05-12 10:06:51.371502786 +0200 ++++ libstdc++-v3/src/nonshared11/thread48.cc 2022-05-12 10:06:51.371502786 +0200 +@@ -0,0 +1,28 @@ ++// Copyright (C) 2008-2022 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_44 ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/thread.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"); +--- libstdc++-v3/src/nonshared11/shared_ptr44.cc.jj 2022-05-12 10:06:51.371502786 +0200 ++++ libstdc++-v3/src/nonshared11/shared_ptr44.cc 2022-05-12 10:06:51.371502786 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2022 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/shared_ptr.cc" ++asm (".hidden _ZTSSt12bad_weak_ptr"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); +--- libstdc++-v3/src/nonshared11/cow-wstring-inst48.cc.jj 2022-05-12 10:06:51.371502786 +0200 ++++ libstdc++-v3/src/nonshared11/cow-wstring-inst48.cc 2022-05-12 10:06:51.371502786 +0200 +@@ -0,0 +1,35 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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-inst48.cc" ++#endif +--- libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc.jj 2022-05-12 19:04:54.667650261 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc 2022-05-12 19:05:35.499109467 +0200 +@@ -0,0 +1,30 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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"); +--- libstdc++-v3/src/nonshared11/ctype.cc.jj 2022-05-12 10:06:51.371502786 +0200 ++++ libstdc++-v3/src/nonshared11/ctype.cc 2022-05-12 10:06:51.371502786 +0200 +@@ -0,0 +1,35 @@ ++// Copyright (C) 1997-2022 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 ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ // Definitions for static const data members of ctype_base. ++ const ctype_base::mask ctype_base::blank; ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/system_error44.cc.jj 2022-05-12 10:06:51.371502786 +0200 ++++ libstdc++-v3/src/nonshared11/system_error44.cc 2022-05-12 10:06:51.371502786 +0200 +@@ -0,0 +1,28 @@ ++// implementation file ++ ++// Copyright (C) 2007-2022 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 ++#include "../c++11/system_error.cc" ++asm (".hidden _ZTSNSt3_V214error_categoryE"); ++asm (".hidden _ZSt20__throw_system_errori"); +--- libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc.jj 2022-05-12 10:06:51.372502772 +0200 ++++ libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc 2022-05-12 10:06:51.371502786 +0200 +@@ -0,0 +1,35 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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/eh_throw.cc.jj 2022-05-12 10:06:51.372502772 +0200 ++++ libstdc++-v3/src/nonshared11/eh_throw.cc 2022-05-12 10:06:51.372502772 +0200 +@@ -0,0 +1,78 @@ ++// -*- C++ -*- Exception handling routines for throwing. ++// Copyright (C) 2001-2022 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 "unwind-cxx.h" ++#include "eh_atomics.h" ++ ++using namespace __cxxabiv1; ++ ++ ++static void ++__gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) ++{ ++ // This cleanup is set only for primaries. ++ __cxa_refcounted_exception *header ++ = __get_refcounted_exception_header_from_ue (exc); ++ ++ // We only want to be called through _Unwind_DeleteException. ++ // _Unwind_DeleteException in the HP-UX IA64 libunwind library ++ // returns _URC_NO_REASON and not _URC_FOREIGN_EXCEPTION_CAUGHT ++ // like the GCC _Unwind_DeleteException function does. ++ if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON) ++ { ++ __try ++ { ++ header->exc.terminateHandler (); ++ __builtin_abort (); ++ } ++ __catch(...) ++ { __builtin_abort (); } ++ } ++ ++ if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount)) ++ { ++ if (header->exc.exceptionDestructor) ++ header->exc.exceptionDestructor (header + 1); ++ ++ __cxa_free_exception (header + 1); ++ } ++} ++ ++extern "C" __cxa_refcounted_exception* ++__cxxabiv1::__cxa_init_primary_exception(void *obj, std::type_info *tinfo, ++ void (_GLIBCXX_CDTOR_CALLABI *dest) (void *)) ++{ ++ __cxa_refcounted_exception *header ++ = __get_refcounted_exception_header_from_obj (obj); ++ header->referenceCount = 0; ++ header->exc.exceptionType = tinfo; ++ header->exc.exceptionDestructor = dest; ++ header->exc.unexpectedHandler = std::get_unexpected (); ++ header->exc.terminateHandler = std::get_terminate (); ++ __GXX_INIT_PRIMARY_EXCEPTION_CLASS(header->exc.unwindHeader.exception_class); ++ header->exc.unwindHeader.exception_cleanup = __gxx_exception_cleanup; ++ ++ return header; ++} +--- libstdc++-v3/src/nonshared11/wlocale-inst80.cc.jj 2022-05-12 10:06:51.372502772 +0200 ++++ libstdc++-v3/src/nonshared11/wlocale-inst80.cc 2022-05-12 15:04:02.752929871 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 1999-2022 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_80 ++#include "locale-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/fstream-inst.cc.jj 2022-05-12 10:06:51.372502772 +0200 ++++ libstdc++-v3/src/nonshared11/fstream-inst.cc 2022-05-12 10:06:51.372502772 +0200 +@@ -0,0 +1,79 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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_filebuf>::basic_filebuf(basic_filebuf&&); ++ template basic_filebuf>& basic_filebuf>::operator=(basic_filebuf&&); ++ template void basic_filebuf>::swap(basic_filebuf&); ++ template basic_filebuf>::__filebuf_type* basic_filebuf>::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(basic_ifstream&&); ++ template basic_ifstream& basic_ifstream::operator=(basic_ifstream&&); ++ template void basic_ifstream::swap(basic_ifstream&); ++ template void basic_ifstream::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(basic_ofstream&&); ++ template basic_ofstream& basic_ofstream::operator=(basic_ofstream&&); ++ template void basic_ofstream::swap(basic_ofstream&); ++ template void basic_ofstream::open(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(basic_fstream&&); ++ template basic_fstream& basic_fstream::operator=(basic_fstream&&); ++ template void basic_fstream::swap(basic_fstream&); ++ template void basic_fstream::open(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(const std::string &, ios_base::openmode); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_filebuf>::basic_filebuf(basic_filebuf&&); ++ template basic_filebuf>& basic_filebuf>::operator=(basic_filebuf&&); ++ template void basic_filebuf>::swap(basic_filebuf&); ++ template basic_filebuf>::__filebuf_type* basic_filebuf>::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(basic_ifstream&&); ++ template basic_ifstream& basic_ifstream::operator=(basic_ifstream&&); ++ template void basic_ifstream::swap(basic_ifstream&); ++ template void basic_ifstream::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(basic_ofstream&&); ++ template basic_ofstream& basic_ofstream::operator=(basic_ofstream&&); ++ template void basic_ofstream::swap(basic_ofstream&); ++ template void basic_ofstream::open(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(basic_fstream&&); ++ template basic_fstream& basic_fstream::operator=(basic_fstream&&); ++ template void basic_fstream::swap(basic_fstream&); ++ template void basic_fstream::open(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(const std::string &, ios_base::openmode); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/regex48.cc.jj 2022-05-12 10:06:51.372502772 +0200 ++++ libstdc++-v3/src/nonshared11/regex48.cc 2022-05-12 10:06:51.372502772 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 2012-2022 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/regex.cc" ++ ++asm (".hidden _ZNSt11regex_errorD0Ev"); ++asm (".hidden _ZNSt11regex_errorD1Ev"); ++asm (".hidden _ZNSt11regex_errorD2Ev"); ++asm (".hidden _ZTSSt11regex_error"); ++asm (".hidden _ZTISt11regex_error"); ++asm (".hidden _ZTVSt11regex_error"); ++asm (".hidden _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE"); +--- libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc.jj 2022-05-12 10:06:51.373502758 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc 2022-05-12 10:06:51.373502758 +0200 +@@ -0,0 +1,181 @@ ++// Copyright (C) 2012-2022 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-shim_facets.cc" ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE10do_compareEPKcS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE12do_transformEPKcS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE10do_compareEPKwS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE12do_transformEPKwS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE6do_getEiiiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE7do_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE6do_getEiiiRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE7do_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_dateESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_timeESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_yearESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE14do_get_weekdayESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE16do_get_monthnameESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_dateESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_timeESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_yearESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIcS5_SaIcEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIwS5_SaIwEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKNSt7__cxx1112basic_stringIcS5_SaIcEEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKNSt7__cxx1112basic_stringIwS5_SaIwEEE"); ++asm (".hidden _ZNKSt6locale5facet11_M_sso_shimEPKNS_2idE"); ++asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++#else ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++#endif ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIcEEvPv"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIwEEvPv"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIcEENSt9time_base9dateorderESt17integral_constantIbLb1EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIwEENSt9time_base9dateorderESt17integral_constantIbLb1EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb0EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb1EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb0EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb1EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZTINSt6locale5facet6__shimE"); ++asm (".hidden _ZTSNSt6locale5facet6__shimE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); ++#else ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcmRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcmRKS3_"); ++#endif +--- libstdc++-v3/src/nonshared11/condition_variable80.cc.jj 2022-05-12 16:09:29.894504871 +0200 ++++ libstdc++-v3/src/nonshared11/condition_variable80.cc 2022-05-12 17:47:05.705337417 +0200 +@@ -0,0 +1,44 @@ ++// condition_variable -*- C++ -*- ++ ++// Copyright (C) 2008-2022 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/eh_aux_runtime.cc.jj 2022-05-12 10:06:51.373502758 +0200 ++++ libstdc++-v3/src/nonshared11/eh_aux_runtime.cc 2022-05-12 10:06:51.373502758 +0200 +@@ -0,0 +1,38 @@ ++// -*- C++ -*- Common throw conditions. ++// Copyright (C) 1994-2022 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 "typeinfo" ++#include "exception" ++#include "new" ++#include ++#include "unwind-cxx.h" ++#include ++ ++extern "C" void ++__cxxabiv1::__cxa_throw_bad_array_new_length () ++{ _GLIBCXX_THROW_OR_ABORT(std::bad_array_new_length()); } ++ ++//extern "C" void ++//__cxxabiv1::__cxa_throw_bad_array_length () ++//{ _GLIBCXX_THROW_OR_ABORT(std::bad_array_length()); } +--- libstdc++-v3/src/nonshared11/compatibility-atomic-c++0x.cc.jj 2022-05-12 10:06:51.373502758 +0200 ++++ libstdc++-v3/src/nonshared11/compatibility-atomic-c++0x.cc 2022-05-12 10:06:51.373502758 +0200 +@@ -0,0 +1,42 @@ ++// Copyright (C) 2012-2022 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 ++ ++extern "C" ++{ ++ extern bool _ZNVSt9__atomic011atomic_flag5clearESt12memory_order (std::memory_order); ++ ++ bool ++ _ZNSt9__atomic011atomic_flag5clearESt12memory_order (std::memory_order m) ++ { ++ return _ZNVSt9__atomic011atomic_flag5clearESt12memory_order (m); ++ } ++ ++ extern void _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order (std::memory_order); ++ ++ void ++ _ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order (std::memory_order m) ++ { ++ _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order (m); ++ } ++} +--- libstdc++-v3/src/nonshared11/hashtable_c++0x.cc.jj 2022-05-12 10:06:51.373502758 +0200 ++++ libstdc++-v3/src/nonshared11/hashtable_c++0x.cc 2022-05-12 10:06:51.373502758 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2022 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 ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++namespace __detail ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ extern const unsigned long __prime_list[256 + (sizeof (long) == 8 ? 48 : 0) + 1]; ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace __detail ++} // namespace std ++ ++#define HASHTABLE_AUX_CC 1 ++#include "../c++11/hashtable_c++0x.cc" +--- libstdc++-v3/src/nonshared11/locale-inst80.cc.jj 2022-05-12 10:06:51.373502758 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst80.cc 2022-05-12 17:49:19.409554374 +0200 +@@ -0,0 +1,29 @@ ++// Copyright (C) 1999-2022 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 "locale-inst.cc" ++#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/chrono.cc.jj 2022-05-12 10:06:51.374502745 +0200 ++++ libstdc++-v3/src/nonshared11/chrono.cc 2022-05-12 10:06:51.374502745 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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/chrono.cc" +--- libstdc++-v3/src/nonshared11/del_opvnt.cc.jj 2022-05-12 10:06:51.374502745 +0200 ++++ libstdc++-v3/src/nonshared11/del_opvnt.cc 2022-05-12 10:06:51.374502745 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2022 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++/del_opvnt.cc" +--- libstdc++-v3/src/nonshared11/functexcept48.cc.jj 2022-05-12 10:06:51.374502745 +0200 ++++ libstdc++-v3/src/nonshared11/functexcept48.cc 2022-05-12 10:06:51.374502745 +0200 +@@ -0,0 +1,70 @@ ++// Copyright (C) 2001-2022 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 __gnu_cxx ++{ ++ int __snprintf_lite(char *__buf, size_t __bufsize, const char *__fmt, ++ va_list __ap); ++} ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ __throw_out_of_range_fmt(const char* __fmt, ...) ++ { ++ const size_t __len = __builtin_strlen(__fmt); ++ // We expect at most 2 numbers, and 1 short string. The additional ++ // 512 bytes should provide more than enough space for expansion. ++ const size_t __alloca_size = __len + 512; ++ char *const __s = static_cast(__builtin_alloca(__alloca_size)); ++ va_list __ap; ++ ++ va_start(__ap, __fmt); ++ __gnu_cxx::__snprintf_lite(__s, __alloca_size, __fmt, __ap); ++ _GLIBCXX_THROW_OR_ABORT(out_of_range(_(__s))); ++ va_end(__ap); // Not reached. ++ } ++ ++ void ++ __throw_bad_array_new_length() ++ { _GLIBCXX_THROW_OR_ABORT(bad_array_new_length()); } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/new_opva.cc.jj 2022-05-12 10:06:51.374502745 +0200 ++++ libstdc++-v3/src/nonshared11/new_opva.cc 2022-05-12 10:06:51.374502745 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/new_opva.cc" +--- libstdc++-v3/src/nonshared11/wlocale-inst.cc.jj 2022-05-12 10:06:51.374502745 +0200 ++++ libstdc++-v3/src/nonshared11/wlocale-inst.cc 2022-05-12 15:04:02.752929871 +0200 +@@ -0,0 +1,36 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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 ++// ++ ++// 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-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/wstring-inst.cc.jj 2022-05-12 10:06:51.375502732 +0200 ++++ libstdc++-v3/src/nonshared11/wstring-inst.cc 2022-05-12 18:48:05.829827966 +0200 +@@ -0,0 +1,32 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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 ++// ++ ++#include "../c++11/wstring-inst.cc" ++asm (".hidden _ZN9__gnu_cxxeqIPKwNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_"); ++asm (".hidden _ZN9__gnu_cxxeqIPwNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_M_use_local_dataEv"); +--- libstdc++-v3/src/nonshared11/istream-inst.cc.jj 2022-05-12 10:06:51.375502732 +0200 ++++ libstdc++-v3/src/nonshared11/istream-inst.cc 2022-05-12 10:06:51.375502732 +0200 +@@ -0,0 +1,132 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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 ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ template basic_istream::basic_istream(basic_istream&&); ++ template basic_istream& basic_istream::operator=(basic_istream&&); ++ template void basic_istream::swap(basic_istream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_istream::basic_istream(basic_istream&&); ++ template basic_istream& basic_istream::operator=(basic_istream&&); ++ template void basic_istream::swap(basic_istream&); ++#endif ++#endif ++ ++#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/new_opa.cc.jj 2022-05-12 10:06:51.375502732 +0200 ++++ libstdc++-v3/src/nonshared11/new_opa.cc 2022-05-12 10:06:51.375502732 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/new_opa.cc" +--- libstdc++-v3/src/nonshared11/futex.cc.jj 2022-05-12 10:06:51.375502732 +0200 ++++ libstdc++-v3/src/nonshared11/futex.cc 2022-05-12 10:06:51.375502732 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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/futex.cc" +--- libstdc++-v3/src/nonshared11/del_ops.cc.jj 2022-05-12 10:06:51.375502732 +0200 ++++ libstdc++-v3/src/nonshared11/del_ops.cc 2022-05-12 10:06:51.375502732 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2022 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++/del_ops.cc" +--- libstdc++-v3/src/nonshared11/new_opant.cc.jj 2022-05-12 10:06:51.376502718 +0200 ++++ libstdc++-v3/src/nonshared11/new_opant.cc 2022-05-12 10:06:51.376502718 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/new_opant.cc" +--- libstdc++-v3/src/nonshared11/nested_exception.cc.jj 2022-05-12 10:06:51.376502718 +0200 ++++ libstdc++-v3/src/nonshared11/nested_exception.cc 2022-05-12 10:06:51.376502718 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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++/nested_exception.cc" ++asm (".hidden _ZTSSt16nested_exception"); +--- libstdc++-v3/src/nonshared11/eh_ptr.cc.jj 2022-05-12 10:06:51.376502718 +0200 ++++ libstdc++-v3/src/nonshared11/eh_ptr.cc 2022-05-12 10:06:51.376502718 +0200 +@@ -0,0 +1,81 @@ ++// -*- C++ -*- Implement the members of exception_ptr. ++// Copyright (C) 2008-2022 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; ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++std::__exception_ptr::exception_ptr::exception_ptr(void* obj) noexcept ++: _M_exception_object(obj) ++{ ++ if (_M_exception_object) ++ { ++ __cxa_refcounted_exception *eh = ++ __get_refcounted_exception_header_from_obj (_M_exception_object); ++ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); ++ } ++} ++#endif ++ ++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; ++ } ++ } ++} ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++asm (".hidden _ZNSt15__exception_ptr13exception_ptrC2EPv"); ++#endif ++ +--- libstdc++-v3/src/nonshared11/functional.cc.jj 2022-05-12 10:06:51.376502718 +0200 ++++ libstdc++-v3/src/nonshared11/functional.cc 2022-05-12 10:06:51.376502718 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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/functional.cc" ++asm (".hidden _ZTSSt17bad_function_call"); +--- libstdc++-v3/src/nonshared11/codecvt80.cc.jj 2022-05-12 10:06:51.376502718 +0200 ++++ libstdc++-v3/src/nonshared11/codecvt80.cc 2022-05-12 10:06:51.376502718 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "codecvt.cc" +--- libstdc++-v3/src/nonshared11/codecvt.cc.jj 2022-05-12 10:06:51.377502705 +0200 ++++ libstdc++-v3/src/nonshared11/codecvt.cc 2022-05-12 10:06:51.377502705 +0200 +@@ -0,0 +1,37 @@ ++// Copyright (C) 2012-2022 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/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/cow-sstream-inst44.cc.jj 2022-05-12 10:06:51.377502705 +0200 ++++ libstdc++-v3/src/nonshared11/cow-sstream-inst44.cc 2022-05-12 10:06:51.377502705 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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_44 ++#include "cow-sstream-inst.cc" +--- libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc.jj 2022-05-12 10:06:51.377502705 +0200 ++++ libstdc++-v3/src/nonshared11/compatibility-thread-c++0x.cc 2022-05-12 19:42:33.892680649 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2022 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 ++#if defined(_GLIBCXX_HAVE_TLS) && defined(PIC) ++#define _GLIBCXX_ASYNC_ABI_COMPAT ++#endif ++ ++#include ++#include ++ ++#undef _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE ++#include "../c++11/compatibility-thread-c++0x.cc" ++ ++asm (".hidden _ZSt9call_onceIMSt6threadFvvEIPS0_EEvRSt9once_flagOT_DpOT0_"); ++asm (".hidden _ZSt9call_onceIMSt6threadFvvEJPS0_EEvRSt9once_flagOT_DpOT0_"); ++asm (".hidden _ZNSt13__future_base19_Async_state_common15_M_run_deferredEv"); ++asm (".hidden _ZNSt13__future_base7_ResultIvE10_M_destroyEv"); ++asm (".hidden _ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMSt6threadFvvEIPS3_EEvRS_OT_DpOT0_EUlvE_EERS8_ENUlvE_4_FUNEv"); ++asm (".hidden _ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMSt6threadFvvEJPS3_EEvRS_OT_DpOT0_EUlvE_EERS8_ENUlvE_4_FUNEv"); ++asm (".hidden _ZNSt13__future_base11_State_base15_M_run_deferredEv"); ++asm (".hidden _ZTSNSt13__future_base11_State_baseE"); +--- libstdc++-v3/src/nonshared11/locale-inst.cc.jj 2022-05-12 10:06:51.377502705 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst.cc 2022-05-12 16:55:30.729636275 +0200 +@@ -0,0 +1,99 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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 ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ template time_get>::iter_type time_get>::_M_extract_wday_or_month(iter_type, iter_type, int&, const C**, size_t, ios_base&, ios_base::iostate&) const; ++#endif ++ ++ template C* __add_grouping(C*, C, char const*, size_t, C const*, C const*); ++ ++ template moneypunct_byname::moneypunct_byname(const string&, size_t); ++ template moneypunct_byname::moneypunct_byname(const string&, size_t); ++ template numpunct_byname::numpunct_byname(const string&, size_t); ++ template time_put_byname::time_put_byname(const string&, size_t); ++ template time_get_byname::time_get_byname(const string&, size_t); ++ template time_get>::iter_type time_get>::get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, const C*) const; ++ template time_get>::iter_type time_get>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, char, char) const; ++ template messages_byname::messages_byname(const string&, size_t); ++ ctype_byname::ctype_byname(const string& __s, size_t __refs) ++ : ctype_byname(__s.c_str(), __refs) { } ++ template codecvt_byname::codecvt_byname(const string&, size_t); ++#endif ++ ++ 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; ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++#ifdef C_is_char ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcjPKS0_S5_"); ++#else ++asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcmPKS0_S5_"); ++#endif ++#else ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcjPKS0_S5_"); ++#else ++asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcmPKS0_S5_"); ++#endif ++#endif ++#endif ++#ifdef C_is_char ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++#endif ++#endif +--- libstdc++-v3/src/nonshared11/cow-wstring-inst44.cc.jj 2022-05-12 10:06:51.377502705 +0200 ++++ libstdc++-v3/src/nonshared11/cow-wstring-inst44.cc 2022-05-12 10:06:51.377502705 +0200 +@@ -0,0 +1,35 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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-inst44.cc" ++#endif +--- libstdc++-v3/src/nonshared11/cow-string-inst48.cc.jj 2022-05-12 10:06:51.378502691 +0200 ++++ libstdc++-v3/src/nonshared11/cow-string-inst48.cc 2022-05-12 10:06:51.378502691 +0200 +@@ -0,0 +1,57 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2022 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; ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ template ++ S::basic_string(const S&, size_type, const allocator_type&); ++#endif ++ ++ 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/ios-inst.cc.jj 2022-05-12 10:06:51.378502691 +0200 ++++ libstdc++-v3/src/nonshared11/ios-inst.cc 2022-05-12 10:06:51.378502691 +0200 +@@ -0,0 +1,49 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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_ios::move(basic_ios&&); ++ template void basic_ios::move(basic_ios&); ++ template void basic_ios::swap(basic_ios&); ++ template void basic_ios::set_rdbuf(basic_streambuf*); ++ template basic_ios::operator bool() const; ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_ios::move(basic_ios&&); ++ template void basic_ios::move(basic_ios&); ++ template void basic_ios::swap(basic_ios&); ++ template void basic_ios::set_rdbuf(basic_streambuf*); ++ template basic_ios::operator bool() const; ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/sstream-inst80.cc.jj 2022-05-12 10:06:51.378502691 +0200 ++++ libstdc++-v3/src/nonshared11/sstream-inst80.cc 2022-05-12 10:06:51.378502691 +0200 +@@ -0,0 +1,55 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 2014-2022 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/ios.cc.jj 2022-05-12 10:06:51.378502691 +0200 ++++ libstdc++-v3/src/nonshared11/ios.cc 2022-05-12 10:06:51.378502691 +0200 +@@ -0,0 +1,30 @@ ++// Iostreams base classes -*- C++ -*- ++ ++// Copyright (C) 1997-2022 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 ++// ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/ios.cc" +--- libstdc++-v3/src/nonshared11/Makefile.am.jj 2022-05-12 10:06:51.379502678 +0200 ++++ libstdc++-v3/src/nonshared11/Makefile.am 2022-05-12 19:26:19.796614597 +0200 +@@ -0,0 +1,271 @@ ++## Makefile for the C++03 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2022 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 = libnonshared11convenience44.la \ ++ libnonshared11convenience48.la \ ++ libnonshared11convenience80.la \ ++ libnonshared11convenience110.la ++ ++headers = ++ ++sources4448 = \ ++ bad_array_length.cc \ ++ bad_array_new.cc \ ++ codecvt.cc \ ++ condition_variable.cc \ ++ cow-shim_facets.cc \ ++ cow-stdexcept.cc \ ++ ctype.cc \ ++ cxx11-hash_tr1.cc \ ++ cxx11-ios_failure.cc \ ++ cxx11-shim_facets.cc \ ++ cxx11-stdexcept.cc \ ++ del_ops.cc \ ++ del_opvs.cc \ ++ new_opa.cc \ ++ new_opant.cc \ ++ new_opva.cc \ ++ new_opvant.cc \ ++ del_opa.cc \ ++ del_opant.cc \ ++ del_opsa.cc \ ++ del_opva.cc \ ++ del_opvant.cc \ ++ del_opvsa.cc \ ++ eh_aux_runtime.cc \ ++ eh_terminate.cc \ ++ eh_ptr.cc \ ++ eh_throw.cc \ ++ futex.cc \ ++ ios.cc \ ++ new_handler.cc \ ++ snprintf_lite.cc \ ++ $(inst_sources) ++ ++sources44 = \ ++ limits44.cc \ ++ future.cc \ ++ functexcept.cc \ ++ placeholders.cc \ ++ regex.cc \ ++ functional.cc \ ++ shared_ptr44.cc \ ++ nested_exception.cc \ ++ debug44.cc \ ++ compatibility-thread-c++0x.cc \ ++ atexit_thread.cc \ ++ random.cc \ ++ chrono.cc \ ++ compatibility-atomic-c++0x.cc \ ++ compatibility-c++0x.cc \ ++ hashtable_c++0x.cc \ ++ system_error44.cc \ ++ thread44.cc \ ++ $(inst_sources44) ++ ++sources48 = \ ++ limits.cc \ ++ functexcept48.cc \ ++ future48.cc \ ++ random48.cc \ ++ regex48.cc \ ++ debug.cc \ ++ shared_ptr48.cc \ ++ system_error48.cc \ ++ thread48.cc \ ++ $(inst_sources48) ++ ++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 \ ++ $(inst_sources80) ++ ++sources110 = \ ++ debug110.cc \ ++ condition_variable80.cc \ ++ $(inst_sources110) ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ cxx11-locale-inst.cc \ ++ cxx11-wlocale-inst.cc \ ++ ext11-inst.cc \ ++ fstream-inst.cc \ ++ ios-inst.cc \ ++ iostream-inst.cc \ ++ istream-inst.cc \ ++ locale-inst-asm.S \ ++ ostream-inst.cc \ ++ sstream-inst.cc \ ++ streambuf-inst.cc \ ++ string-inst.cc \ ++ wstring-inst.cc \ ++ string-io-inst.cc \ ++ wstring-io-inst.cc \ ++ sso_string.cc ++inst_sources44 = \ ++ cow-sstream-inst44.cc \ ++ cow-string-inst44.cc \ ++ cow-wstring-inst44.cc \ ++ cow-fstream-inst.cc \ ++ locale-inst44.cc \ ++ wlocale-inst44.cc ++inst_sources48 = \ ++ cow-sstream-inst.cc \ ++ cow-string-inst48.cc \ ++ cow-wstring-inst48.cc \ ++ locale-inst.cc \ ++ wlocale-inst.cc ++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 \ ++ cxx11-locale-inst110.cc \ ++ cxx11-wlocale-inst80.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++inst_sources44 = ++inst_sources48 = ++inst_sources80 = ++inst_sources110 = ++endif ++ ++vpath % $(top_srcdir)/src/nonshared11 ++vpath % $(top_srcdir) ++ ++libnonshared11convenience44_la_SOURCES = $(sources4448) $(sources44) ++libnonshared11convenience48_la_SOURCES = $(sources4448) $(sources48) ++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 the C++14 sources so that the proper flags are passed. ++del_ops.lo: del_ops.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++del_opvs.lo: del_opvs.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++ ++# Use special rules for the C++17 sources so that the proper flags are passed. ++new_opa.lo: new_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opant.lo: new_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opva.lo: new_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opvant.lo: new_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opa.lo: del_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opant.lo: del_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opsa.lo: del_opsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opva.lo: del_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvant.lo: del_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvsa.lo: del_opvsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++ ++# Use special rules for source files that require -fchar8_t. ++codecvt.lo: codecvt.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++codecvt80.lo: codecvt80.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++limits.lo: limits.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++limits44.lo: limits44.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< +--- libstdc++-v3/src/nonshared11/wlocale-inst110.cc.jj 2022-05-12 16:53:42.321083306 +0200 ++++ libstdc++-v3/src/nonshared11/wlocale-inst110.cc 2022-05-12 16:53:49.257990710 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 1999-2022 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-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/random48.cc.jj 2022-05-12 10:06:51.379502678 +0200 ++++ libstdc++-v3/src/nonshared11/random48.cc 2022-05-12 10:06:51.379502678 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2013-2022 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_48 ++#include "random.cc" +--- libstdc++-v3/src/nonshared11/string-io-inst.cc.jj 2022-05-12 10:06:51.379502678 +0200 ++++ libstdc++-v3/src/nonshared11/string-io-inst.cc 2022-05-12 10:06:51.379502678 +0200 +@@ -0,0 +1,58 @@ ++// SSO string instantiations for I/O -*- C++ -*- ++ ++// Copyright (C) 1997-2022 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 ++// ++ ++#ifndef C ++# define _GLIBCXX_USE_CXX11_ABI 1 ++# define C char ++# define NARROW ++#endif ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ // string related to iostreams. ++ typedef basic_istream I; ++ typedef basic_ostream O; ++ typedef basic_string S; ++ ++#ifndef NARROW ++ template ++ I& operator>>(I&, S&); ++#endif ++ ++ template ++ O& operator<<(O&, const S&); ++ ++ template ++ I& getline(I&, S&); ++} ++ ++#ifdef NARROW ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++#endif +--- libstdc++-v3/src/nonshared11/cow-shim_facets.cc.jj 2022-05-12 10:06:51.379502678 +0200 ++++ libstdc++-v3/src/nonshared11/cow-shim_facets.cc 2022-05-12 10:06:51.379502678 +0200 +@@ -0,0 +1,188 @@ ++// Copyright (C) 2012-2022 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/cow-shim_facets.cc" ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE10do_compareEPKcS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE12do_transformEPKcS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE10do_compareEPKwS4_S4_S4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE12do_transformEPKwS4_"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE6do_getEiiiRKSs"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE7do_openERKSsRKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE7do_openERKSsRKSt6locale"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE8do_closeEi"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_dateESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_timeESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_yearESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE14do_get_weekdayESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE16do_get_monthnameESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_dateESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_timeESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_yearESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRSs"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRSbIwS5_SaIwEE"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKSs"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKSbIwS5_SaIwEE"); ++asm (".hidden _ZNKSt6locale5facet11_M_cow_shimEPKNS_2idE"); ++asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++#else ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg"); ++asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++#endif ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED0Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED1Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED2Ev"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIcEEvPv"); ++asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIwEEvPv"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIcEENSt9time_base9dateorderESt17integral_constantIbLb0EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIwEENSt9time_base9dateorderESt17integral_constantIbLb0EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb0EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb1EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb0EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb1EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZTINSt6locale5facet6__shimE"); ++asm (".hidden _ZTSNSt6locale5facet6__shimE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); ++#else ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcmRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcmRKS3_"); ++#endif ++#ifdef __powerpc64__ ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEED1Ev"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEED2Ev"); ++//asm (".hidden _ZNSsD1Ev"); ++//asm (".hidden _ZNSsD2Ev"); ++#endif ++ +--- libstdc++-v3/src/nonshared11/sso_string.cc.jj 2022-05-12 10:06:51.380502664 +0200 ++++ libstdc++-v3/src/nonshared11/sso_string.cc 2022-05-12 10:06:51.380502664 +0200 +@@ -0,0 +1,48 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 2014-2022 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 ++// ++ ++#include "../c++11/sso_string.cc" ++asm (".hidden _ZNSt12__sso_stringC1EOS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC1ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1Ev"); ++asm (".hidden _ZNSt12__sso_stringC2EOS_"); ++asm (".hidden _ZNSt12__sso_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC2ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC2Ev"); ++asm (".hidden _ZNSt12__sso_stringD1Ev"); ++asm (".hidden _ZNSt12__sso_stringD2Ev"); ++asm (".hidden _ZNSt12__sso_stringaSEOS_"); ++asm (".hidden _ZNSt12__sso_stringaSERKS_"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt12__sso_stringC1EPKcj"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__sso_stringC1EPKcm"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcm"); ++#endif +--- libstdc++-v3/src/nonshared11/del_opv.cc.jj 2022-05-12 10:06:51.380502664 +0200 ++++ libstdc++-v3/src/nonshared11/del_opv.cc 2022-05-12 10:06:51.380502664 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2022 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++/del_opv.cc" +--- libstdc++-v3/src/nonshared11/Makefile.in.jj 2022-05-12 10:06:51.381502651 +0200 ++++ libstdc++-v3/src/nonshared11/Makefile.in 2022-05-12 19:26:27.192516380 +0200 +@@ -0,0 +1,1041 @@ ++# 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/stdint.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@ cxx11-locale-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.lo ++am__objects_2 = debug110.lo condition_variable80.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 = ++libnonshared11convenience44_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = cxx11-locale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ext11-inst.lo fstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ios-inst.lo iostream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst-asm.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.lo sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.lo string-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst.lo string-io-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-io-inst.lo sso_string.lo ++am__objects_4 = bad_array_length.lo bad_array_new.lo codecvt.lo \ ++ condition_variable.lo cow-shim_facets.lo cow-stdexcept.lo \ ++ ctype.lo cxx11-hash_tr1.lo cxx11-ios_failure.lo \ ++ cxx11-shim_facets.lo cxx11-stdexcept.lo del_ops.lo del_opvs.lo \ ++ new_opa.lo new_opant.lo new_opva.lo new_opvant.lo del_opa.lo \ ++ del_opant.lo del_opsa.lo del_opva.lo del_opvant.lo \ ++ del_opvsa.lo eh_aux_runtime.lo eh_terminate.lo eh_ptr.lo \ ++ eh_throw.lo futex.lo ios.lo new_handler.lo snprintf_lite.lo \ ++ $(am__objects_3) ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_5 = cow-sstream-inst44.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst44.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst44.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-fstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst44.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst44.lo ++am__objects_6 = limits44.lo future.lo functexcept.lo placeholders.lo \ ++ regex.lo functional.lo shared_ptr44.lo nested_exception.lo \ ++ debug44.lo compatibility-thread-c++0x.lo atexit_thread.lo \ ++ random.lo chrono.lo compatibility-atomic-c++0x.lo \ ++ compatibility-c++0x.lo hashtable_c++0x.lo system_error44.lo \ ++ thread44.lo $(am__objects_5) ++am_libnonshared11convenience44_la_OBJECTS = $(am__objects_4) \ ++ $(am__objects_6) ++libnonshared11convenience44_la_OBJECTS = \ ++ $(am_libnonshared11convenience44_la_OBJECTS) ++libnonshared11convenience48_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_7 = cow-sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst48.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst48.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.lo wlocale-inst.lo ++am__objects_8 = limits.lo functexcept48.lo future48.lo random48.lo \ ++ regex48.lo debug.lo shared_ptr48.lo system_error48.lo \ ++ thread48.lo $(am__objects_7) ++am_libnonshared11convenience48_la_OBJECTS = $(am__objects_4) \ ++ $(am__objects_8) ++libnonshared11convenience48_la_OBJECTS = \ ++ $(am_libnonshared11convenience48_la_OBJECTS) ++libnonshared11convenience80_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_9 = 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_10 = 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 \ ++ $(am__objects_9) ++am_libnonshared11convenience80_la_OBJECTS = $(am__objects_10) ++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 = ++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 = $(libnonshared11convenience110_la_SOURCES) \ ++ $(libnonshared11convenience44_la_SOURCES) \ ++ $(libnonshared11convenience48_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@ ++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 = libnonshared11convenience44.la \ ++ libnonshared11convenience48.la \ ++ libnonshared11convenience80.la \ ++ libnonshared11convenience110.la ++ ++headers = ++sources4448 = \ ++ bad_array_length.cc \ ++ bad_array_new.cc \ ++ codecvt.cc \ ++ condition_variable.cc \ ++ cow-shim_facets.cc \ ++ cow-stdexcept.cc \ ++ ctype.cc \ ++ cxx11-hash_tr1.cc \ ++ cxx11-ios_failure.cc \ ++ cxx11-shim_facets.cc \ ++ cxx11-stdexcept.cc \ ++ del_ops.cc \ ++ del_opvs.cc \ ++ new_opa.cc \ ++ new_opant.cc \ ++ new_opva.cc \ ++ new_opvant.cc \ ++ del_opa.cc \ ++ del_opant.cc \ ++ del_opsa.cc \ ++ del_opva.cc \ ++ del_opvant.cc \ ++ del_opvsa.cc \ ++ eh_aux_runtime.cc \ ++ eh_terminate.cc \ ++ eh_ptr.cc \ ++ eh_throw.cc \ ++ futex.cc \ ++ ios.cc \ ++ new_handler.cc \ ++ snprintf_lite.cc \ ++ $(inst_sources) ++ ++sources44 = \ ++ limits44.cc \ ++ future.cc \ ++ functexcept.cc \ ++ placeholders.cc \ ++ regex.cc \ ++ functional.cc \ ++ shared_ptr44.cc \ ++ nested_exception.cc \ ++ debug44.cc \ ++ compatibility-thread-c++0x.cc \ ++ atexit_thread.cc \ ++ random.cc \ ++ chrono.cc \ ++ compatibility-atomic-c++0x.cc \ ++ compatibility-c++0x.cc \ ++ hashtable_c++0x.cc \ ++ system_error44.cc \ ++ thread44.cc \ ++ $(inst_sources44) ++ ++sources48 = \ ++ limits.cc \ ++ functexcept48.cc \ ++ future48.cc \ ++ random48.cc \ ++ regex48.cc \ ++ debug.cc \ ++ shared_ptr48.cc \ ++ system_error48.cc \ ++ thread48.cc \ ++ $(inst_sources48) ++ ++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 \ ++ $(inst_sources80) ++ ++sources110 = \ ++ debug110.cc \ ++ condition_variable80.cc \ ++ $(inst_sources110) ++ ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ext11-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ fstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ios-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ iostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst-asm.S \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-io-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-io-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sso_string.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources44 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources44 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst44.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst44.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst44.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-fstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst44.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst44.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources48 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources48 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst48.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst48.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 = ++@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@ cxx11-locale-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.cc ++ ++libnonshared11convenience44_la_SOURCES = $(sources4448) $(sources44) ++libnonshared11convenience48_la_SOURCES = $(sources4448) $(sources48) ++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: .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/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) ++ ++libnonshared11convenience44.la: $(libnonshared11convenience44_la_OBJECTS) $(libnonshared11convenience44_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience44_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience44_la_OBJECTS) $(libnonshared11convenience44_la_LIBADD) $(LIBS) ++ ++libnonshared11convenience48.la: $(libnonshared11convenience48_la_OBJECTS) $(libnonshared11convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience48_la_OBJECTS) $(libnonshared11convenience48_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 ++ ++.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/nonshared11 ++vpath % $(top_srcdir) ++ ++# Use special rules for the C++14 sources so that the proper flags are passed. ++del_ops.lo: del_ops.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++del_opvs.lo: del_opvs.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++ ++# Use special rules for the C++17 sources so that the proper flags are passed. ++new_opa.lo: new_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opant.lo: new_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opva.lo: new_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opvant.lo: new_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opa.lo: del_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opant.lo: del_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opsa.lo: del_opsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opva.lo: del_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvant.lo: del_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvsa.lo: del_opvsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++ ++# Use special rules for source files that require -fchar8_t. ++codecvt.lo: codecvt.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++codecvt80.lo: codecvt80.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++limits.lo: limits.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++limits44.lo: limits44.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/snprintf_lite.cc.jj 2022-05-12 10:06:51.381502651 +0200 ++++ libstdc++-v3/src/nonshared11/snprintf_lite.cc 2022-05-12 10:06:51.381502651 +0200 +@@ -0,0 +1,40 @@ ++// Copyright (C) 2014-2022 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/snprintf_lite.cc" ++#ifdef __powerpc64__ ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcS0_"); ++#elif defined(__i386__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcS0_"); ++#elif defined(__powerpc__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcP13__va_list_tag"); ++#elif defined(__aarch64__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcSt9__va_list"); ++#else ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcP13__va_list_tag"); ++#endif ++asm (".hidden _ZN9__gnu_cxx26__throw_insufficient_spaceEPKcS1_"); +--- libstdc++-v3/src/nonshared11/new_handler.cc.jj 2022-05-12 10:06:51.381502651 +0200 ++++ libstdc++-v3/src/nonshared11/new_handler.cc 2022-05-12 10:06:51.381502651 +0200 +@@ -0,0 +1,72 @@ ++// Implementation file for the -*- C++ -*- dynamic memory management header. ++ ++// Copyright (C) 1996-2022 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 ++ ++// This is inherently thread-unsafe, but so is libstdc++ < 4.9 ++// std::set_new_handler and this hopefully doesn't make things much worse ++// than that. ++namespace ++{ ++ __gnu_cxx::__mutex mx; ++ std::new_handler handler; ++ ++ void new_handler_wrapper () ++ { ++ std::new_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = handler; ++ } ++ h (); ++ } ++} ++ ++std::new_handler ++std::get_new_handler () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ handler = std::set_new_handler (new_handler_wrapper); ++ std::set_new_handler (handler); ++ return handler; ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); +--- libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc.jj 2022-05-12 10:06:51.381502651 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc 2022-05-12 10:06:51.381502651 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2022 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-hash_tr1.cc" ++asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES8_"); ++asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES8_"); +--- libstdc++-v3/src/nonshared11/functexcept80.cc.jj 2022-05-12 10:06:51.381502651 +0200 ++++ libstdc++-v3/src/nonshared11/functexcept80.cc 2022-05-12 10:06:51.381502651 +0200 +@@ -0,0 +1,48 @@ ++// Copyright (C) 2001-2022 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 2022-05-12 10:06:51.382502637 +0200 ++++ libstdc++-v3/src/nonshared11/debug.cc 2022-05-12 19:26:08.917759067 +0200 +@@ -0,0 +1,131 @@ ++// Copyright (C) 2003-2022 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/del_opsa.cc.jj 2022-05-12 10:06:51.382502637 +0200 ++++ libstdc++-v3/src/nonshared11/del_opsa.cc 2022-05-12 10:06:51.382502637 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/del_opsa.cc" +--- libstdc++-v3/src/nonshared11/wlocale-inst44.cc.jj 2022-05-12 10:06:51.382502637 +0200 ++++ libstdc++-v3/src/nonshared11/wlocale-inst44.cc 2022-05-12 15:04:02.752929871 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 1999-2022 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_44 ++#include "locale-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/cow-fstream-inst.cc.jj 2022-05-12 10:06:51.382502637 +0200 ++++ libstdc++-v3/src/nonshared11/cow-fstream-inst.cc 2022-05-12 10:06:51.382502637 +0200 +@@ -0,0 +1,48 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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) ++{ ++ ++ typedef basic_filebuf FIC; ++ ++ template ++ int FIC::_M_get_ext_pos(__state_type &); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ typedef basic_filebuf FIW; ++ ++ template ++ int FIW::_M_get_ext_pos(__state_type &); ++ ++#endif ++ ++} +--- libstdc++-v3/src/nonshared11/ostream-inst.cc.jj 2022-05-12 10:06:51.383502624 +0200 ++++ libstdc++-v3/src/nonshared11/ostream-inst.cc 2022-05-12 10:06:51.382502637 +0200 +@@ -0,0 +1,48 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2022 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 ++ ++ template basic_ostream::basic_ostream(basic_ostream&&); ++ template basic_ostream& basic_ostream::operator=(basic_ostream&&); ++ template void basic_ostream::swap(basic_ostream&); ++ template basic_ostream::basic_ostream(basic_iostream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_ostream::basic_ostream(basic_ostream&&); ++ template basic_ostream& basic_ostream::operator=(basic_ostream&&); ++ template void basic_ostream::swap(basic_ostream&); ++ template basic_ostream::basic_ostream(basic_iostream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +--- libstdc++-v3/src/nonshared11/regex.cc.jj 2022-05-12 10:06:51.383502624 +0200 ++++ libstdc++-v3/src/nonshared11/regex.cc 2022-05-12 10:06:51.383502624 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2022 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/regex.cc" ++ ++asm (".hidden _ZTSSt11regex_error"); +--- libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc.jj 2022-05-12 10:06:51.383502624 +0200 ++++ libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc 2022-05-12 10:06:51.383502624 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "cow-sstream-inst.cc" +--- libstdc++-v3/src/nonshared11/del_opvant.cc.jj 2022-05-12 10:06:51.383502624 +0200 ++++ libstdc++-v3/src/nonshared11/del_opvant.cc 2022-05-12 10:06:51.383502624 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/del_opvant.cc" +--- libstdc++-v3/src/nonshared11/del_opant.cc.jj 2022-05-12 10:06:51.383502624 +0200 ++++ libstdc++-v3/src/nonshared11/del_opant.cc 2022-05-12 10:06:51.383502624 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/del_opant.cc" +--- libstdc++-v3/src/nonshared11/string-inst.cc.jj 2022-05-12 10:06:51.383502624 +0200 ++++ libstdc++-v3/src/nonshared11/string-inst.cc 2022-05-12 18:47:45.754089435 +0200 +@@ -0,0 +1,35 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2022 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. ++ ++#include "../c++11/string-inst.cc" ++asm (".hidden _ZN9__gnu_cxxeqIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_"); ++asm (".hidden _ZN9__gnu_cxxeqIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv"); +--- libstdc++-v3/src/nonshared11/cow-stdexcept80.cc.jj 2022-05-12 10:06:51.384502611 +0200 ++++ libstdc++-v3/src/nonshared11/cow-stdexcept80.cc 2022-05-12 10:06:51.384502611 +0200 +@@ -0,0 +1,76 @@ ++// Methods for Exception Support for -*- C++ -*- ++ ++// Copyright (C) 2014-2022 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/eh_terminate.cc.jj 2022-05-12 10:06:51.384502611 +0200 ++++ libstdc++-v3/src/nonshared11/eh_terminate.cc 2022-05-12 10:06:51.384502611 +0200 +@@ -0,0 +1,91 @@ ++// Implementation file for the -*- C++ -*- dynamic memory management header. ++ ++// Copyright (C) 1994-2022 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 ++ ++// This is inherently thread-unsafe, but so is libstdc++ < 4.9 ++// std::set_terminate and std::set_unexpected and this hopefully ++// doesn't make things much worse than that. ++namespace ++{ ++ __gnu_cxx::__mutex mx; ++ std::terminate_handler thandler; ++ std::unexpected_handler uhandler; ++ ++ void terminate_handler_wrapper () ++ { ++ std::terminate_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = thandler; ++ } ++ h (); ++ } ++ ++ void unexpected_handler_wrapper () ++ { ++ std::terminate_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = uhandler; ++ } ++ h (); ++ } ++} ++ ++std::terminate_handler ++std::get_terminate () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ thandler = std::set_terminate (terminate_handler_wrapper); ++ std::set_terminate (thandler); ++ return thandler; ++} ++ ++std::unexpected_handler ++std::get_unexpected () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ uhandler = std::set_unexpected (unexpected_handler_wrapper); ++ std::set_unexpected (uhandler); ++ return uhandler; ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); +--- libstdc++-v3/src/nonshared11/wstring-io-inst.cc.jj 2022-05-12 10:06:51.384502611 +0200 ++++ libstdc++-v3/src/nonshared11/wstring-io-inst.cc 2022-05-12 10:06:51.384502611 +0200 +@@ -0,0 +1,35 @@ ++// SSO string instantiations for I/O -*- C++ -*- ++ ++// Copyright (C) 2014-2022 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 1 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "string-io-inst.cc" ++#endif +--- libstdc++-v3/src/nonshared11/del_opva.cc.jj 2022-05-12 10:06:51.384502611 +0200 ++++ libstdc++-v3/src/nonshared11/del_opva.cc 2022-05-12 10:06:51.384502611 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2022 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++/del_opva.cc" +--- libstdc++-v3/src/nonshared11/functexcept.cc.jj 2022-05-12 10:06:51.385502597 +0200 ++++ libstdc++-v3/src/nonshared11/functexcept.cc 2022-05-12 10:06:51.385502597 +0200 +@@ -0,0 +1,76 @@ ++// Copyright (C) 2001-2022 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 ++ ++#ifdef _GLIBCXX_USE_NLS ++# include ++# define _(msgid) gettext (msgid) ++#else ++# define _(msgid) (msgid) ++#endif ++ ++namespace __gnu_cxx ++{ ++ int __snprintf_lite(char *__buf, size_t __bufsize, const char *__fmt, ++ va_list __ap); ++} ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ __throw_out_of_range_fmt(const char* __fmt, ...) ++ { ++ const size_t __len = __builtin_strlen(__fmt); ++ // We expect at most 2 numbers, and 1 short string. The additional ++ // 512 bytes should provide more than enough space for expansion. ++ const size_t __alloca_size = __len + 512; ++ char *const __s = static_cast(__builtin_alloca(__alloca_size)); ++ va_list __ap; ++ ++ va_start(__ap, __fmt); ++ __gnu_cxx::__snprintf_lite(__s, __alloca_size, __fmt, __ap); ++ _GLIBCXX_THROW_OR_ABORT(out_of_range(_(__s))); ++ va_end(__ap); // Not reached. ++ } ++ ++ void ++ __throw_bad_array_new_length() ++ { _GLIBCXX_THROW_OR_ABORT(bad_array_new_length()); } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++//asm (".hidden _ZNSt12future_errorC1ESt10error_code"); ++//asm (".hidden _ZNSt12future_errorC2ESt10error_code"); +--- libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc.jj 2022-05-12 10:06:51.385502597 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc 2022-05-12 10:06:51.385502597 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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 "cxx11-ios_failure.cc" +--- libstdc++-v3/src/nonshared11/del_opvs.cc.jj 2022-05-12 10:06:51.385502597 +0200 ++++ libstdc++-v3/src/nonshared11/del_opvs.cc 2022-05-12 10:06:51.385502597 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2022 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++/del_opvs.cc" +--- libstdc++-v3/src/nonshared11/shared_ptr80.cc.jj 2022-05-12 10:06:51.385502597 +0200 ++++ libstdc++-v3/src/nonshared11/shared_ptr80.cc 2022-05-12 10:06:51.385502597 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2022 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 2022-05-12 10:06:51.385502597 +0200 ++++ libstdc++-v3/src/nonshared11/wstring-inst80.cc 2022-05-12 10:06:51.385502597 +0200 +@@ -0,0 +1,29 @@ ++// Copyright (C) 1999-2022 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/locale-inst110.cc.jj 2022-05-12 16:53:17.906409192 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst110.cc 2022-05-12 19:10:49.572949672 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 1999-2022 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-inst.cc" ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); +--- libstdc++-v3/src/nonshared11/cow-sstream-inst.cc.jj 2022-05-12 10:06:51.386502584 +0200 ++++ libstdc++-v3/src/nonshared11/cow-sstream-inst.cc 2022-05-12 10:06:51.386502584 +0200 +@@ -0,0 +1,91 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 2014-2022 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 ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ template basic_stringbuf::basic_stringbuf(basic_stringbuf&&); ++ template basic_stringbuf& basic_stringbuf::operator=(basic_stringbuf&&); ++ template void basic_stringbuf::swap(basic_stringbuf&); ++ template basic_istringstream::basic_istringstream(basic_istringstream&&); ++ template basic_istringstream& basic_istringstream::operator=(basic_istringstream&&); ++ template void basic_istringstream::swap(basic_istringstream&); ++ template basic_ostringstream::basic_ostringstream(basic_ostringstream&&); ++ template basic_ostringstream& basic_ostringstream::operator=(basic_ostringstream&&); ++ template void basic_ostringstream::swap(basic_ostringstream&); ++ template basic_stringstream::basic_stringstream(basic_stringstream&&); ++ template basic_stringstream& basic_stringstream::operator=(basic_stringstream&&); ++ template void basic_stringstream::swap(basic_stringstream&); ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++#endif ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_stringbuf::basic_stringbuf(basic_stringbuf&&); ++ template basic_stringbuf& basic_stringbuf::operator=(basic_stringbuf&&); ++ template void basic_stringbuf::swap(basic_stringbuf&); ++ template basic_istringstream::basic_istringstream(basic_istringstream&&); ++ template basic_istringstream& basic_istringstream::operator=(basic_istringstream&&); ++ template void basic_istringstream::swap(basic_istringstream&); ++ template basic_ostringstream::basic_ostringstream(basic_ostringstream&&); ++ template basic_ostringstream& basic_ostringstream::operator=(basic_ostringstream&&); ++ template void basic_ostringstream::swap(basic_ostringstream&); ++ template basic_stringstream::basic_stringstream(basic_stringstream&&); ++ template basic_stringstream& basic_stringstream::operator=(basic_stringstream&&); ++ template void basic_stringstream::swap(basic_stringstream&); ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ template void basic_stringbuf::_M_pbump(char_type*, char_type*, off_type); ++#endif ++#endif ++#endif ++ ++ 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/cxx11-locale-inst80.cc.jj 2022-05-12 15:31:53.913628719 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-locale-inst80.cc 2022-05-12 17:48:01.304595959 +0200 +@@ -0,0 +1,53 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2022 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 ++ ++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; ++ ++_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/cxx11-locale-inst.cc.jj 2022-05-12 10:06:51.386502584 +0200 ++++ libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc 2022-05-12 18:45:01.179232877 +0200 +@@ -0,0 +1,49 @@ ++// Copyright (C) 2012-2022 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-locale-inst.cc" ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#else ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#endif ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc"); ++asm (".hidden _ZSt16__convert_from_vRKP15__locale_structPciPKcz"); ++asm (".hidden _ZTISt10money_base"); ++asm (".hidden _ZTISt13messages_base"); ++asm (".hidden _ZTISt9time_base"); ++asm (".hidden _ZTSSt10money_base"); ++asm (".hidden _ZTSSt13messages_base"); ++asm (".hidden _ZTSSt9time_base"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); +--- libstdc++-v3/src/nonshared11/random.cc.jj 2022-05-12 10:06:51.386502584 +0200 ++++ libstdc++-v3/src/nonshared11/random.cc 2022-05-12 10:06:51.386502584 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 2013-2022 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_44_48 ++#include "../c++11/random.cc" ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt13random_device7_M_initEPKcj"); ++#else ++asm (".hidden _ZNSt13random_device7_M_initEPKcm"); ++#endif ++#endif +--- libstdc++-v3/src/nonshared11/futex80.cc.jj 2022-05-12 10:06:51.386502584 +0200 ++++ libstdc++-v3/src/nonshared11/futex80.cc 2022-05-12 10:06:51.386502584 +0200 +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2022 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/nonshared11/locale-inst44.cc.jj 2022-05-12 10:06:51.386502584 +0200 ++++ libstdc++-v3/src/nonshared11/locale-inst44.cc 2022-05-12 18:46:34.761014057 +0200 +@@ -0,0 +1,25 @@ ++// Copyright (C) 1999-2022 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_44 ++#include "locale-inst.cc" ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); +--- libstdc++-v3/src/shared/hashtable-aux.cc.jj 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/shared/hashtable-aux.cc 2022-05-12 10:06:51.397502436 +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/sstream-inst.cc.jj 2022-05-12 10:06:51.398502422 +0200 ++++ libstdc++-v3/src/nonshared20/sstream-inst.cc 2022-05-12 10:06:51.398502422 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2022 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" +--- libstdc++-v3/src/nonshared20/sstream-inst80.cc.jj 2022-05-12 10:06:51.398502422 +0200 ++++ libstdc++-v3/src/nonshared20/sstream-inst80.cc 2022-05-12 10:06:51.398502422 +0200 +@@ -0,0 +1,31 @@ ++// Copyright (C) 2012-2022 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 +--- libstdc++-v3/src/nonshared20/Makefile.am.jj 2022-05-12 10:06:51.398502422 +0200 ++++ libstdc++-v3/src/nonshared20/Makefile.am 2022-05-12 10:06:51.398502422 +0200 +@@ -0,0 +1,110 @@ ++## Makefile for the C++20 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2022 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 = libnonshared20convenience44.la \ ++ libnonshared20convenience48.la \ ++ libnonshared20convenience80.la ++ ++headers = ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources4448 = sstream-inst.cc ++inst_sources80 = sstream-inst80.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources4448 = ++inst_sources80 = ++endif ++ ++sources = ++ ++vpath % $(top_srcdir)/src/nonshared20 ++ ++libnonshared20convenience44_la_SOURCES = $(sources) $(inst_sources4448) ++libnonshared20convenience48_la_SOURCES = $(sources) $(inst_sources4448) ++libnonshared20convenience80_la_SOURCES = $(sources) $(inst_sources80) ++ ++# 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/Makefile.in.jj 2022-05-12 10:06:51.399502409 +0200 ++++ libstdc++-v3/src/nonshared20/Makefile.in 2022-05-12 19:26:27.234515822 +0200 +@@ -0,0 +1,775 @@ ++# 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/stdint.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) ++libnonshared20convenience44_la_LIBADD = ++am__objects_1 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_2 = sstream-inst.lo ++am_libnonshared20convenience44_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_2) ++libnonshared20convenience44_la_OBJECTS = \ ++ $(am_libnonshared20convenience44_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 = ++libnonshared20convenience48_la_LIBADD = ++am_libnonshared20convenience48_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_2) ++libnonshared20convenience48_la_OBJECTS = \ ++ $(am_libnonshared20convenience48_la_OBJECTS) ++libnonshared20convenience80_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = sstream-inst80.lo ++am_libnonshared20convenience80_la_OBJECTS = $(am__objects_1) \ ++ $(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 = $(libnonshared20convenience44_la_SOURCES) \ ++ $(libnonshared20convenience48_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@ ++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 = libnonshared20convenience44.la \ ++ libnonshared20convenience48.la \ ++ libnonshared20convenience80.la ++ ++headers = ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources4448 = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources4448 = sstream-inst.cc ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources80 = sstream-inst80.cc ++sources = ++libnonshared20convenience44_la_SOURCES = $(sources) $(inst_sources4448) ++libnonshared20convenience48_la_SOURCES = $(sources) $(inst_sources4448) ++libnonshared20convenience80_la_SOURCES = $(sources) $(inst_sources80) ++ ++# 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}; \ ++ } ++ ++libnonshared20convenience44.la: $(libnonshared20convenience44_la_OBJECTS) $(libnonshared20convenience44_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience44_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience44_la_OBJECTS) $(libnonshared20convenience44_la_LIBADD) $(LIBS) ++ ++libnonshared20convenience48.la: $(libnonshared20convenience48_la_OBJECTS) $(libnonshared20convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience48_la_OBJECTS) $(libnonshared20convenience48_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 ++ ++# 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 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/c++98/ios_failure.cc 2022-05-12 10:06:51.402502368 +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 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/c++98/locale_facets.cc 2022-05-12 10:06:51.402502368 +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/nonshared17/floating_from_chars.cc.jj 2022-05-12 10:06:51.403502355 +0200 ++++ libstdc++-v3/src/nonshared17/floating_from_chars.cc 2022-05-12 19:15:17.123406066 +0200 +@@ -0,0 +1,42 @@ ++// Copyright (C) 2019-2022 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 +--- libstdc++-v3/src/nonshared17/cow-fs_ops.cc.jj 2022-05-12 10:06:51.403502355 +0200 ++++ libstdc++-v3/src/nonshared17/cow-fs_ops.cc 2022-05-12 17:50:47.693377048 +0200 +@@ -0,0 +1,82 @@ ++// Copyright (C) 2019-2022 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/cow-fs_path.cc.jj 2022-05-12 10:06:51.403502355 +0200 ++++ libstdc++-v3/src/nonshared17/cow-fs_path.cc 2022-05-12 17:51:19.637951045 +0200 +@@ -0,0 +1,129 @@ ++// Copyright (C) 2019-2022 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"); +--- libstdc++-v3/src/nonshared17/memory_resource.cc.jj 2022-05-12 10:06:51.403502355 +0200 ++++ libstdc++-v3/src/nonshared17/memory_resource.cc 2022-05-12 10:06:51.403502355 +0200 +@@ -0,0 +1,68 @@ ++// Copyright (C) 2019-2022 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"); +--- libstdc++-v3/src/nonshared17/fs_dir.cc.jj 2022-05-12 10:06:51.404502342 +0200 ++++ libstdc++-v3/src/nonshared17/fs_dir.cc 2022-05-12 17:52:31.745989435 +0200 +@@ -0,0 +1,103 @@ ++// Copyright (C) 2019-2022 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 2022-05-12 10:06:51.404502342 +0200 ++++ libstdc++-v3/src/nonshared17/fs_ops80.cc 2022-05-12 17:52:52.357714560 +0200 +@@ -0,0 +1,41 @@ ++// Copyright (C) 2019-2022 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_CXX17_80 ++#include "fs_ops.cc" ++#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 +--- libstdc++-v3/src/nonshared17/fs_path80.cc.jj 2022-05-12 10:06:51.404502342 +0200 ++++ libstdc++-v3/src/nonshared17/fs_path80.cc 2022-05-12 17:53:21.460326486 +0200 +@@ -0,0 +1,77 @@ ++// Copyright (C) 2019-2022 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_CXX17_80 ++#include "fs_path.cc" ++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_"); +--- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj 2022-05-12 10:06:51.404502342 +0200 ++++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc 2022-05-12 17:50:19.890747818 +0200 +@@ -0,0 +1,107 @@ ++// Copyright (C) 2019-2022 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 2022-05-12 10:06:51.404502342 +0200 ++++ libstdc++-v3/src/nonshared17/Makefile.am 2022-05-12 10:06:51.404502342 +0200 +@@ -0,0 +1,133 @@ ++## Makefile for the C++17 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2022 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 = libnonshared17convenience44.la \ ++ libnonshared17convenience48.la \ ++ libnonshared17convenience80.la ++ ++headers = ++ ++if ENABLE_DUAL_ABI ++extra_string_inst_sources = cow-string-inst.cc ++extra_fs_sources = \ ++ cow-fs_dir.cc \ ++ cow-fs_ops.cc \ ++ cow-fs_path.cc ++else ++extra_string_inst_sources = ++extra_fs_sources = ++endif ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ ostream-inst.cc \ ++ string-inst.cc \ ++ $(extra_string_inst_sources) ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++endif ++ ++sources = \ ++ floating_from_chars.cc \ ++ floating_to_chars.cc \ ++ fs_dir.cc \ ++ memory_resource.cc \ ++ $(extra_fs_sources) ++sources4448 = \ ++ fs_path.cc \ ++ fs_ops.cc ++sources80 = \ ++ fs_path80.cc \ ++ fs_ops80.cc ++ ++vpath % $(top_srcdir)/src/nonshared17 ++ ++libnonshared17convenience44_la_SOURCES = $(sources) $(sources4448) $(inst_sources) ++libnonshared17convenience48_la_SOURCES = $(sources) $(sources4448) $(inst_sources) ++libnonshared17convenience80_la_SOURCES = $(sources) $(sources80) $(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++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/fs_path.cc.jj 2022-05-12 10:06:51.405502328 +0200 ++++ libstdc++-v3/src/nonshared17/fs_path.cc 2022-05-12 19:01:33.346310778 +0200 +@@ -0,0 +1,96 @@ ++// Copyright (C) 2019-2022 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 +--- libstdc++-v3/src/nonshared17/cow-string-inst.cc.jj 2022-05-12 10:06:51.405502328 +0200 ++++ libstdc++-v3/src/nonshared17/cow-string-inst.cc 2022-05-12 10:06:51.405502328 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2019-2022 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 2022-05-12 10:06:51.406502315 +0200 ++++ libstdc++-v3/src/nonshared17/Makefile.in 2022-05-12 19:26:27.214516088 +0200 +@@ -0,0 +1,805 @@ ++# 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/stdint.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) ++libnonshared17convenience44_la_LIBADD = ++@ENABLE_DUAL_ABI_TRUE@am__objects_1 = cow-fs_dir.lo cow-fs_ops.lo \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_path.lo ++am__objects_2 = floating_from_chars.lo floating_to_chars.lo fs_dir.lo \ ++ memory_resource.lo $(am__objects_1) ++am__objects_3 = fs_path.lo fs_ops.lo ++@ENABLE_DUAL_ABI_TRUE@am__objects_4 = cow-string-inst.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_5 = ostream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.lo $(am__objects_4) ++am_libnonshared17convenience44_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_3) $(am__objects_5) ++libnonshared17convenience44_la_OBJECTS = \ ++ $(am_libnonshared17convenience44_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 = ++libnonshared17convenience48_la_LIBADD = ++am_libnonshared17convenience48_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_3) $(am__objects_5) ++libnonshared17convenience48_la_OBJECTS = \ ++ $(am_libnonshared17convenience48_la_OBJECTS) ++libnonshared17convenience80_la_LIBADD = ++am__objects_6 = fs_path80.lo fs_ops80.lo ++am_libnonshared17convenience80_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_6) $(am__objects_5) ++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 = $(libnonshared17convenience44_la_SOURCES) \ ++ $(libnonshared17convenience48_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@ ++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 = libnonshared17convenience44.la \ ++ libnonshared17convenience48.la \ ++ libnonshared17convenience80.la ++ ++headers = ++@ENABLE_DUAL_ABI_FALSE@extra_string_inst_sources = ++@ENABLE_DUAL_ABI_TRUE@extra_string_inst_sources = cow-string-inst.cc ++@ENABLE_DUAL_ABI_FALSE@extra_fs_sources = ++@ENABLE_DUAL_ABI_TRUE@extra_fs_sources = \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_dir.cc \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_ops.cc \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_path.cc ++ ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(extra_string_inst_sources) ++ ++sources = \ ++ floating_from_chars.cc \ ++ floating_to_chars.cc \ ++ fs_dir.cc \ ++ memory_resource.cc \ ++ $(extra_fs_sources) ++ ++sources4448 = \ ++ fs_path.cc \ ++ fs_ops.cc ++ ++sources80 = \ ++ fs_path80.cc \ ++ fs_ops80.cc ++ ++libnonshared17convenience44_la_SOURCES = $(sources) $(sources4448) $(inst_sources) ++libnonshared17convenience48_la_SOURCES = $(sources) $(sources4448) $(inst_sources) ++libnonshared17convenience80_la_SOURCES = $(sources) $(sources80) $(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++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}; \ ++ } ++ ++libnonshared17convenience44.la: $(libnonshared17convenience44_la_OBJECTS) $(libnonshared17convenience44_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience44_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience44_la_OBJECTS) $(libnonshared17convenience44_la_LIBADD) $(LIBS) ++ ++libnonshared17convenience48.la: $(libnonshared17convenience48_la_OBJECTS) $(libnonshared17convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience48_la_OBJECTS) $(libnonshared17convenience48_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/fs_ops.cc.jj 2022-05-12 10:06:51.406502315 +0200 ++++ libstdc++-v3/src/nonshared17/fs_ops.cc 2022-05-12 10:06:51.406502315 +0200 +@@ -0,0 +1,83 @@ ++// Copyright (C) 2019-2022 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__ ++#ifdef _GLIBCXX_NONSHARED_CXX17_80 ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++#endif ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++#endif +--- libstdc++-v3/src/nonshared17/ostream-inst.cc.jj 2022-05-12 10:06:51.407502301 +0200 ++++ libstdc++-v3/src/nonshared17/ostream-inst.cc 2022-05-12 10:06:51.407502301 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2019-2022 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 2022-05-12 10:06:51.407502301 +0200 ++++ libstdc++-v3/src/nonshared17/floating_to_chars.cc 2022-05-12 10:06:51.407502301 +0200 +@@ -0,0 +1,92 @@ ++// Copyright (C) 2019-2022 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"); +--- libstdc++-v3/src/nonshared17/string-inst.cc.jj 2022-05-12 10:06:51.408502288 +0200 ++++ libstdc++-v3/src/nonshared17/string-inst.cc 2022-05-12 10:06:51.408502288 +0200 +@@ -0,0 +1,23 @@ ++// Copyright (C) 2019-2022 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/Makefile.am.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/Makefile.am 2022-05-12 16:30:36.835579801 +0200 +@@ -37,7 +37,7 @@ backtrace_supported_h = + endif + + ## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE. +-SUBDIRS = c++98 c++11 c++17 c++20 $(filesystem_dir) $(backtrace_dir) ++SUBDIRS = c++98 c++11 c++17 c++20 $(filesystem_dir) $(backtrace_dir) nonshared98 nonshared11 nonshared17 nonshared20 + + # Cross compiler support. + if VTV_CYGMIN +@@ -46,6 +46,11 @@ else + toolexeclib_LTLIBRARIES = libstdc++.la + endif + ++noinst_LTLIBRARIES = libstdc++_nonshared44.la \ ++ libstdc++_nonshared48.la \ ++ libstdc++_nonshared80.la \ ++ libstdc++_nonshared110.la ++ + if VTV_CYGMIN + vtv_stubs.cc: + rm -f $@ +@@ -100,6 +105,57 @@ endif + parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc + ++libstdc___nonshared44_la_SOURCES = ++ ++libstdc___nonshared44_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience44.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience44.la ++ ++libstdc___nonshared44_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience44.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience44.la ++ ++libstdc___nonshared48_la_SOURCES = ++ ++libstdc___nonshared48_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la ++ ++libstdc___nonshared48_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la ++ ++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 ++ ++libstdc___nonshared110_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la + + cxx98_sources = \ + compatibility.cc \ +--- libstdc++-v3/src/Makefile.in.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/Makefile.in 2022-05-12 19:26:27.037518438 +0200 +@@ -148,7 +148,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 \ +@@ -164,6 +164,22 @@ am_libstdc___la_OBJECTS = $(am__objects_ + 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___nonshared44_la_OBJECTS = ++libstdc___nonshared44_la_OBJECTS = \ ++ $(am_libstdc___nonshared44_la_OBJECTS) ++am_libstdc___nonshared48_la_OBJECTS = ++libstdc___nonshared48_la_OBJECTS = \ ++ $(am_libstdc___nonshared48_la_OBJECTS) ++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) +@@ -185,10 +201,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 " $@; +@@ -198,7 +210,28 @@ 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___nonshared44_la_SOURCES) \ ++ $(libstdc___nonshared48_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 \ +@@ -238,7 +271,8 @@ am__define_uniq_tagged_files = \ + done | $(am__uniquify_input)` + ETAGS = etags + CTAGS = ctags +-DIST_SUBDIRS = c++98 c++11 c++17 c++20 filesystem libbacktrace ++DIST_SUBDIRS = c++98 c++11 c++17 c++20 filesystem libbacktrace \ ++ nonshared98 nonshared11 nonshared17 nonshared20 + ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ + ACLOCAL = @ACLOCAL@ + ALLOCATOR_H = @ALLOCATOR_H@ +@@ -262,6 +296,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@ +@@ -484,11 +520,16 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPF + @ENABLE_BACKTRACE_TRUE@backtrace_dir = libbacktrace + @ENABLE_BACKTRACE_FALSE@backtrace_supported_h = + @ENABLE_BACKTRACE_TRUE@backtrace_supported_h = $(backtrace_dir)/backtrace-supported.h +-SUBDIRS = c++98 c++11 c++17 c++20 $(filesystem_dir) $(backtrace_dir) ++SUBDIRS = c++98 c++11 c++17 c++20 $(filesystem_dir) $(backtrace_dir) nonshared98 nonshared11 nonshared17 nonshared20 + @VTV_CYGMIN_FALSE@toolexeclib_LTLIBRARIES = libstdc++.la + + # Cross compiler support. + @VTV_CYGMIN_TRUE@toolexeclib_LTLIBRARIES = libvtv.la libstdc++.la ++noinst_LTLIBRARIES = libstdc++_nonshared44.la \ ++ libstdc++_nonshared48.la \ ++ 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 = \ +@@ -515,6 +556,54 @@ SUBDIRS = c++98 c++11 c++17 c++20 $(file + parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc + ++libstdc___nonshared44_la_SOURCES = ++libstdc___nonshared44_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience44.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience44.la ++ ++libstdc___nonshared44_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience44.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience44.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience44.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience44.la ++ ++libstdc___nonshared48_la_SOURCES = ++libstdc___nonshared48_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la ++ ++libstdc___nonshared48_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la ++ ++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 ++ ++libstdc___nonshared110_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la ++ + cxx98_sources = \ + compatibility.cc \ + compatibility-debug_list.cc \ +@@ -709,6 +798,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=; \ +@@ -747,6 +847,18 @@ 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++_nonshared44.la: $(libstdc___nonshared44_la_OBJECTS) $(libstdc___nonshared44_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared44_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared44_la_OBJECTS) $(libstdc___nonshared44_la_LIBADD) $(LIBS) ++ ++libstdc++_nonshared48.la: $(libstdc___nonshared48_la_OBJECTS) $(libstdc___nonshared48_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared48_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared48_la_OBJECTS) $(libstdc___nonshared48_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) + +@@ -911,7 +1023,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 +@@ -981,14 +1094,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/thread.cc.jj 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/c++11/thread.cc 2022-05-12 10:06:51.420502127 +0200 +@@ -103,6 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + thread::_State::~_State() = default; + ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + void + thread::join() + { +@@ -130,6 +131,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + _M_id = id(); + } ++#endif + + void + thread::_M_start_thread(_State_ptr state, void (*)()) +@@ -153,6 +155,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + + #if _GLIBCXX_THREAD_ABI_COMPAT ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + void + thread::_M_start_thread(__shared_base_type __b) + { +@@ -166,6 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + _M_start_thread(std::move(__b), nullptr); + } ++#endif + + void + thread::_M_start_thread(__shared_base_type __b, void (*)()) +@@ -183,6 +187,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + unsigned int + thread::hardware_concurrency() noexcept + { +@@ -191,6 +196,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __n = 0; + return __n; + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace std +@@ -203,6 +209,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + _GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace this_thread + { ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + void + __sleep_for(chrono::seconds __s, chrono::nanoseconds __ns) + { +@@ -251,6 +258,7 @@ namespace this_thread + ::Sleep(chrono::milliseconds(__s).count() + ms); + #endif + } ++#endif + } + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace std +--- libstdc++-v3/src/c++11/condition_variable.cc.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/condition_variable.cc 2022-05-12 16:09:16.761680307 +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 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/c++11/system_error.cc 2022-05-12 10:06:51.420502127 +0200 +@@ -532,7 +532,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + const error_category& + _V2::generic_category() noexcept { return generic_category_instance.obj; } + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + system_error::~system_error() = default; ++#endif + + error_condition + error_category::default_error_condition(int __i) const noexcept +@@ -547,9 +549,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + 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/future.cc.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/future.cc 2022-05-12 10:06:51.434501938 +0200 +@@ -29,6 +29,7 @@ + # define __constinit [[clang::require_constant_initialization]] + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + namespace + { + struct future_error_category final : public std::error_category +@@ -76,6 +77,7 @@ namespace + + __constinit constant_init future_category_instance{}; + } ++#endif + + namespace std _GLIBCXX_VISIBILITY(default) + { +@@ -85,6 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __throw_future_error(int __i __attribute__((unused))) + { _GLIBCXX_THROW_OR_ABORT(future_error(make_error_code(future_errc(__i)))); } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + const error_category& future_category() noexcept + { return future_category_instance.cat; } + +@@ -92,11 +95,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + const char* + future_error::what() const noexcept { return logic_error::what(); } ++#endif + + #ifdef _GLIBCXX_HAS_GTHREADS ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + __future_base::_Result_base::_Result_base() = default; + + __future_base::_Result_base::~_Result_base() = default; ++#endif + + void + __future_base::_State_baseV2::_Make_ready::_S_run(void* p) +--- libstdc++-v3/src/c++11/cxx11-ios_failure.cc.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/cxx11-ios_failure.cc 2022-05-12 10:06:51.434501938 +0200 +@@ -46,6 +46,7 @@ + # define __constinit [[clang::require_constant_initialization]] + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + namespace + { + struct io_error_category final : std::error_category +@@ -84,11 +85,13 @@ namespace + + __constinit constant_init io_category_instance{}; + } // namespace ++#endif + + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + const error_category& + iostream_category() noexcept + { return io_category_instance.cat; } +@@ -108,6 +111,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + const char* + ios_base::failure::what() const throw() + { return runtime_error::what(); } ++#endif + + #if __cpp_rtti + // These functions are defined in src/c++98/ios_failure.cc +@@ -169,9 +173,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/compatibility-c++0x.cc.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/compatibility-c++0x.cc 2022-05-12 10:06:51.435501925 +0200 +@@ -46,6 +46,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + // gcc-4.4.0 + // exported std::lock_error + #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) +@@ -131,10 +132,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + }; + constexpr bool system_clock::is_monotonic; + } // namespace chrono ++#endif + + // gcc-5 replaces this with _V2::error_category + class error_category + { ++#ifdef _GLIBCXX_NONSHARED_CXX11_44 ++ // Ugly hack. Ensure we don't emit the virtual table and ++ // use system libstdc++.so.6 one instead. ++ virtual void dummy(); ++#endif ++ + public: + error_category() noexcept; + +@@ -177,6 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + error_category::~error_category() noexcept = default; + ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + namespace + { + using std::string; +@@ -251,6 +260,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __code.value() == __i; + return false; + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } +--- libstdc++-v3/src/c++11/futex.cc.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/futex.cc 2022-05-12 10:06:51.435501925 +0200 +@@ -108,6 +108,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 +183,7 @@ namespace + return true; + } + } ++#endif + + bool + __atomic_futex_unsigned_base:: +@@ -261,6 +263,7 @@ namespace + } + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + void + __atomic_futex_unsigned_base::_M_futex_notify_all(unsigned* __addr) + { +@@ -269,6 +272,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 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/c++11/shared_ptr.cc 2022-05-12 10:06:51.448501750 +0200 +@@ -45,11 +45,14 @@ namespace std _GLIBCXX_VISIBILITY(defaul + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + bad_weak_ptr::~bad_weak_ptr() noexcept = default; + + char const* + bad_weak_ptr::what() const noexcept + { return "bad_weak_ptr"; } ++#endif + + #ifdef __GTHREADS + namespace +@@ -95,6 +98,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 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/codecvt.cc 2022-05-12 10:06:51.448501750 +0200 +@@ -738,6 +738,7 @@ namespace + } + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + // Define members of codecvt specialization. + // Converts from UTF-8 to UTF-16. + +@@ -885,6 +886,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. +@@ -1036,6 +1038,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 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/ios.cc 2022-05-12 10:06:51.449501736 +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/src/c++11/cow-string-inst.cc.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/src/c++11/cow-string-inst.cc 2022-05-12 10:06:51.449501736 +0200 +@@ -27,7 +27,11 @@ + // + + #define _GLIBCXX_USE_CXX11_ABI 0 ++#ifndef _GLIBCXX_NONSHARED_CXX11_44 + #include "string-inst.cc" ++#else ++#include ++#endif + + #if ! _GLIBCXX_USE_DUAL_ABI + # error This file should not be compiled for this configuration. +--- libstdc++-v3/src/c++11/random.cc.jj 2022-05-10 18:36:26.011502088 +0200 ++++ libstdc++-v3/src/c++11/random.cc 2022-05-12 10:06:51.449501736 +0200 +@@ -522,6 +522,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + } + + // Called by old ABI version of random_device::_M_init(const std::string&). ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + void + random_device::_M_init(const char* s, size_t len) + { +@@ -598,6 +599,7 @@ namespace std _GLIBCXX_VISIBILITY(defaul + random_device::result_type + random_device::_M_getval_pretr1() + { return _M_getval(); } ++#endif + + double + random_device::_M_getentropy() const noexcept +--- libstdc++-v3/configure.ac.jj 2022-05-10 18:36:26.010502101 +0200 ++++ libstdc++-v3/configure.ac 2022-05-12 10:06:51.450501723 +0200 +@@ -624,6 +624,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 2022-05-10 18:36:26.009502114 +0200 ++++ libstdc++-v3/configure 2022-05-12 10:06:51.517500822 +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 +@@ -5551,7 +5553,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/filesystem src/libbacktrace doc po testsuite python' ++ SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/nonshared98 src/nonshared11 src/nonshared17 src/nonshared20 src/filesystem src/libbacktrace 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 +@@ -12191,7 +12193,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12194 "configure" ++#line 12196 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -12297,7 +12299,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12300 "configure" ++#line 12302 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -15981,7 +15983,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" + # Fake what AC_TRY_COMPILE does. + + cat > conftest.$ac_ext << EOF +-#line 15984 "configure" ++#line 15986 "configure" + int main() + { + typedef bool atomic_type; +@@ -16016,7 +16018,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 16019 "configure" ++#line 16021 "configure" + int main() + { + typedef short atomic_type; +@@ -16051,7 +16053,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 16054 "configure" ++#line 16056 "configure" + int main() + { + // NB: _Atomic_word not necessarily int. +@@ -16087,7 +16089,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 16090 "configure" ++#line 16092 "configure" + int main() + { + typedef long long atomic_type; +@@ -16243,7 +16245,7 @@ $as_echo "mutex" >&6; } + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 16246 "configure" ++#line 16248 "configure" + int main() + { + _Decimal32 d1; +@@ -16285,7 +16287,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 16288 "configure" ++#line 16290 "configure" + template + struct same + { typedef T2 type; }; +@@ -78829,6 +78831,11 @@ fi + + + ++CCAS='$(CXX)' ++CCASFLAGS='$(CXXFLAGS)' ++ ++ ++ + ac_config_files="$ac_config_files Makefile" + + ac_config_files="$ac_config_files scripts/testsuite_flags" +@@ -78848,7 +78855,7 @@ ac_config_files="$ac_config_files src/li + # append it here. Only modify Makefiles that have just been created. + # + # Also, get rid of this simulated-VPATH thing that automake does. +-ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile src/c++17/Makefile src/c++20/Makefile src/filesystem/Makefile src/libbacktrace/Makefile doc/Makefile po/Makefile testsuite/Makefile python/Makefile" ++ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile src/c++17/Makefile src/c++20/Makefile src/nonshared98/Makefile src/nonshared11/Makefile src/nonshared17/Makefile src/nonshared20/Makefile src/filesystem/Makefile src/libbacktrace/Makefile doc/Makefile po/Makefile testsuite/Makefile python/Makefile" + + + ac_config_commands="$ac_config_commands generate-headers" +@@ -80114,6 +80121,10 @@ do + "src/c++11/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++11/Makefile" ;; + "src/c++17/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++17/Makefile" ;; + "src/c++20/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++20/Makefile" ;; ++ "src/nonshared98/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared98/Makefile" ;; ++ "src/nonshared11/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared11/Makefile" ;; ++ "src/nonshared17/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared17/Makefile" ;; ++ "src/nonshared20/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared20/Makefile" ;; + "src/filesystem/Makefile") CONFIG_FILES="$CONFIG_FILES src/filesystem/Makefile" ;; + "src/libbacktrace/Makefile") CONFIG_FILES="$CONFIG_FILES src/libbacktrace/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; +@@ -81978,6 +81989,50 @@ _EOF + s!`test -f '$<' || echo '$(srcdir)/'`!! + _EOF + sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared98/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared11/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared17/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared20/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =' >> $ac_file +--- libstdc++-v3/acinclude.m4.jj 2022-05-10 18:36:26.000502233 +0200 ++++ libstdc++-v3/acinclude.m4 2022-05-12 10:06:51.532500620 +0200 +@@ -49,7 +49,7 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [ + # Keep these sync'd with the list in Makefile.am. The first provides an + # expandable list at autoconf time; the second provides an expandable list + # (i.e., shell variable) at configure time. +- m4_define([glibcxx_SUBDIRS],[include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/filesystem src/libbacktrace doc po testsuite python]) ++ m4_define([glibcxx_SUBDIRS],[include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/nonshared98 src/nonshared11 src/nonshared17 src/nonshared20 src/filesystem src/libbacktrace doc po testsuite python]) + SUBDIRS='glibcxx_SUBDIRS' + + # These need to be absolute paths, yet at the same time need to diff --git a/gcc13-libstdc++-docs.patch b/gcc13-libstdc++-docs.patch new file mode 100644 index 0000000..6dffae6 --- /dev/null +++ b/gcc13-libstdc++-docs.patch @@ -0,0 +1,24 @@ +--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100 ++++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100 +@@ -5,6 +5,8 @@ + FSF + +

++ Release 13.1.1 ++

+ Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation + License, Version 1.2 or any later version published by the +--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100 ++++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100 +@@ -20,7 +20,9 @@ + member functions for the library classes, finding out what is in a + particular include file, looking at inheritance diagrams, etc. +

+- The API documentation, rendered into HTML, can be viewed online ++ The API documentation, rendered into HTML, can be viewed locally ++ for the 13.1.1 release, ++ online + for each GCC release + and + diff --git a/gcc13-libtool-no-rpath.patch b/gcc13-libtool-no-rpath.patch new file mode 100644 index 0000000..466c661 --- /dev/null +++ b/gcc13-libtool-no-rpath.patch @@ -0,0 +1,27 @@ +libtool sucks. +--- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100 ++++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200 +@@ -5394,6 +5394,7 @@ EOF + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -6071,6 +6072,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then +@@ -6120,6 +6122,7 @@ EOF + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do ++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then diff --git a/gcc13-no-add-needed.patch b/gcc13-no-add-needed.patch new file mode 100644 index 0000000..5817299 --- /dev/null +++ b/gcc13-no-add-needed.patch @@ -0,0 +1,37 @@ +2010-02-08 Roland McGrath + + * config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker. + * config/alpha/elf.h (LINK_EH_SPEC): Likewise. + * config/ia64/linux.h (LINK_EH_SPEC): Likewise. + +--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100 ++++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100 +@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " + #endif +--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100 ++++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100 +@@ -76,7 +76,7 @@ do { \ + Signalize that because we have fde-glibc, we don't need all C shared libs + linked against -lgcc_s. */ + #undef LINK_EH_SPEC +-#define LINK_EH_SPEC "" ++#define LINK_EH_SPEC "--no-add-needed " + + #undef TARGET_INIT_LIBFUNCS + #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs +--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100 ++++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100 +@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI + #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC + + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " + #endif + + #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \ diff --git a/gcc13-rh1574936.patch b/gcc13-rh1574936.patch new file mode 100644 index 0000000..bcc7000 --- /dev/null +++ b/gcc13-rh1574936.patch @@ -0,0 +1,21 @@ +crt files and statically linked libgcc objects cause false positives +in annobin coverage, so we add the assembler flag to generate notes +for them. + +The patch also adds notes to libgcc_s.so, but this is harmless because +these notes only confer that there is no other annobin markup. + +2018-07-25 Florian Weimer + + * config/t-linux (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add + -Wa,--generate-missing-build-notes=yes. + +--- libgcc/config/t-linux 2022-12-15 19:25:20.581394950 +0100 ++++ libgcc/config/t-linux 2023-03-21 22:00:37.054478562 +0100 +@@ -1,3 +1,6 @@ + # Override t-slibgcc-elf-ver to export some libgcc symbols with + # the symbol versions that glibc used. + SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver ++ ++LIBGCC2_CFLAGS += -Wa,--generate-missing-build-notes=yes ++CRTSTUFF_CFLAGS += -Wa,--generate-missing-build-notes=yes diff --git a/gcc13-sparc-config-detection.patch b/gcc13-sparc-config-detection.patch new file mode 100644 index 0000000..bbe8ec3 --- /dev/null +++ b/gcc13-sparc-config-detection.patch @@ -0,0 +1,40 @@ +--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500 ++++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500 +@@ -3330,7 +3330,7 @@ sparc-*-rtems*) + tm_file="${tm_file} elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems" + ;; +-sparc-*-linux*) ++sparc-*-linux* | sparcv9-*-linux*) + tm_file="${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + case ${target} in +@@ -3384,7 +3384,7 @@ sparc64-*-rtems*) + extra_options="${extra_options}" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64" + ;; +-sparc64-*-linux*) ++sparc64*-*-linux*) + tm_file="sparc/biarch64.h ${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h" + extra_options="${extra_options} sparc/long-double-switch.opt" + tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" +--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500 ++++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500 +@@ -1002,7 +1002,7 @@ sparc-*-elf*) + tmake_file="${tmake_file} t-fdpbit t-crtfm" + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" + ;; +-sparc-*-linux*) # SPARC's running GNU/Linux, libc6 ++sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6 + tmake_file="${tmake_file} t-crtfm" + if test "${host_address}" = 64; then + tmake_file="$tmake_file sparc/t-linux64" +@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd* + tmake_file="$tmake_file t-crtfm" + extra_parts="$extra_parts crtfastmath.o" + ;; +-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux ++sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} t-crtfm sparc/t-linux" + if test "${host_address}" = 64; then diff --git a/isl-rh2155127.patch b/isl-rh2155127.patch new file mode 100644 index 0000000..092bddb --- /dev/null +++ b/isl-rh2155127.patch @@ -0,0 +1,85 @@ +From: Sven Verdoolaege +Date: Mon, 6 Jun 2022 12:56:02 +0000 (+0200) +Subject: update m4/ax_prog_cc_for_build.m4 +X-Git-Tag: isl-0.25~11 +X-Git-Url: https://repo.or.cz/isl.git/commitdiff_plain/b4dcdfadc29a6c9f410a72f345f3f32725b1d38b + +update m4/ax_prog_cc_for_build.m4 + +In particular, update to the latest version from the autoconf archive, +but preserve the changes from isl-0.22.1-358-gcd42abdf2 +(m4/ax_prog_cc_for_build.m4: do not override host compiler dependency style, +Tue Jun 9 10:54:10 2020 +0200). + +Signed-off-by: Sven Verdoolaege + +--- isl-0.24/m4/ax_prog_cc_for_build.m4.jj 2021-03-02 12:07:09.000000000 +0100 ++++ isl-0.24/m4/ax_prog_cc_for_build.m4 2022-12-20 18:11:18.855777817 +0100 +@@ -32,7 +32,7 @@ + # and this notice are preserved. This file is offered as-is, without any + # warranty. + +-#serial 18 ++#serial 21 + + AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) + AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl +@@ -44,6 +44,8 @@ dnl Use the standard macros, but make th + dnl + pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl + pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl ++pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl ++pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl + pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl + pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl + pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl +@@ -86,7 +88,21 @@ AS_IF([test -n "$build"], [ac_build + [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) + + AC_LANG_PUSH([C]) ++ ++dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover ++dnl the use of this variable in _AC_LANG_COMPILER_GNU called by ++dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround. ++was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y} ++AS_IF([test ${was_set_c_compiler_gnu}], ++ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu] ++ AS_UNSET([[ac_cv_c_compiler_gnu]])]) ++ + AC_PROG_CC ++ ++dnl Restore ac_cv_c_compiler_gnu ++AS_IF([test ${was_set_c_compiler_gnu}], ++ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]]) ++ + _AC_COMPILER_EXEEXT + _AC_COMPILER_OBJEXT + AC_PROG_CPP +--- isl-0.24/configure.jj 2021-04-26 11:13:19.000000000 +0200 ++++ isl-0.24/configure 2022-12-20 18:11:36.882518568 +0100 +@@ -5002,6 +4990,13 @@ ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR + ac_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_build_c_compiler_gnu + ++ ++was_set_c_compiler_gnu=${ac_cv_c_compiler_gnu+y} ++if test ${was_set_c_compiler_gnu}; then : ++ saved_c_compiler_gnu=$ac_cv_c_compiler_gnu ++ { ac_cv_c_compiler_gnu=; unset ac_cv_c_compiler_gnu;} ++fi ++ + ac_ext=c + ac_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' + ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +@@ -5728,6 +5723,11 @@ else + fi + + ++ ++if test ${was_set_c_compiler_gnu}; then : ++ ac_cv_c_compiler_gnu=$saved_c_compiler_gnu ++fi ++ + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + diff --git a/libgomp_nonshared.c b/libgomp_nonshared.c new file mode 100644 index 0000000..8d1bccf --- /dev/null +++ b/libgomp_nonshared.c @@ -0,0 +1,188 @@ +/* Copyright (C) 2019 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU Offloading and Multi Processing Library + (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* Remapping of nonmonotonic runtime schedule and maybe nonmonotonic runtime + schedule loop entrypoints (the used by GCC 9 and later for runtime + schedule without monotonic or nonmonotonic modifiers). + RHEL 7 libgomp only implements the GOMP*loop*runtime* entrypoints without + nonmonotonic in the names, which always implement monotonic scheduling, + but the library doesn't implement any other scheduling, even in GCC 9 + and monotonic scheduling is a valid implementation of non-monotonic + scheduling. */ + +#include + +typedef unsigned long long ull; +extern bool GOMP_loop_runtime_start (long, long, long, long *, long *); +extern bool GOMP_loop_runtime_next (long *, long *); +extern void GOMP_parallel_loop_runtime (void (*)(void *), void *, + unsigned, long, long, long, + unsigned); +extern bool GOMP_loop_ull_runtime_start (bool, ull, ull, ull, ull *, ull *); +extern bool GOMP_loop_ull_runtime_next (ull *, ull *); +extern bool GOMP_loop_dynamic_next (long *, long *); +extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *); +extern bool GOMP_loop_guided_next (long *, long *); +extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *); +extern bool GOMP_loop_ull_dynamic_next (ull *, ull *); +extern bool GOMP_loop_ull_dynamic_start (bool, ull, ull, ull, ull, ull *, + ull *); +extern bool GOMP_loop_ull_guided_next (ull *, ull *); +extern bool GOMP_loop_ull_guided_start (bool, ull, ull, ull, ull, ull *, + ull *); +extern void GOMP_parallel_loop_dynamic (void (*)(void *), void *, + unsigned, long, long, long, long, + unsigned); +extern void GOMP_parallel_loop_guided (void (*)(void *), void *, + unsigned, long, long, long, long, + unsigned); +#define alias(x, y) __typeof (x) y __attribute__((alias (#x))) + +#pragma GCC visibility push(hidden) + +bool +GOMP_loop_nonmonotonic_runtime_start (long start, long end, long incr, + long *istart, long *iend) +{ + return GOMP_loop_runtime_start (start, end, incr, istart, iend); +} +alias (GOMP_loop_nonmonotonic_runtime_start, + GOMP_loop_maybe_nonmonotonic_runtime_start); + +bool +GOMP_loop_nonmonotonic_runtime_next (long *istart, long *iend) +{ + return GOMP_loop_runtime_next (istart, iend); +} +alias (GOMP_loop_nonmonotonic_runtime_next, + GOMP_loop_maybe_nonmonotonic_runtime_next); + +void +GOMP_parallel_loop_nonmonotonic_runtime (void (*fn)(void *), void *data, + unsigned num_threads, long start, + long end, long incr, unsigned flags) +{ + return GOMP_parallel_loop_runtime (fn, data, num_threads, start, + end, incr, flags); +} +alias (GOMP_parallel_loop_nonmonotonic_runtime, + GOMP_parallel_loop_maybe_nonmonotonic_runtime); + +bool +GOMP_loop_ull_nonmonotonic_runtime_start (bool up, ull start, ull end, + ull incr, ull *istart, ull *iend) +{ + return GOMP_loop_ull_runtime_start (up, start, end, incr, istart, iend); +} +alias (GOMP_loop_ull_nonmonotonic_runtime_start, + GOMP_loop_ull_maybe_nonmonotonic_runtime_start); + +bool +GOMP_loop_ull_nonmonotonic_runtime_next (ull *istart, ull *iend) +{ + return GOMP_loop_ull_runtime_next (istart, iend); +} +alias (GOMP_loop_ull_nonmonotonic_runtime_next, + GOMP_loop_ull_maybe_nonmonotonic_runtime_next); + +bool +GOMP_loop_nonmonotonic_dynamic_next (long *istart, long *iend) +{ + return GOMP_loop_dynamic_next (istart, iend); +} + +bool +GOMP_loop_nonmonotonic_dynamic_start (long start, long end, long incr, + long chunk_size, long *istart, + long *iend) +{ + return GOMP_loop_dynamic_start (start, end, incr, chunk_size, istart, iend); +} + +bool +GOMP_loop_nonmonotonic_guided_next (long *istart, long *iend) +{ + return GOMP_loop_guided_next (istart, iend); +} + +bool +GOMP_loop_nonmonotonic_guided_start (long start, long end, long incr, + long chunk_size, long *istart, long *iend) +{ + return GOMP_loop_guided_start (start, end, incr, chunk_size, istart, iend); +} + +bool +GOMP_loop_ull_nonmonotonic_dynamic_next (ull *istart, ull *iend) +{ + return GOMP_loop_ull_dynamic_next (istart, iend); +} + +bool +GOMP_loop_ull_nonmonotonic_dynamic_start (bool up, ull start, + ull end, ull incr, + ull chunk_size, + ull *istart, ull *iend) +{ + return GOMP_loop_ull_dynamic_start (up, start, end, incr, chunk_size, istart, + iend); +} + +bool +GOMP_loop_ull_nonmonotonic_guided_next (ull *istart, ull *iend) +{ + return GOMP_loop_ull_guided_next (istart, iend); +} + +bool +GOMP_loop_ull_nonmonotonic_guided_start (bool up, ull start, ull end, + ull incr, ull chunk_size, + ull *istart, ull *iend) +{ + return GOMP_loop_ull_guided_start (up, start, end, incr, chunk_size, istart, + iend); +} + +void +GOMP_parallel_loop_nonmonotonic_dynamic (void (*fn) (void *), void *data, + unsigned num_threads, long start, + long end, long incr, long chunk_size, + unsigned flags) +{ + GOMP_parallel_loop_dynamic (fn, data, num_threads, start, end, incr, + chunk_size, flags); +} + +void +GOMP_parallel_loop_nonmonotonic_guided (void (*fn) (void *), void *data, + unsigned num_threads, long start, + long end, long incr, long chunk_size, + unsigned flags) +{ + GOMP_parallel_loop_guided (fn, data, num_threads, start, end, incr, + chunk_size, flags); +} + +#pragma GCC visibility pop diff --git a/sources b/sources new file mode 100644 index 0000000..ffb1707 --- /dev/null +++ b/sources @@ -0,0 +1,4 @@ +SHA512 (gcc-13.1.1-20230426.tar.xz) = 7a588d7720c67fce57ab483168684195810a168f3234667151d0b76638d15ae50d8f9de0c9f2c2aaa1345e45c46577575b717dbb73f8cccce79932c37cacac5a +SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95 +SHA512 (newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz) = bef3fa04f7b1a915fc1356ebed114698b5cc835e9fa04b0becff05a9efc76c59fb376482990873d222d7acdcfee3c4f30f5a4cb7f3be1f291f1fa5f1c7a9d983 +SHA512 (nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz) = c719fad8689b2b6f3c888d0308604ddef884037d71ec3e755c68052d30075a181c29358fda516833ace437921b17602b147be7886317be94ec9736faa8cb52be