From 375e665e34f75165d86b331478fadaa57f2b267a Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Mon, 13 Sep 2021 17:03:20 +0200 Subject: Added fix for mozbz#1725828 --- firefox.spec | 7 ++++++- mozilla-1725828.patch | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 mozilla-1725828.patch diff --git a/firefox.spec b/firefox.spec index ee67f29..b81e569 100644 --- a/firefox.spec +++ b/firefox.spec @@ -157,7 +157,7 @@ ExcludeArch: armv7hl Summary: Mozilla Firefox Web browser Name: firefox Version: 92.0 -Release: 2%{?pre_tag}%{?dist} +Release: 3%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz @@ -239,6 +239,7 @@ Patch415: mozilla-1670333.patch Patch420: mochitest-wayland-workaround.patch Patch422: mozilla-1728749.patch Patch423: mozilla-1708709.patch +Patch424: mozilla-1725828.patch # PGO/LTO patches Patch600: pgo.patch @@ -481,6 +482,7 @@ This package contains results of tests executed during build. %patch420 -p1 -b .mochitest-wayland-workaround %patch422 -p1 -b .1728749 %patch423 -p1 -b .1708709 +%patch424 -p1 -b .1725828 # PGO patches %if %{build_with_pgo} @@ -1050,6 +1052,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Mon Sep 13 2021 Martin Stransky - 92.0-3 +- Added fix for mozbz#1725828 + * Thu Sep 9 2021 Martin Stransky - 92.0-2 - Disable test diff --git a/mozilla-1725828.patch b/mozilla-1725828.patch new file mode 100644 index 0000000..eed100a --- /dev/null +++ b/mozilla-1725828.patch @@ -0,0 +1,52 @@ +diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp +--- a/dom/media/gmp/GMPChild.cpp ++++ b/dom/media/gmp/GMPChild.cpp +@@ -232,8 +232,14 @@ + } + #elif defined(XP_LINUX) + constexpr static const char* whitelist[] = { ++ // NSS libraries used by clearkey. + "libfreeblpriv3.so", + "libsoftokn3.so", ++ // glibc libraries merged into libc.so.6; see bug 1725828 and ++ // the corresponding code in GMPParent.cpp. ++ "libdl.so.2", ++ "libpthread.so.0", ++ "librt.so.1", + }; + + nsTArray libs; +@@ -256,7 +262,7 @@ + } + // End bug 1698718 logging. + +- MOZ_CRASH("Couldn't load lib needed by NSS"); ++ MOZ_CRASH("Couldn't load lib needed by media plugin"); + } + } + } +diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp +--- a/dom/media/gmp/GMPParent.cpp ++++ b/dom/media/gmp/GMPParent.cpp +@@ -876,6 +876,20 @@ + return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__); + } + ++#ifdef XP_LINUX ++ // These glibc libraries were merged into libc.so.6 as of glibc ++ // 2.34; they now exist only as stub libraries for compatibility and ++ // newly linked code won't depend on them, so we need to ensure ++ // they're loaded for plugins that may have been linked against a ++ // different version of glibc. (See also bug 1725828.) ++ if (!mDisplayName.EqualsASCII("clearkey")) { ++ if (!mLibs.IsEmpty()) { ++ mLibs.AppendLiteral(", "); ++ } ++ mLibs.AppendLiteral("libdl.so.2, libpthread.so.0, librt.so.1"); ++ } ++#endif ++ + nsCString codecsString = NS_ConvertUTF16toUTF8(m.mX_cdm_codecs); + nsTArray codecs; + SplitAt(",", codecsString, codecs); + -- cgit