diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 631854d..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/gcc-12.1.1-20220507.tar.xz 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 deleted file mode 100644 index 7031726..0000000 --- a/0001-basic_string-reserve-n-semantics-are-not-available-i.patch +++ /dev/null @@ -1,85 +0,0 @@ -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 deleted file mode 100644 index 264745b..0000000 --- a/0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch +++ /dev/null @@ -1,46 +0,0 @@ -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 deleted file mode 100644 index 0641e85..0000000 --- a/0005-Disable-tests-for-PR-libstdc-79820-and-PR-libstdc-81.patch +++ /dev/null @@ -1,53 +0,0 @@ -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 deleted file mode 100644 index dcabb08..0000000 --- a/0006-Don-t-assume-has_facet-codecvt_c16-when-run-against-.patch +++ /dev/null @@ -1,118 +0,0 @@ -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 deleted file mode 100644 index f97bad3..0000000 --- a/0008-testsuite-build-plugins-with-std-c-11.patch +++ /dev/null @@ -1,42 +0,0 @@ -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 deleted file mode 100644 index a540702..0000000 --- a/0009-Fix-22_locale-locale-cons-unicode.cc-when-run-under-.patch +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index 9e16d2e..0000000 --- a/0010-Don-t-verify-exception-handling-in-basic_filebuf-clo.patch +++ /dev/null @@ -1,30 +0,0 @@ -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 deleted file mode 100644 index 7d28f1e..0000000 --- a/0011-Add-dts.exp-and-use-it-to-fix-22_locale-messages-136.patch +++ /dev/null @@ -1,117 +0,0 @@ -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 deleted file mode 100644 index 129ef2d..0000000 --- a/0012-dts.exp-use-usr-bin-gcc.patch +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 52f160d..0000000 --- a/0013-Rename-__CXXSTDLIB_SO_VERSION__-to-__LIBSTDCXX_SO_VE.patch +++ /dev/null @@ -1,86 +0,0 @@ -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 deleted file mode 100644 index 0da5b14..0000000 --- a/0014-Conditionalize-tests-for-PR-libstdc-98466-on-__LIBST.patch +++ /dev/null @@ -1,84 +0,0 @@ -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 deleted file mode 100644 index 087b20e..0000000 --- a/0015-Conditionalize-test-for-PR-libstdc-87135-on-__LIBSTD.patch +++ /dev/null @@ -1,41 +0,0 @@ -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 deleted file mode 100644 index 213a6f5..0000000 --- a/0016-Conditionalize-test-for-hashtable-bucket-sizes-on-__.patch +++ /dev/null @@ -1,102 +0,0 @@ -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 deleted file mode 100644 index d18de1d..0000000 --- a/0017-Conditionalize-test-for-PR-libstdc-71181-on-__LIBSTD.patch +++ /dev/null @@ -1,33 +0,0 @@ -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/README.md b/README.md new file mode 100644 index 0000000..24b9ea2 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Package Not Available +This package is not available on CentOS Stream 10. +It may be available on another branch. \ No newline at end of file diff --git a/compat-sap-c++-12.spec b/compat-sap-c++-12.spec deleted file mode 100644 index 747ca4b..0000000 --- a/compat-sap-c++-12.spec +++ /dev/null @@ -1,566 +0,0 @@ -%global __python /usr/bin/python3 -%global scl 1 -%global scl_prefix compat-sap- -%global _root_prefix /opt/rh/SAP -%global _root_infodir %{_root_prefix}/%{_infodir} -%global _root_mandir %{_root_prefix}/%{_mandir} -%{?scl:%global __strip strip} -%{?scl:%global __objdump objdump} -%global DATE 20220507 -%global gitrev fa107326a13af9a7d7aa0df28fe364db0f6fb171 -%global gcc_version 12.1.1 -%global gcc_major 12 -# 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 _unpackaged_files_terminate_build 0 -%undefine _annotated_build -%global multilib_64_archs sparc64 ppc64 x86_64 -%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 -%global attr_ifunc 1 -%else -%global attr_ifunc 0 -%endif -%ifarch x86_64 -%global multilib_32_arch i686 -%endif -%if 0%{?fedora} >= 36 || 0%{?rhel} >= 10 -%global build_annobin_plugin 1 -%else -%global build_annobin_plugin 0 -%endif -Summary: C++ compatibility runtime library for SAP applications -Name: %{?scl_prefix}c++-12 -ExclusiveArch: x86_64 ppc64le s390x -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 -URL: http://gcc.gnu.org -# Need binutils with -pie support >= 2.14.90.0.4-4 -# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4 -# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2 -# Need binutils which support .weakref >= 2.16.91.0.3-1 -# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7 -# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8 -# Need binutils which support --build-id >= 2.17.50.0.17-3 -# Need binutils which support %%gnu_unique_object >= 2.19.51.0.14 -# Need binutils which support .cfi_sections >= 2.19.51.0.14-33 -# Need binutils which support --no-add-needed >= 2.20.51.0.2-12 -# Need binutils which support -plugin -# Need binutils which support .loc view >= 2.30 -# Need binutils which support --generate-missing-build-notes=yes >= 2.31 -BuildRequires: binutils >= 2.19.51.0.14-33 -# 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: gcc, gcc-c++, make -# 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 -# Don't require this for compat-sap-c++ (#1491573). -#Requires: binutils >= 2.19.51.0.14-33 -# Make sure gdb will understand DW_FORM_strp -Conflicts: gdb < 5.1-2 -# Don't require this for compat-sap-c++ (#1491573). -#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 -Requires: libgcc >= 4.1.2-43 -# Keep this for now. -Requires: libgomp >= 4.4.4-13 -BuildRequires: gmp-devel >= 4.1.2-8 -BuildRequires: mpfr-devel >= 3.1.0 -%if 0%{?rhel} >= 7 -BuildRequires: libmpc-devel >= 0.8.1 -%endif - -%if 0%{?rhel} == 8 -%ifarch ppc64le -BuildRequires: gcc-toolset-12-runtime gcc-toolset-12-binutils -BuildRequires: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ -%endif -%endif - -AutoReq: true -AutoProv: false -# Don't provide this for compat-sap-c++ (#1491573). -#%ifarch sparc64 ppc64 ppc64le s390x x86_64 ia64 -#Provides: liblto_plugin.so.0()(64bit) -#%else -#Provides: liblto_plugin.so.0 -#%endif -%global oformat %{nil} -%global oformat2 %{nil} -%ifarch %{ix86} -%global oformat OUTPUT_FORMAT(elf32-i386) -%endif -%ifarch x86_64 -%global oformat OUTPUT_FORMAT(elf64-x86-64) -%global oformat2 OUTPUT_FORMAT(elf32-i386) -%endif -%ifarch ppc -%global oformat OUTPUT_FORMAT(elf32-powerpc) -%global oformat2 OUTPUT_FORMAT(elf64-powerpc) -%endif -%ifarch ppc64 -%global oformat OUTPUT_FORMAT(elf64-powerpc) -%global oformat2 OUTPUT_FORMAT(elf32-powerpc) -%endif -%ifarch s390 -%global oformat OUTPUT_FORMAT(elf32-s390) -%endif -%ifarch s390x -%global oformat OUTPUT_FORMAT(elf64-s390) -%global oformat2 OUTPUT_FORMAT(elf32-s390) -%endif -%ifarch ia64 -%global oformat OUTPUT_FORMAT(elf64-ia64-little) -%endif -%ifarch ppc64le -%global oformat OUTPUT_FORMAT(elf64-powerpcle) -%endif -%ifarch aarch64 -%global oformat OUTPUT_FORMAT(elf64-littleaarch64) -%endif - -Patch0: gcc12-hack.patch -Patch2: gcc12-sparc-config-detection.patch -Patch3: gcc12-libgomp-omp_h-multilib.patch -Patch4: gcc12-libtool-no-rpath.patch -Patch5: gcc12-isl-dl.patch -Patch6: gcc12-isl-dl2.patch -Patch7: gcc12-libstdc++-docs.patch -Patch8: gcc12-no-add-needed.patch -Patch9: gcc12-Wno-format-security.patch -Patch10: gcc12-rh1574936.patch -Patch11: gcc12-d-shared-libphobos.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: gcc12-dg-ice-fixes.patch - -%if 0%{?rhel} == 9 -%global nonsharedver 11 -%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 -This package provides runtime compatibility libraries for use by SAP -application binaries only. - -%prep -%setup -q -n gcc-%{version}-%{DATE} -%patch0 -p0 -b .hack~ -%patch2 -p0 -b .sparc-config-detection~ -%patch3 -p0 -b .libgomp-omp_h-multilib~ -%patch4 -p0 -b .libtool-no-rpath~ -%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~ - -# 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~ - -find gcc/testsuite -name \*.pr96939~ | xargs rm -f - -echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE - -%if 0%{?rhel} == 6 -# Default to -gdwarf-3 rather than -gdwarf-5 -sed -i '/UInteger Var(dwarf_version)/s/Init(5)/Init(3)/' gcc/common.opt -sed -i 's/\(version for most targets is \)5 /\13 /' gcc/doc/invoke.texi -%endif -%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* -%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 - -rm -rf obj-%{gcc_target_platform} -mkdir obj-%{gcc_target_platform} -cd obj-%{gcc_target_platform} - -%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} - -%if 0%{?rhel} == 8 -%ifarch ppc64le -export PATH=/opt/rh/gcc-toolset-12/root/usr/bin:${PATH:+:${PATH}} -%endif -%endif - -CC=gcc -CXX=g++ -OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//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/-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'` -# 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-linker-hash-style=gnu \ - --enable-plugin --enable-initfini-array \ - --disable-libquadmath \ - --disable-libsanitizer \ - --disable-libvtv \ - --disable-libgomp \ - --disable-libitm \ - --disable-libssp \ - --disable-libatomic \ - --disable-libcilkrts \ - --without-isl \ - --disable-libmpx \ -%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7 -%if %{attr_ifunc} - --enable-gnu-indirect-function \ -%endif -%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 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} >= 26 - --with-arch=zEC12 --with-tune=z13 \ -%else - --with-arch=z9-109 --with-tune=z10 \ -%endif -%endif - --enable-decimal-float \ -%endif - --build=%{gcc_target_platform} \ - " - -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++,lto \ - $CONFIGURE_OPTS - - -make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" - -%install -rm -fr %{buildroot} - -%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} -mkdir -p %{buildroot}%{_root_prefix}/%{_lib} -cd obj-%{gcc_target_platform} -./gcc/xgcc -v 2> %{buildroot}%{_root_prefix}/%{_lib}/README%{gcc_major} - -cp %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6.0.* %{buildroot}%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_version}.so -cd %{buildroot}%{_root_prefix}/%{_lib}/ -ln -sf compat-sap-c++-%{gcc_version}.so %{buildroot}%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_major}.so - -%check - - -cd obj-%{gcc_target_platform} - -%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} - - -# 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} - - -%files -%defattr(-,root,root,-) -%dir %{_root_prefix} -%dir %{_root_prefix}/%{_lib} -%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_version}.so -%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_major}.so -%{_root_prefix}/%{_lib}/README%{gcc_major} - -%changelog -* Mon May 16 2022 Marek Polacek 12.1.1-1 -- update to GCC 12 (#2070133) - -* Wed Jul 14 2021 Marek Polacek 11.1.1-6 -- update to GCC 11 (#1957766) - -* Wed May 19 2021 Marek Polacek 10.2.1-11 -- update from Fedora gcc 10.2.1-11 (#1933097) -- apply gcc10-SIZE_MAX.patch - -* Wed Jul 29 2020 Marek Polacek 10.2.1-1 -- GCC 10.2 release -- disable -flto in %%{optflags}, lto bootstrap will be enabled the GCC way - later -- require MPFR Library version 3.1.0 (or later) - -* Thu Jun 4 2020 Marek Polacek 10.1.1-1 -- new package diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..7c87183 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +compat-sap-cplusplus-12 package is retired on branch c10s for CS-2551 \ No newline at end of file diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index eb7c84f..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/gcc12-Wno-format-security.patch b/gcc12-Wno-format-security.patch deleted file mode 100644 index 43e482a..0000000 --- a/gcc12-Wno-format-security.patch +++ /dev/null @@ -1,58 +0,0 @@ -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 -@@ -447,8 +447,8 @@ LDFLAGS = @LDFLAGS@ - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates --GOCFLAGS = $(CFLAGS) --GDCFLAGS = $(CFLAGS) -+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GDCFLAGS = $(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 -@@ -444,8 +444,8 @@ LDFLAGS = @LDFLAGS@ - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates --GOCFLAGS = $(CFLAGS) --GDCFLAGS = $(CFLAGS) -+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS)) -+GDCFLAGS = $(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/gcc12-alt-compat-test.patch b/gcc12-alt-compat-test.patch deleted file mode 100644 index c5e627a..0000000 --- a/gcc12-alt-compat-test.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c.jj 2011-01-03 06:50:42.000000000 -0500 -+++ gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c 2011-02-18 06:28:53.858200077 -0500 -@@ -1501,6 +1501,8 @@ generate_random_tests (enum FEATURE feat - int i, r; - if (len > 'z' - 'a' + 1) - abort (); -+ if (getenv ("ALT_CXX_UNDER_TEST") != NULL) -+ features &= ~FEATURE_VECTOR; - memset (e, 0, sizeof (e)); - r = generate_random (); - if ((r & 7) == 0 && !cxx14_vs_cxx17) ---- gcc/testsuite/g++.dg/compat/compat.exp.jj 2011-01-03 06:50:42.000000000 -0500 -+++ gcc/testsuite/g++.dg/compat/compat.exp 2011-02-18 06:30:54.248200398 -0500 -@@ -116,7 +116,12 @@ if [info exists ALT_CXX_UNDER_TEST] then - } - - # Main loop. --foreach src [lsort [find $srcdir/$subdir *_main.C]] { -+set tests [lsort [find $srcdir/$subdir *_main.C]] -+if { $use_alt != 0 } then { -+ set tests [prune $tests $srcdir/$subdir/decimal/*] -+} -+ -+foreach src $tests { - # If we're only testing specific files and this isn't one of them, skip it. - if ![runtest_file_p $runtests $src] then { - continue ---- gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c.jj 2011-01-03 06:49:58.000000000 -0500 -+++ gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c 2011-02-18 06:27:54.922262671 -0500 -@@ -1912,6 +1912,8 @@ generate_random_tests (enum FEATURE feat - int i, r; - if (len > 'z' - 'a' + 1) - abort (); -+ if (getenv ("ALT_CC_UNDER_TEST") != NULL) -+ features &= ~FEATURE_VECTOR; - memset (e, 0, sizeof (e)); - r = generate_random (); - if ((r & 7) == 0) ---- gcc/testsuite/lib/c-compat.exp.jj 2011-01-03 06:48:38.000000000 -0500 -+++ gcc/testsuite/lib/c-compat.exp 2011-02-18 06:38:19.124265008 -0500 -@@ -75,7 +75,7 @@ proc compat_setup_dfp { } { - # If there is an alternate compiler, does it support decimal float types? - if { $compat_have_dfp == 1 && $compat_use_alt == 1 && $compat_same_alt == 0 } { - compat-use-alt-compiler -- set compat_have_dfp [check_effective_target_dfprt_nocache] -+ set compat_have_dfp 0 - compat-use-tst-compiler - verbose "compat_have_dfp for alt compiler: $compat_have_dfp" 2 - } diff --git a/gcc12-d-shared-libphobos.patch b/gcc12-d-shared-libphobos.patch deleted file mode 100644 index 6384bbb..0000000 --- a/gcc12-d-shared-libphobos.patch +++ /dev/null @@ -1,20 +0,0 @@ -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)