From db402b6ac7f00c1bd7e0b02041075ce92a21a051 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Mon, 27 Mar 2023 22:08:32 +0200 Subject: [PATCH] Related: #2176587 Resync to rhel-8.8.0 ... as of commit 2540e8d98fb2bfb0a180b23ad5cf815da231013d CommitDate: Tue Feb 14 12:12:33 2023 +0100 Update to 102.8.0 build2 --- .gitignore | 3 - ...fix-mozillaSignalTrampoline-to-work-.patch | 12 --- Bug-1526653---fix_user_vfp_armv7.patch | 35 -------- build-debuginfo-fix.patch | 24 ----- build-mozconfig-fix.patch | 12 --- build-nss-version.patch | 24 ----- build-ppc64le-inline.patch | 27 ------ expat-CVE-2022-25235.patch | 49 ----------- expat-CVE-2022-25236.patch | 40 --------- expat-CVE-2022-25315.patch | 24 ----- firefox-centos-default-prefs.js | 35 -------- firefox-symbolic.svg | 31 +------ firefox.spec | 3 - gen_cbindgen-vendor.sh | 32 +++++++ mochitest-python.tar.gz | 0 mozilla-bmo1504834-part2.patch | 88 ------------------- mozilla-bmo1504834-part4.patch | 30 ------- mozilla-bmo1554971.patch | 12 --- mozilla-bmo1602730.patch | 28 ------ mozilla-bmo1626236.patch | 86 ------------------ mozilla-s390-context.patch | 36 -------- sources | 6 +- 22 files changed, 36 insertions(+), 601 deletions(-) delete mode 100644 Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch delete mode 100644 Bug-1526653---fix_user_vfp_armv7.patch delete mode 100644 build-debuginfo-fix.patch delete mode 100644 build-mozconfig-fix.patch delete mode 100644 build-nss-version.patch delete mode 100644 build-ppc64le-inline.patch delete mode 100644 expat-CVE-2022-25235.patch delete mode 100644 expat-CVE-2022-25236.patch delete mode 100644 expat-CVE-2022-25315.patch delete mode 100644 firefox-centos-default-prefs.js create mode 100755 gen_cbindgen-vendor.sh create mode 100644 mochitest-python.tar.gz delete mode 100644 mozilla-bmo1504834-part2.patch delete mode 100644 mozilla-bmo1504834-part4.patch delete mode 100644 mozilla-bmo1554971.patch delete mode 100644 mozilla-bmo1602730.patch delete mode 100644 mozilla-bmo1626236.patch delete mode 100644 mozilla-s390-context.patch diff --git a/.gitignore b/.gitignore index 95b41a0..c627405 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,10 @@ SOURCES/cbindgen-vendor.tar.xz SOURCES/firefox-102.8.0esr.b2.processed-source.tar.xz SOURCES/firefox-langpacks-102.8.0esr-20230214.tar.xz -SOURCES/firefox-symbolic.svg -SOURCES/mochitest-python.tar.gz SOURCES/nspr-4.34.0-3.el8_1.src.rpm SOURCES/nss-3.79.0-6.el8_1.src.rpm /cbindgen-vendor.tar.xz /firefox-102.8.0esr.b2.processed-source.tar.xz /firefox-langpacks-102.8.0esr-20230214.tar.xz -/mochitest-python.tar.gz /nspr-4.34.0-3.el8_1.src.rpm /nss-3.79.0-6.el8_1.src.rpm diff --git a/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch b/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch deleted file mode 100644 index 6dfe2ad..0000000 --- a/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h ---- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 2018-04-27 08:55:38.848241768 +0200 -+++ firefox-60.0/mfbt/LinuxSignal.h 2018-04-27 09:06:47.946769859 +0200 -@@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo - void* aContext) { - asm volatile("nop; nop; nop; nop" : : : "memory"); - -- asm volatile("b %0" : : "X"(H) : "memory"); -+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory"); - } - - # define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline) diff --git a/Bug-1526653---fix_user_vfp_armv7.patch b/Bug-1526653---fix_user_vfp_armv7.patch deleted file mode 100644 index 3f84f95..0000000 --- a/Bug-1526653---fix_user_vfp_armv7.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001 -From: Mike Hommey -Date: Sat, 1 Jun 2019 09:06:01 +0900 -Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and - user_vfp_exc. - ---- - js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp -index 636537f8478..383c380f04c 100644 ---- a/js/src/wasm/WasmSignalHandlers.cpp -+++ b/js/src/wasm/WasmSignalHandlers.cpp -@@ -248,7 +248,16 @@ using mozilla::DebugOnly; - #endif - - #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS --# include -+struct user_vfp { -+ unsigned long long fpregs[32]; -+ unsigned long fpscr; -+}; -+ -+struct user_vfp_exc { -+ unsigned long fpexc; -+ unsigned long fpinst; -+ unsigned long fpinst2; -+}; - #endif - - #if defined(ANDROID) --- -2.20.1 - diff --git a/build-debuginfo-fix.patch b/build-debuginfo-fix.patch deleted file mode 100644 index 03fc300..0000000 --- a/build-debuginfo-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc.debuginfo-fix firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc ---- firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc.debuginfo-fix 2021-09-01 11:11:46.738285751 +0200 -+++ firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft.cc 2021-09-01 11:11:56.127319530 +0200 -@@ -21,7 +21,7 @@ - * be found in the AUTHORS file in the root of the source tree. - */ - --#include "modules/audio_processing//utility/ooura_fft.h" -+#include "modules/audio_processing/utility/ooura_fft.h" - - #include - -diff -up firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.debuginfo-fix firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc ---- firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.debuginfo-fix 2021-09-01 11:12:26.513428847 +0200 -+++ firefox-91.0.1/third_party/libwebrtc/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc 2021-09-01 11:12:32.117449009 +0200 -@@ -8,7 +8,7 @@ - * be found in the AUTHORS file in the root of the source tree. - */ - --#include "modules/audio_processing//utility/ooura_fft.h" -+#include "modules/audio_processing/utility/ooura_fft.h" - - #include - diff --git a/build-mozconfig-fix.patch b/build-mozconfig-fix.patch deleted file mode 100644 index 91dffb1..0000000 --- a/build-mozconfig-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py.mozconfig-fix mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py ---- mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py.mozconfig-fix 2018-03-13 17:22:19.018466884 +0100 -+++ mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py 2018-03-13 17:23:57.379559640 +0100 -@@ -446,7 +446,7 @@ class MozconfigLoader(object): - value = value[1:] - - # Lines with a quote not ending in a quote are multi-line. -- if has_quote and not value.endswith("'"): -+ if has_quote and not value.endswith(("'", ";")): - in_variable = name - current.append(value) - continue diff --git a/build-nss-version.patch b/build-nss-version.patch deleted file mode 100644 index 25d34f6..0000000 --- a/build-nss-version.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up firefox-91.0.1/build/moz.configure/nspr.configure.nss-nspr-downgrade firefox-91.0.1/build/moz.configure/nspr.configure ---- firefox-91.0.1/build/moz.configure/nspr.configure.nss-nspr-downgrade 2021-08-25 13:17:26.265307060 +0200 -+++ firefox-91.0.1/build/moz.configure/nspr.configure 2021-08-25 13:17:28.161313632 +0200 -@@ -50,7 +50,7 @@ set_define("JS_WITHOUT_NSPR", True, when - def nspr_minver(js_standalone): - if js_standalone: - return "nspr >= 4.10" -- return "nspr >= 4.32" -+ return "nspr >= 4.31" - - - nspr_pkg = pkg_check_modules("NSPR", nspr_minver, when="--with-system-nspr") -diff -up firefox-91.0.1/build/moz.configure/nss.configure.nss-nspr-downgrade firefox-91.0.1/build/moz.configure/nss.configure ---- firefox-91.0.1/build/moz.configure/nss.configure.nss-nspr-downgrade 2021-08-25 13:17:45.049372175 +0200 -+++ firefox-91.0.1/build/moz.configure/nss.configure 2021-08-25 13:17:37.763346918 +0200 -@@ -9,7 +9,7 @@ option("--with-system-nss", help="Use sy - imply_option("--with-system-nspr", True, when="--with-system-nss") - - nss_pkg = pkg_check_modules( -- "NSS", "nss >= 3.68", when="--with-system-nss", config=False -+ "NSS", "nss >= 3.67", when="--with-system-nss", config=False - ) - - set_config("MOZ_SYSTEM_NSS", True, when="--with-system-nss") diff --git a/build-ppc64le-inline.patch b/build-ppc64le-inline.patch deleted file mode 100644 index de0f6d9..0000000 --- a/build-ppc64le-inline.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.ppc64le-inline firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp ---- firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp.ppc64le-inline 2019-08-26 18:52:28.000000000 +0200 -+++ firefox-68.1.0/js/xpconnect/src/XPCWrappedNative.cpp 2019-08-29 08:49:57.695687874 +0200 -@@ -1092,7 +1092,11 @@ class MOZ_STACK_CLASS CallMethodHelper f - MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex, - MutableHandleValue srcp) const; - -+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN) -+ bool GatherAndConvertResults(); -+#else - MOZ_ALWAYS_INLINE bool GatherAndConvertResults(); -+#endif - - MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath(); - -@@ -1139,7 +1143,11 @@ class MOZ_STACK_CLASS CallMethodHelper f - - ~CallMethodHelper(); - -+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN) -+ bool Call(); -+#else - MOZ_ALWAYS_INLINE bool Call(); -+#endif - - // Trace implementation so we can put our CallMethodHelper in a Rooted. - void trace(JSTracer* aTrc); diff --git a/expat-CVE-2022-25235.patch b/expat-CVE-2022-25235.patch deleted file mode 100644 index 1e5c664..0000000 --- a/expat-CVE-2022-25235.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up firefox-91.7.0/parser/expat/lib/xmltok.c.expat-CVE-2022-25235 firefox-91.7.0/parser/expat/lib/xmltok.c ---- firefox-91.7.0/parser/expat/lib/xmltok.c.expat-CVE-2022-25235 2022-03-02 17:57:38.364361168 +0100 -+++ firefox-91.7.0/parser/expat/lib/xmltok.c 2022-03-02 17:58:22.235512399 +0100 -@@ -65,13 +65,6 @@ - + ((((byte)[2]) >> 5) & 1)] \ - & (1u << (((byte)[2]) & 0x1F))) - --#define UTF8_GET_NAMING(pages, p, n) \ -- ((n) == 2 \ -- ? UTF8_GET_NAMING2(pages, (const unsigned char *)(p)) \ -- : ((n) == 3 \ -- ? UTF8_GET_NAMING3(pages, (const unsigned char *)(p)) \ -- : 0)) -- - /* Detection of invalid UTF-8 sequences is based on Table 3.1B - of Unicode 3.2: http://www.unicode.org/unicode/reports/tr28/ - with the additional restriction of not allowing the Unicode -diff -up firefox-91.7.0/parser/expat/lib/xmltok_impl.c.expat-CVE-2022-25235 firefox-91.7.0/parser/expat/lib/xmltok_impl.c ---- firefox-91.7.0/parser/expat/lib/xmltok_impl.c.expat-CVE-2022-25235 2022-03-02 17:57:38.365361172 +0100 -+++ firefox-91.7.0/parser/expat/lib/xmltok_impl.c 2022-03-02 18:04:51.240853247 +0100 -@@ -34,7 +34,7 @@ - case BT_LEAD ## n: \ - if (end - ptr < n) \ - return XML_TOK_PARTIAL_CHAR; \ -- if (!IS_NAME_CHAR(enc, ptr, n)) { \ -+ if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NAME_CHAR(enc, ptr, n)) { \ - *nextTokPtr = ptr; \ - return XML_TOK_INVALID; \ - } \ -@@ -62,7 +62,7 @@ - case BT_LEAD ## n: \ - if (end - ptr < n) \ - return XML_TOK_PARTIAL_CHAR; \ -- if (!IS_NMSTRT_CHAR(enc, ptr, n)) { \ -+ if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NMSTRT_CHAR(enc, ptr, n)) { \ - *nextTokPtr = ptr; \ - return XML_TOK_INVALID; \ - } \ -@@ -1090,6 +1090,10 @@ PREFIX(prologTok)(const ENCODING *enc, c - case BT_LEAD ## n: \ - if (end - ptr < n) \ - return XML_TOK_PARTIAL_CHAR; \ -+ if (IS_INVALID_CHAR(enc, ptr, n)) { \ -+ *nextTokPtr = ptr; \ -+ return XML_TOK_INVALID; \ -+ } \ - if (IS_NMSTRT_CHAR(enc, ptr, n)) { \ - ptr += n; \ - tok = XML_TOK_NAME; \ diff --git a/expat-CVE-2022-25236.patch b/expat-CVE-2022-25236.patch deleted file mode 100644 index 2065dc9..0000000 --- a/expat-CVE-2022-25236.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up firefox-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25236 firefox-91.7.0/parser/expat/lib/xmlparse.c ---- firefox-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25236 2022-03-02 18:08:40.085642028 +0100 -+++ firefox-91.7.0/parser/expat/lib/xmlparse.c 2022-03-02 18:13:31.838667958 +0100 -@@ -700,8 +700,7 @@ XML_ParserCreate(const XML_Char *encodin - XML_Parser XMLCALL - XML_ParserCreateNS(const XML_Char *encodingName, XML_Char nsSep) - { -- XML_Char tmp[2]; -- *tmp = nsSep; -+ XML_Char tmp[2] = {nsSep, 0}; - return XML_ParserCreate_MM(encodingName, NULL, tmp); - } - #endif -@@ -1276,8 +1275,7 @@ XML_ExternalEntityParserCreate(XML_Parse - would be otherwise. - */ - if (ns) { -- XML_Char tmp[2]; -- *tmp = namespaceSeparator; -+ XML_Char tmp[2] = {parser->m_namespaceSeparator, 0}; - parser = parserCreate(encodingName, &parser->m_mem, tmp, newDtd); - } - else { -@@ -3667,6 +3665,16 @@ addBinding(XML_Parser parser, PREFIX *pr - if (!mustBeXML && isXMLNS - && (len > xmlnsLen || uri[len] != xmlnsNamespace[len])) - isXMLNS = XML_FALSE; -+ // NOTE: While Expat does not validate namespace URIs against RFC 3986, -+ // we have to at least make sure that the XML processor on top of -+ // Expat (that is splitting tag names by namespace separator into -+ // 2- or 3-tuples (uri-local or uri-local-prefix)) cannot be confused -+ // by an attacker putting additional namespace separator characters -+ // into namespace declarations. That would be ambiguous and not to -+ // be expected. -+ if (parser->m_ns && (uri[len] == parser->m_namespaceSeparator)) { -+ return XML_ERROR_SYNTAX; -+ } - } - isXML = isXML && len == xmlLen; - isXMLNS = isXMLNS && len == xmlnsLen; diff --git a/expat-CVE-2022-25315.patch b/expat-CVE-2022-25315.patch deleted file mode 100644 index 171980f..0000000 --- a/expat-CVE-2022-25315.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up firefox-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25315 firefox-91.7.0/parser/expat/lib/xmlparse.c ---- firefox-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25315 2022-03-02 18:17:50.966583254 +0100 -+++ firefox-91.7.0/parser/expat/lib/xmlparse.c 2022-03-02 18:19:27.636924735 +0100 -@@ -2479,6 +2479,7 @@ storeRawNames(XML_Parser parser) - while (tag) { - int bufSize; - int nameLen = sizeof(XML_Char) * (tag->name.strLen + 1); -+ size_t rawNameLen; - char *rawNameBuf = tag->buf + nameLen; - /* Stop if already stored. Since tagStack is a stack, we can stop - at the first entry that has already been copied; everything -@@ -2490,7 +2491,11 @@ storeRawNames(XML_Parser parser) - /* For re-use purposes we need to ensure that the - size of tag->buf is a multiple of sizeof(XML_Char). - */ -- bufSize = nameLen + ROUND_UP(tag->rawNameLength, sizeof(XML_Char)); -+ rawNameLen = ROUND_UP(tag->rawNameLength, sizeof(XML_Char)); -+ /* Detect and prevent integer overflow. */ -+ if (rawNameLen > (size_t)INT_MAX - nameLen) -+ return XML_FALSE; -+ bufSize = nameLen + (int)rawNameLen; - if (bufSize > tag->bufEnd - tag->buf) { - char *temp = (char *)REALLOC(tag->buf, bufSize); - if (temp == NULL) diff --git a/firefox-centos-default-prefs.js b/firefox-centos-default-prefs.js deleted file mode 100644 index ea10021..0000000 --- a/firefox-centos-default-prefs.js +++ /dev/null @@ -1,35 +0,0 @@ -pref("app.update.auto", false); -pref("app.update.enabled", false); -pref("app.update.autoInstallEnabled", false); -pref("general.smoothScroll", true); -pref("intl.locale.matchOS", true); -pref("toolkit.storage.synchronous", 0); -pref("toolkit.networkmanager.disable", false); -pref("offline.autoDetect", true); -pref("browser.backspace_action", 2); -pref("browser.display.use_system_colors", true); -pref("browser.download.folderList", 1); -pref("browser.link.open_external", 3); -pref("browser.shell.checkDefaultBrowser", false); -pref("network.manage-offline-status", true); -pref("extensions.shownSelectionUI", true); -pref("ui.SpellCheckerUnderlineStyle", 1); -pref("startup.homepage_override_url", "http://www.centos.org"); -pref("startup.homepage_welcome_url", "http://www.centos.org"); -pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html"); -pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"); -pref("media.gmp-gmpopenh264.provider.enabled",false); -pref("media.gmp-gmpopenh264.autoupdate",false); -pref("media.gmp-gmpopenh264.enabled",false); -pref("media.gmp-gmpopenh264.enabled",false); -pref("plugins.notifyMissingFlash", false); -/* See https://bugzilla.redhat.com/show_bug.cgi?id=1226489 */ -pref("browser.display.use_system_colors", false); -pref("layers.use-image-offscreen-surfaces", false); -/* Allow sending credetials to all https:// sites */ -pref("network.negotiate-auth.trusted-uris", "https://"); -pref("security.use_sqldb", false); -/* Use OS settings for UI language */ -pref("intl.locale.requested", ""); -/* See https://bugzilla.redhat.com/show_bug.cgi?id=1672424 */ -pref("storage.nfs_filesystem", true); diff --git a/firefox-symbolic.svg b/firefox-symbolic.svg index 7a2c73e..8ecd135 100644 --- a/firefox-symbolic.svg +++ b/firefox-symbolic.svg @@ -1,30 +1,3 @@ - - - - - - - - image/svg+xml - - Gnome Symbolic Icon Theme - - - - - - - Gnome Symbolic Icon Theme - - - - - - - - - - - - + + diff --git a/firefox.spec b/firefox.spec index 2471e32..cc1596b 100644 --- a/firefox.spec +++ b/firefox.spec @@ -1453,9 +1453,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog -* Mon Feb 20 2023 CentOS Sources - 102.8.0-2.el8.centos -- Apply debranding changes - * Tue Feb 14 2023 Eike Rathke - 102.8.0-2 - Update to 102.8.0 build2 diff --git a/gen_cbindgen-vendor.sh b/gen_cbindgen-vendor.sh new file mode 100755 index 0000000..c446a51 --- /dev/null +++ b/gen_cbindgen-vendor.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -x + +# Dummy Cargo.toml file with cbindgen dependency +cat > Cargo.toml <(u8Array); -+ for (int pxl = 0; pxl < size; ++pxl) { -+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB. -+ uint32_t rgba = array[pxl]; -+ array[pxl] = NativeEndian::swapToLittleEndian(rgba); -+ } -+} -+ - void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst, - bool aHasAlpha) { -+#if MOZ_BIG_ENDIAN -+ int outputSize = mFilter->numValues(); -+ -+ // Input size isn't handed in, so we have to calculate it quickly -+ int inputSize = 0; -+ for (int xx = 0; xx < outputSize; ++xx) { -+ // Get the filter that determines the current output pixel. -+ int filterOffset, filterLength; -+ mFilter->FilterForValue(xx, &filterOffset, &filterLength); -+ inputSize = std::max(inputSize, filterOffset + filterLength); -+ } -+ -+ ByteSwapArray((uint8_t*)aSrc, inputSize); -+#endif -+ - SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha); -+ -+#if MOZ_BIG_ENDIAN -+ ByteSwapArray((uint8_t*)aSrc, inputSize); -+ ByteSwapArray(aDst, outputSize); -+#endif - } - - void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst, -@@ -49,8 +78,26 @@ - int32_t filterLength; - auto filterValues = - mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength); -+ -+#if MOZ_BIG_ENDIAN -+ for (int filterY = 0; filterY < filterLength; filterY++) { -+ // Skia only knows LE, so we have to swizzle the input -+ ByteSwapArray(aSrc[filterY], aRowSize); -+ } -+#endif -+ - SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst, - aHasAlpha); -+ -+#if MOZ_BIG_ENDIAN -+ // After skia is finished, we swizzle back to BE, in case -+ // the input is used again somewhere else -+ for (int filterY = 0; filterY < filterLength; filterY++) { -+ ByteSwapArray(aSrc[filterY], aRowSize); -+ } -+ // The destination array as well -+ ByteSwapArray(aDst, aRowSize); -+#endif - } - - /* ConvolutionFilter::ComputeResizeFactor is derived from Skia's -diff -r 36563351309d gfx/skia/skia/include/core/SkPreConfig.h ---- a/gfx/skia/skia/include/core/SkPreConfig.h Mon Sep 09 17:59:28 2019 +0200 -+++ b/gfx/skia/skia/include/core/SkPreConfig.h Tue Sep 10 08:25:13 2019 +0200 -@@ -73,7 +73,7 @@ - defined(__ppc__) || defined(__hppa) || \ - defined(__PPC__) || defined(__PPC64__) || \ - defined(_MIPSEB) || defined(__ARMEB__) || \ -- defined(__s390__) || \ -+ defined(__s390__) || defined(__s390x__) || \ - (defined(__sh__) && defined(__BIG_ENDIAN__)) || \ - (defined(__ia64) && defined(__BIG_ENDIAN__)) - #define SK_CPU_BENDIAN diff --git a/mozilla-bmo1504834-part4.patch b/mozilla-bmo1504834-part4.patch deleted file mode 100644 index 9d2ffc4..0000000 --- a/mozilla-bmo1504834-part4.patch +++ /dev/null @@ -1,30 +0,0 @@ -# HG changeset patch -# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec -Problem description: Tab-titles that are too long to fit into a tab get faded out. - On big endian this is broken and instead of fading out, the - tab gets white and the font transparent, leading to an unreadable - tab-title -Solution: This is not a real solution, but a hack. The real solution would have been - to byte-swap the correct buffer, but I could not find it. - So the next best thing is to deactivate the fading-effect. Now all tab-titles - are readable, albeit not as pretty to look at as they could be. -Side-effects: I have not yet found an unwanted side-effect. - -diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp ---- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 -+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 -@@ -1861,6 +1861,14 @@ - SkCanvas::kPreserveLCDText_SaveLayerFlag | - (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); - -+#if MOZ_BIG_ENDIAN -+ // Pushing a layer where an aMask is defined produces wrong output. -+ // We _should_ endian swap the data, but I couldn't find a workable way to do so -+ // Therefore I deactivate those layers in the meantime. -+ // The result is: Tab-titles that are longer than the available space should be faded out. -+ // The fading doesn't work, so we deactivate the fading-effect here. -+ if (!aMask) -+#endif - mCanvas->saveLayer(saveRec); - - SetPermitSubpixelAA(aOpaque); diff --git a/mozilla-bmo1554971.patch b/mozilla-bmo1554971.patch deleted file mode 100644 index 9958150..0000000 --- a/mozilla-bmo1554971.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up firefox-91.0/toolkit/components/extensions/schemas/runtime.json.mozilla-bmo1554971 firefox-91.0/toolkit/components/extensions/schemas/runtime.json ---- firefox-91.0/toolkit/components/extensions/schemas/runtime.json.mozilla-bmo1554971 2021-07-29 17:20:08.523253193 +0200 -+++ firefox-91.0/toolkit/components/extensions/schemas/runtime.json 2021-07-29 17:21:23.517498581 +0200 -@@ -64,7 +64,7 @@ - { - "id": "PlatformArch", - "type": "string", -- "enum": ["aarch64", "arm", "ppc64", "s390x", "sparc64", "x86-32", "x86-64"], -+ "enum": ["aarch64", "arm", "ppc64", "ppc64le", "s390x", "sparc64", "x86-32", "x86-64"], - "allowedContexts": ["content", "devtools"], - "description": "The machine's processor architecture." - }, diff --git a/mozilla-bmo1602730.patch b/mozilla-bmo1602730.patch deleted file mode 100644 index c11f958..0000000 --- a/mozilla-bmo1602730.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -r 6ef20eee3f8f gfx/layers/basic/BasicCompositor.cpp ---- a/gfx/layers/basic/BasicCompositor.cpp Thu Oct 31 09:11:56 2019 +0100 -+++ b/gfx/layers/basic/BasicCompositor.cpp Wed Dec 11 16:16:09 2019 +0100 -@@ -693,9 +693,13 @@ - - RefPtr sourceMask; - Matrix maskTransform; -+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x) -+ // if the typed URL is too long for the textbox (automatic scrolling needed) -+#if MOZ_LITTLE_ENDIAN - if (aTransform.Is2D()) { - SetupMask(aEffectChain, dest, offset, sourceMask, maskTransform); - } -+#endif - - CompositionOp blendMode = CompositionOp::OP_OVER; - if (Effect* effect = -diff -r 6ef20eee3f8f gfx/layers/composite/CompositableHost.cpp ---- a/gfx/layers/composite/CompositableHost.cpp Thu Oct 31 09:11:56 2019 +0100 -+++ b/gfx/layers/composite/CompositableHost.cpp Wed Dec 11 16:16:09 2019 +0100 -@@ -91,6 +91,7 @@ - } - MOZ_ASSERT(source); - -+ // Alternatively: Comment out these lines where the alpha-mask is set - RefPtr effect = - new EffectMask(source, source->GetSize(), aTransform); - aEffects.mSecondaryEffects[EffectTypes::MASK] = effect; diff --git a/mozilla-bmo1626236.patch b/mozilla-bmo1626236.patch deleted file mode 100644 index 32e3742..0000000 --- a/mozilla-bmo1626236.patch +++ /dev/null @@ -1,86 +0,0 @@ -# HG changeset patch -# User msirringhaus@suse.de -# Date 1582805876 -3600 -# Thu Feb 27 13:17:56 2020 +0100 -# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158 -# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f -imported patch decoder_workaround.patch - -diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp ---- a/image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100 -+++ b/image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100 -@@ -422,6 +422,9 @@ - MOZ_ASSERT(mSwizzleFn); - uint8_t* data = reinterpret_cast(aColormap); - mSwizzleFn(data, data, aColors); -+#if MOZ_BIG_ENDIAN() -+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors); -+#endif - } - - LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator, -diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp ---- a/image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100 -+++ b/image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100 -@@ -263,6 +263,9 @@ - case JCS_YCbCr: - // By default, we will output directly to BGRA. If we need to apply - // special color transforms, this may change. -+#if MOZ_BIG_ENDIAN() -+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB; -+#else - switch (SurfaceFormat::OS_RGBX) { - case SurfaceFormat::B8G8R8X8: - mInfo.out_color_space = JCS_EXT_BGRX; -@@ -277,6 +280,7 @@ - mState = JPEG_ERROR; - return Transition::TerminateFailure(); - } -+#endif - break; - case JCS_CMYK: - case JCS_YCCK: -diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp ---- a/image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100 -+++ b/image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100 -@@ -361,7 +361,7 @@ - IResumable* aOnResume) { - MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!"); - -- return mLexer.Lex(aIterator, aOnResume, -+ LexerResult res = mLexer.Lex(aIterator, aOnResume, - [=](State aState, const char* aData, size_t aLength) { - switch (aState) { - case State::PNG_DATA: -@@ -371,6 +371,14 @@ - } - MOZ_CRASH("Unknown State"); - }); -+ -+#if MOZ_BIG_ENDIAN() -+ if(res.is() && res.as() == TerminalState::SUCCESS) { -+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)(mImageData), mImageDataLength / 4); -+ } -+#endif -+ -+ return res; - } - - LexerTransition nsPNGDecoder::ReadPNGData( -diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp ---- a/image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100 -+++ b/image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100 -@@ -237,7 +237,12 @@ - // WebP doesn't guarantee that the alpha generated matches the hint in the - // header, so we always need to claim the input is BGRA. If the output is - // BGRX, swizzling will mask off the alpha channel. -+#if MOZ_BIG_ENDIAN() -+ mBuffer.colorspace = MODE_ARGB; -+ SurfaceFormat inFormat = mFormat; -+#else - SurfaceFormat inFormat = SurfaceFormat::OS_RGBA; -+#endif - - SurfacePipeFlags pipeFlags = SurfacePipeFlags(); - if (mFormat == SurfaceFormat::OS_RGBA && - diff --git a/mozilla-s390-context.patch b/mozilla-s390-context.patch deleted file mode 100644 index 55bd7a8..0000000 --- a/mozilla-s390-context.patch +++ /dev/null @@ -1,36 +0,0 @@ -# HG changeset patch -# User msirringhaus@suse.de -# Date 1558452408 -7200 -# Tue May 21 17:26:48 2019 +0200 -# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4 -# Parent a3cc550d25e3a04d906f516928cbcbe50efd585e -[mq]: mozilla-s390-context.patch - -diff -r a3cc550d25e3 -r 602e92722e76 js/src/wasm/WasmSignalHandlers.cpp ---- a/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:22:06 2019 +0200 -+++ b/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:26:48 2019 +0200 -@@ -154,6 +154,10 @@ - # define R01_sig(p) ((p)->uc_mcontext.gp_regs[1]) - # define R32_sig(p) ((p)->uc_mcontext.gp_regs[32]) - # endif -+# if defined(__linux__) && defined(__s390x__) -+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x]) -+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr) -+# endif - #elif defined(__NetBSD__) - # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP]) - # define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP]) -@@ -385,8 +389,13 @@ - # define PC_sig(p) R32_sig(p) - # define SP_sig(p) R01_sig(p) - # define FP_sig(p) R01_sig(p) -+#elif defined(__s390x__) -+# define PC_sig(p) PSWa_sig(p) -+# define SP_sig(p) GR_sig(p, 15) -+# define FP_sig(p) GR_sig(p, 11) - #endif - -+ - static void SetContextPC(CONTEXT* context, uint8_t* pc) { - #ifdef PC_sig - *reinterpret_cast(&PC_sig(context)) = pc; diff --git a/sources b/sources index e22aafa..ee79645 100644 --- a/sources +++ b/sources @@ -1,7 +1,5 @@ SHA512 (cbindgen-vendor.tar.xz) = ba8967007c7545fcf62a392e745b19188d883428adb5e9abd102cc6ad5d50891e9d38a7a20ee7a91e99d6340e9490a6b8bcc4c7175f3bb3a698841b816966385 +SHA512 (nss-3.79.0-6.el8_1.src.rpm) = 5887d0f306045adf7c6f3389840fff2e2732e5a15ec5e22cf885e578105b54d9e753c237e7730c2d3f0990728b10123c653e8d18a8b8dd0174bfb5b443eab7ef +SHA512 (nspr-4.34.0-3.el8_1.src.rpm) = fe4715694c297cd8cefa577946358a90103bde73e78a3fdf13d202a3791736e8a48fbece09ee3d15f6d81ae051e26d96400b03bb6bf8630715746c5e1a643543 SHA512 (firefox-102.8.0esr.b2.processed-source.tar.xz) = 650f865130d75121ed9bec7679dc73cdb18d18bcf6919585c4188ba2448679c3ffb8ce9adc971f158f9e81d62187ba62dc8dea35d5ec83bc2d9ce28e53987bb4 SHA512 (firefox-langpacks-102.8.0esr-20230214.tar.xz) = 44867a3b67e7b4303c3198250b3dcaaa917d30af15d0cdbf8b69da47d26eaa592a85b28d1fbd43949a36f99a6df240516311c2614bd8dff10ce2f6c27a186902 -SHA512 (firefox-symbolic.svg) = ba6ea4354ed9848db06cb9c0d63052d8f851aaaa8c040359569712e549f43d4fb1f402cb178367abdc8af7f98b571be5705fde791d73a62025c1a69b269a35da -SHA512 (mochitest-python.tar.gz) = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e -SHA512 (nspr-4.34.0-3.el8_1.src.rpm) = fe4715694c297cd8cefa577946358a90103bde73e78a3fdf13d202a3791736e8a48fbece09ee3d15f6d81ae051e26d96400b03bb6bf8630715746c5e1a643543 -SHA512 (nss-3.79.0-6.el8_1.src.rpm) = 5887d0f306045adf7c6f3389840fff2e2732e5a15ec5e22cf885e578105b54d9e753c237e7730c2d3f0990728b10123c653e8d18a8b8dd0174bfb5b443eab7ef