From 634d3e1ea31b0711f2c72024c78272968f08bafa Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 2 Feb 2021 16:41:09 +0100 Subject: [PATCH 1/3] Remove gtk2 support as flash plugin is no longer supported ESR91 is supposed to drop gtk2 support, but in the mean time, we can just rm the gtk2 libmozgtk.so as we are using gtk3 by default. The last supported plugin -- adobe flash -- is no longer supported in Firefox 85, so we no longer need to keep the gtk2 libmozgtk around for the plugin loader. https://pagure.io/fedora-workstation/issue/180 --- firefox.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/firefox.spec b/firefox.spec index ca3b6de..5f726d9 100644 --- a/firefox.spec +++ b/firefox.spec @@ -174,7 +174,7 @@ ExcludeArch: armv7hl Summary: Mozilla Firefox Web browser Name: firefox Version: 85.0 -Release: 9%{?pre_tag}%{?dist} +Release: 10%{?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 @@ -929,6 +929,9 @@ mkdir -p %{buildroot}%{_datadir}/metainfo mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers %{__cp} %{SOURCE34} %{buildroot}%{_datadir}/gnome-shell/search-providers +# Remove gtk2 support as flash plugin is no longer supported +rm -rf %{buildroot}%{mozappdir}/gtk2/ + # Remove copied libraries to speed up build rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so @@ -1023,7 +1026,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{mozappdir}/browser/crashreporter-override.ini %endif %{mozappdir}/*.so -%{mozappdir}/gtk2/*.so %{mozappdir}/defaults/pref/channel-prefs.js %{mozappdir}/dependentlibs.list %{mozappdir}/dictionaries @@ -1042,6 +1044,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Tue Feb 02 2021 Kalev Lember - 85.0-10 +- Remove gtk2 support as flash plugin is no longer supported + * Sat Jan 30 2021 Martin Stransky - 85.0-9 - Enable WebRender on KDE/Wayland and AMD/Intel drivers. From 2fe076f06f988de188f77589cbd690ac4db1be33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 3 Feb 2021 12:07:56 +0100 Subject: [PATCH 2/3] Fix parameter passing on ppc64le (mozb#1690152) --- firefox.spec | 7 +++- mozilla-1690152.patch | 97 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 mozilla-1690152.patch diff --git a/firefox.spec b/firefox.spec index 5f726d9..b54517f 100644 --- a/firefox.spec +++ b/firefox.spec @@ -174,7 +174,7 @@ ExcludeArch: armv7hl Summary: Mozilla Firefox Web browser Name: firefox Version: 85.0 -Release: 10%{?pre_tag}%{?dist} +Release: 11%{?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 @@ -255,6 +255,7 @@ Patch427: mozilla-1678247.patch Patch428: mozilla-1679933.patch Patch429: mozilla-1631061-1.patch Patch430: mozilla-1631061-2.patch +Patch431: mozilla-1690152.patch # PGO/LTO patches Patch600: pgo.patch @@ -469,6 +470,7 @@ This package contains results of tests executed during build. %patch428 -p1 -b .1679933 %patch429 -p1 -b .1631061 %patch430 -p1 -b .1631061 +%patch431 -p1 -b .1690152 # PGO patches %if %{build_with_pgo} @@ -1044,6 +1046,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Wed Feb 03 2021 Dan Horák - 85.0-11 +- Fix parameter passing on ppc64le (mozb#1690152) + * Tue Feb 02 2021 Kalev Lember - 85.0-10 - Remove gtk2 support as flash plugin is no longer supported diff --git a/mozilla-1690152.patch b/mozilla-1690152.patch new file mode 100644 index 0000000..fb672d3 --- /dev/null +++ b/mozilla-1690152.patch @@ -0,0 +1,97 @@ + +# HG changeset patch +# User Cameron Kaiser +# Date 1612231460 0 +# Node ID 579a66fd796690fb752485215b2edaa6167ebf16 +# Parent a00504e040bfd34d01c74d478beb9d308ec085be +Bug 1690152 - on ppc64 properly skip parameter slots if we overflow GPRs while still having FPRs to burn. r=tcampbell + +Differential Revision: https://phabricator.services.mozilla.com/D103724 + +diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp b/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp +--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp ++++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp +@@ -86,27 +86,37 @@ extern "C" void invoke_copy_to_stack(uin + case nsXPTType::T_WCHAR: value = s->val.wc; break; + default: value = (uint64_t) s->val.p; break; + } + } + + if (!s->IsIndirect() && s->type == nsXPTType::T_DOUBLE) { + if (nr_fpr < FPR_COUNT) { + fpregs[nr_fpr++] = s->val.d; +- nr_gpr++; ++ // Even if we have enough FPRs, still skip space in ++ // the parameter area if we ran out of placeholder GPRs. ++ if (nr_gpr < GPR_COUNT) { ++ nr_gpr++; ++ } else { ++ d++; ++ } + } else { + *((double *)d) = s->val.d; + d++; + } + } + else if (!s->IsIndirect() && s->type == nsXPTType::T_FLOAT) { + if (nr_fpr < FPR_COUNT) { + // Single-precision floats are passed in FPRs too. + fpregs[nr_fpr++] = s->val.f; +- nr_gpr++; ++ if (nr_gpr < GPR_COUNT) { ++ nr_gpr++; ++ } else { ++ d++; ++ } + } else { + #ifdef __LITTLE_ENDIAN__ + *((float *)d) = s->val.f; + #else + // Big endian needs adjustment to point to the least + // significant word. + float* p = (float*)d; + p++; +diff --git a/xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp b/xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp +--- a/xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp ++++ b/xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp +@@ -98,27 +98,37 @@ PrepareAndDispatch(nsXPTCStubBase * self + nr_gpr++; + else + ap++; + } + + if (!param.IsOut() && type == nsXPTType::T_DOUBLE) { + if (nr_fpr < FPR_COUNT) { + dp->val.d = fpregs[nr_fpr++]; +- nr_gpr++; ++ // Even if we have enough FPRs, still skip space in ++ // the parameter area if we ran out of placeholder GPRs. ++ if (nr_gpr < GPR_COUNT) { ++ nr_gpr++; ++ } else { ++ ap++; ++ } + } else { + dp->val.d = *(double*)ap++; + } + continue; + } + if (!param.IsOut() && type == nsXPTType::T_FLOAT) { + if (nr_fpr < FPR_COUNT) { + // Single-precision floats are passed in FPRs too. + dp->val.f = (float)fpregs[nr_fpr++]; +- nr_gpr++; ++ if (nr_gpr < GPR_COUNT) { ++ nr_gpr++; ++ } else { ++ ap++; ++ } + } else { + #ifdef __LITTLE_ENDIAN__ + dp->val.f = *(float*)ap++; + #else + // Big endian needs adjustment to point to the least + // significant word. + float* p = (float*)ap; + p++; + From 603d980e8c7ac57a89cd9421265362e20a9a7c14 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Mon, 8 Feb 2021 17:18:10 +0100 Subject: [PATCH 3/3] Updated to 85.0.1 --- .gitignore | 2 ++ firefox.spec | 9 ++++++--- sources | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 120cbfe..4e96587 100644 --- a/.gitignore +++ b/.gitignore @@ -445,3 +445,5 @@ firefox-3.6.4.source.tar.bz2 /firefox-langpacks-84.0.2-20210106.tar.xz /firefox-85.0.source.tar.xz /firefox-langpacks-85.0-20210120.tar.xz +/firefox-85.0.1.source.tar.xz +/firefox-langpacks-85.0.1-20210208.tar.xz diff --git a/firefox.spec b/firefox.spec index b54517f..8c0f040 100644 --- a/firefox.spec +++ b/firefox.spec @@ -173,13 +173,13 @@ ExcludeArch: armv7hl Summary: Mozilla Firefox Web browser Name: firefox -Version: 85.0 -Release: 11%{?pre_tag}%{?dist} +Version: 85.0.1 +Release: 1%{?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 %if %{with langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20210120.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20210208.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source10: firefox-mozconfig @@ -1046,6 +1046,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Mon Feb 08 2021 Martin Stransky - 85.0.1-1 +- Updated to 85.0.1 + * Wed Feb 03 2021 Dan Horák - 85.0-11 - Fix parameter passing on ppc64le (mozb#1690152) diff --git a/sources b/sources index 91c83fd..7a6a493 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (cbindgen-vendor.tar.xz) = 3c925c5523246b7dfbcb4ce563483d5b45315a06dc90f2cf07cddef0c263dd15b410afbbe4d86594de96a308e93be3b27ffec01f5f759a42ecba3cc983b1677f SHA512 (mochitest-python.tar.gz) = 7f357cb8bd93d64be5cb75819a8a813d2f8f217ff25f0df8c3190910744132405d45797b3900775a44b554f5c70cf2682809c9e7a686ca131fddcd81e98028d9 -SHA512 (firefox-85.0.source.tar.xz) = a88472e66baab32d98cb9d13d7dd3c41b47a697ce2a42209612d2342bd6c1c26cd80cdd8905a4cecc72895f155df09762735e8af24bc6156663b7a14e890be4e -SHA512 (firefox-langpacks-85.0-20210120.tar.xz) = ec4b720d74940849f90831de72c5b7bdc004075e4a9b3b966c218b87e4ff9c3c10117a193d947cd971db955f1f3be99d7af706f981b8c0195c16936b1a10881e +SHA512 (firefox-85.0.1.source.tar.xz) = ad2b72ec209ca14ec78ebcb4718553119f74895e951a5254f9a1e0fc9d7cad3087a7dd4f82368c2845e3018bb3677853241e9c1e575f03e9b7b565e65b860e22 +SHA512 (firefox-langpacks-85.0.1-20210208.tar.xz) = d8bf4924c37c9b3ac2f64cbc136f54d5f979deae2e3402bd8f76ffdd99f0671eb8bc9695fabb7199a5f021377db59bc11d5420c4ff49a8bf0d5c8af516ce6391