summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--0001-GLIBCXX-fix-for-GCC-12.patch44
-rw-r--r--firefox.spec2
2 files changed, 46 insertions, 0 deletions
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?= <emilio@crisal.io>
+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
bgstack15