From 32ae24f618bf1d681cc45e6d93ff69f75a4b6d58 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Wed, 16 Mar 2022 13:31:58 +0100 Subject: Added 0001-GLIBCXX-fix-for-GCC-12.patch back due to gcc failure --- 0001-GLIBCXX-fix-for-GCC-12.patch | 44 +++++++++++++++++++++++++++++++++++++++ firefox.spec | 2 ++ 2 files changed, 46 insertions(+) create mode 100644 0001-GLIBCXX-fix-for-GCC-12.patch diff --git a/0001-GLIBCXX-fix-for-GCC-12.patch b/0001-GLIBCXX-fix-for-GCC-12.patch new file mode 100644 index 0000000..37d6f50 --- /dev/null +++ b/0001-GLIBCXX-fix-for-GCC-12.patch @@ -0,0 +1,44 @@ +From efd5bc0715e5477318be95a76811cda0a89e8289 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= +Date: Fri, 4 Mar 2022 12:00:26 +0100 +Subject: [PATCH] GLIBCXX fix for GCC 12? + +--- + build/unix/stdc++compat/stdc++compat.cpp | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/build/unix/stdc++compat/stdc++compat.cpp b/build/unix/stdc++compat/stdc++compat.cpp +index 0180f6bcfa998..8d7a542ff11f0 100644 +--- a/build/unix/stdc++compat/stdc++compat.cpp ++++ b/build/unix/stdc++compat/stdc++compat.cpp +@@ -24,6 +24,7 @@ + GLIBCXX_3.4.27 is from gcc 10 + GLIBCXX_3.4.28 is from gcc 10 + GLIBCXX_3.4.29 is from gcc 11 ++ GLIBCXX_3.4.30 is from gcc 12 + + This file adds the necessary compatibility tricks to avoid symbols with + version GLIBCXX_3.4.20 and bigger, keeping binary compatibility with +@@ -69,6 +70,19 @@ void __attribute__((weak)) __throw_bad_array_new_length() { MOZ_CRASH(); } + } // namespace std + #endif + ++#if _GLIBCXX_RELEASE >= 12 ++namespace std { ++ ++/* This avoids the GLIBCXX_3.4.30 symbol version. */ ++void __attribute__((weak)) ++__glibcxx_assert_fail(const char* __file, int __line, const char* __function, ++ const char* __condition) { ++ MOZ_CRASH(); ++} ++ ++} // namespace std ++#endif ++ + /* While we generally don't build with exceptions, we have some host tools + * that do use them. libstdc++ from GCC 5.0 added exception constructors with + * char const* argument. Older versions only have a constructor with +-- +2.35.1 + diff --git a/firefox.spec b/firefox.spec index 956a134..6e03434 100644 --- a/firefox.spec +++ b/firefox.spec @@ -225,6 +225,7 @@ Patch67: D139088.diff Patch68: D139703.diff Patch69: D139704.diff Patch70: crossbeam-downgrade-rhbz2063961.patch +Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch # Test patches # Generate without context by @@ -481,6 +482,7 @@ This package contains results of tests executed during build. %ifarch aarch64 %patch70 -p1 -b .crossbeam-downgrade-rhbz2063961 %endif +%patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12 # Test patches #%patch100 -p1 -b .firefox-tests-xpcshell -- cgit