Removing rhel6 stuff
This commit is contained in:
parent
cfd948c871
commit
3d33e32144
13
build-icu-make.patch
Normal file
13
build-icu-make.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -up firefox-68.8.0/intl/icu_sources_data.py.icu-makefile firefox-68.8.0/intl/icu_sources_data.py
|
||||||
|
--- firefox-68.8.0/intl/icu_sources_data.py.icu-makefile 2020-05-11 17:00:03.642605718 +0200
|
||||||
|
+++ firefox-68.8.0/intl/icu_sources_data.py 2020-05-11 17:00:37.774642749 +0200
|
||||||
|
@@ -246,8 +246,7 @@ def update_data_file(topsrcdir):
|
||||||
|
if not try_run(
|
||||||
|
'icu-make',
|
||||||
|
['make',
|
||||||
|
- '--jobs=%d' % multiprocessing.cpu_count(),
|
||||||
|
- '--output-sync'],
|
||||||
|
+ '--jobs=1'],
|
||||||
|
cwd=objdir):
|
||||||
|
return False
|
||||||
|
print('Copying ICU data file...')
|
12
build-mozconfig-fix.patch
Normal file
12
build-mozconfig-fix.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
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
|
12
build-nss-version.patch
Normal file
12
build-nss-version.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up firefox-68.3.0/old-configure.in.nss-version firefox-68.3.0/old-configure.in
|
||||||
|
--- firefox-68.3.0/old-configure.in.nss-version 2019-11-27 19:48:01.045677621 +0100
|
||||||
|
+++ firefox-68.3.0/old-configure.in 2019-11-27 19:59:52.856894047 +0100
|
||||||
|
@@ -1537,7 +1537,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
|
||||||
|
_USE_SYSTEM_NSS=1 )
|
||||||
|
|
||||||
|
if test -n "$_USE_SYSTEM_NSS"; then
|
||||||
|
- AM_PATH_NSS(3.44.4, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
||||||
|
+ AM_PATH_NSS(3.44.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
||||||
|
fi
|
||||||
|
|
||||||
|
NSS_CFLAGS="$NSS_CFLAGS -I${DIST}/include/nss"
|
27
build-ppc64le-inline.patch
Normal file
27
build-ppc64le-inline.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
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<T>.
|
||||||
|
void trace(JSTracer* aTrc);
|
50
firefox-debugedits-error.patch
Normal file
50
firefox-debugedits-error.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
diff -up firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-68.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
|
||||||
|
diff -up firefox-68.0/media/webrtc/trunk/Makefile.old firefox-68.0/media/webrtc/trunk/Makefile
|
||||||
|
diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc.old firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc
|
||||||
|
--- firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc.old 2019-06-12 08:17:02.673268442 +0200
|
||||||
|
+++ firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft.cc 2019-06-12 08:17:13.582328073 +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 <math.h>
|
||||||
|
|
||||||
|
diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.old firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
|
||||||
|
--- firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc.old 2019-06-12 08:17:36.671454285 +0200
|
||||||
|
+++ firefox-68.0/media/webrtc/trunk/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc 2019-06-12 08:17:46.989510679 +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 <emmintrin.h>
|
||||||
|
|
||||||
|
diff -up firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c.old firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c
|
||||||
|
--- firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c.old 2019-06-12 08:16:15.673011534 +0200
|
||||||
|
+++ firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_avx2.c 2019-06-12 08:16:22.602049410 +0200
|
||||||
|
@@ -17,7 +17,7 @@
|
||||||
|
#include "aom_dsp/blend.h"
|
||||||
|
#include "aom/aom_integer.h"
|
||||||
|
#include "aom_dsp/x86/synonyms.h"
|
||||||
|
-#include "aom_dsp/x86//masked_sad_intrin_ssse3.h"
|
||||||
|
+#include "aom_dsp/x86/masked_sad_intrin_ssse3.h"
|
||||||
|
|
||||||
|
static INLINE unsigned int masked_sad32xh_avx2(
|
||||||
|
const uint8_t *src_ptr, int src_stride, const uint8_t *a_ptr, int a_stride,
|
||||||
|
diff -up firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c.old firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c
|
||||||
|
--- firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c.old 2019-06-12 08:16:35.404119384 +0200
|
||||||
|
+++ firefox-68.0/third_party/aom/aom_dsp/x86/masked_sad_intrin_ssse3.c 2019-06-12 08:16:43.415163174 +0200
|
||||||
|
@@ -19,7 +19,7 @@
|
||||||
|
#include "aom/aom_integer.h"
|
||||||
|
#include "aom_dsp/x86/synonyms.h"
|
||||||
|
|
||||||
|
-#include "aom_dsp/x86//masked_sad_intrin_ssse3.h"
|
||||||
|
+#include "aom_dsp/x86/masked_sad_intrin_ssse3.h"
|
||||||
|
|
||||||
|
// For width a multiple of 16
|
||||||
|
static INLINE unsigned int masked_sad_ssse3(const uint8_t *src_ptr,
|
63
firefox-pipewire.patch
Normal file
63
firefox-pipewire.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
diff -up firefox-68.0/config/system-headers.mozbuild.firefox-pipewire firefox-68.0/config/system-headers.mozbuild
|
||||||
|
--- firefox-68.0/config/system-headers.mozbuild.firefox-pipewire 2019-07-01 22:30:26.000000000 +0200
|
||||||
|
+++ firefox-68.0/config/system-headers.mozbuild 2019-07-08 15:26:15.397161627 +0200
|
||||||
|
@@ -314,6 +314,7 @@ system_headers = [
|
||||||
|
'Gestalt.h',
|
||||||
|
'getopt.h',
|
||||||
|
'gio/gio.h',
|
||||||
|
+ 'gio/gunixfdlist.h',
|
||||||
|
'glibconfig.h',
|
||||||
|
'glib.h',
|
||||||
|
'glib-object.h',
|
||||||
|
@@ -607,6 +608,7 @@ system_headers = [
|
||||||
|
'Pgenerr.h',
|
||||||
|
'PGenErr.h',
|
||||||
|
'Ph.h',
|
||||||
|
+ 'pipewire/pipewire.h',
|
||||||
|
'pixman.h',
|
||||||
|
'pk11func.h',
|
||||||
|
'pk11pqg.h',
|
||||||
|
diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build.firefox-pipewire firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
|
||||||
|
--- firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build.firefox-pipewire 2019-07-01 22:30:33.000000000 +0200
|
||||||
|
+++ firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build 2019-07-08 15:26:15.397161627 +0200
|
||||||
|
@@ -194,6 +194,28 @@ if CONFIG["OS_TARGET"] == "Linux":
|
||||||
|
"/media/webrtc/trunk/webrtc/modules/desktop_capture/window_capturer_linux.cc"
|
||||||
|
]
|
||||||
|
|
||||||
|
+# PipeWire specific files
|
||||||
|
+if CONFIG["OS_TARGET"] == "Linux":
|
||||||
|
+
|
||||||
|
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = "1"
|
||||||
|
+
|
||||||
|
+ OS_LIBS += [
|
||||||
|
+ "rt",
|
||||||
|
+ "pipewire-0.2",
|
||||||
|
+ "glib-2.0",
|
||||||
|
+ "gio-2.0",
|
||||||
|
+ "gobject-2.0"
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+ CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||||
|
+
|
||||||
|
+ UNIFIED_SOURCES += [
|
||||||
|
+ "/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
|
||||||
|
+ "/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
|
||||||
|
+ "/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
if CONFIG["OS_TARGET"] == "NetBSD":
|
||||||
|
|
||||||
|
DEFINES["USE_X11"] = "1"
|
||||||
|
diff -up firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h.firefox-pipewire firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h
|
||||||
|
--- firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h.firefox-pipewire 2019-07-08 16:42:13.936254926 +0200
|
||||||
|
+++ firefox-68.0/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_options.h 2019-07-08 16:42:17.509264974 +0200
|
||||||
|
@@ -141,7 +141,7 @@ class DesktopCaptureOptions {
|
||||||
|
bool disable_effects_ = true;
|
||||||
|
bool detect_updated_region_ = false;
|
||||||
|
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||||
|
- bool allow_pipewire_ = false;
|
||||||
|
+ bool allow_pipewire_ = true;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
13
firefox-rhel6-hugepage.patch
Normal file
13
firefox-rhel6-hugepage.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -up firefox-68.1.0/xpcom/threads/nsThread.cpp.old firefox-68.1.0/xpcom/threads/nsThread.cpp
|
||||||
|
--- firefox-68.1.0/xpcom/threads/nsThread.cpp.old 2019-09-20 12:17:35.481661390 +0200
|
||||||
|
+++ firefox-68.1.0/xpcom/threads/nsThread.cpp 2019-09-20 12:19:14.269180516 +0200
|
||||||
|
@@ -556,7 +556,8 @@ void nsThread::InitCommon() {
|
||||||
|
// kernel report them as separate regions, even when they are adjacent to
|
||||||
|
// heap memory. This allows us to accurately track the actual memory
|
||||||
|
// consumption of our allocated stacks.
|
||||||
|
- madvise(mStackBase, stackSize, MADV_NOHUGEPAGE);
|
||||||
|
+ // not supported on RHEL6
|
||||||
|
+ // madvise(mStackBase, stackSize, MADV_NOHUGEPAGE);
|
||||||
|
|
||||||
|
pthread_attr_destroy(&attr);
|
||||||
|
#elif defined(XP_WIN)
|
13
firefox-rhel6-nss-tls1.3.patch
Normal file
13
firefox-rhel6-nss-tls1.3.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -up firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp.old firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp
|
||||||
|
--- firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp.old 2019-10-24 14:20:21.227037984 +0200
|
||||||
|
+++ firefox-68.2.0/security/manager/ssl/nsNSSComponent.cpp 2019-10-24 14:45:52.769506967 +0200
|
||||||
|
@@ -996,6 +996,9 @@ void nsNSSComponent::FillTLSVersionRange
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Enable TLS 1.3 as our NSS supports it.
|
||||||
|
+ supported.max = 0x304;
|
||||||
|
+
|
||||||
|
// Clip the defaults by what NSS actually supports to enable
|
||||||
|
// working with a system NSS with different ranges.
|
||||||
|
rangeOut.min = std::max(rangeOut.min, supported.min);
|
111
firefox.spec
111
firefox.spec
@ -25,26 +25,25 @@
|
|||||||
%if "%{?dist}" == ".el8_0"
|
%if "%{?dist}" == ".el8_0"
|
||||||
%global rhel_minor_version 0
|
%global rhel_minor_version 0
|
||||||
%endif
|
%endif
|
||||||
|
%if "%{?dist}" == ".el9"
|
||||||
|
%global rhel_minor_version 4
|
||||||
|
%endif
|
||||||
|
|
||||||
%global system_nss 1
|
%global system_nss 1
|
||||||
%global bundle_nss 0
|
%global bundle_nss 0
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%if 0%{?rhel_minor_version} < 2
|
%if 0%{?rhel_minor_version} < 2
|
||||||
%global bundle_nss 1
|
%global bundle_nss 1
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%global system_nss 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define use_bundled_ffi 0
|
%define use_bundled_ffi 0
|
||||||
|
|
||||||
%define use_bundled_python_2 1
|
%define use_bundled_python_2 1
|
||||||
%define use_bundled_python_3 1
|
%define use_bundled_python_3 1
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%define use_bundled_python_2 1
|
%define use_bundled_python_2 1
|
||||||
%define use_bundled_python_3 0
|
%define use_bundled_python_3 0
|
||||||
%endif
|
%endif
|
||||||
@ -66,30 +65,23 @@
|
|||||||
# Don't use system hunspell for now
|
# Don't use system hunspell for now
|
||||||
%global system_hunspell 0
|
%global system_hunspell 0
|
||||||
%global system_sqlite 0
|
%global system_sqlite 0
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%global use_llvmts 0
|
%global use_llvmts 0
|
||||||
%else
|
%else
|
||||||
%global use_llvmts 1
|
%global use_llvmts 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} > 6
|
|
||||||
%global system_ffi 1
|
%global system_ffi 1
|
||||||
%else
|
|
||||||
%global system_ffi 0
|
|
||||||
%endif
|
|
||||||
%if 0%{?rhel} < 8
|
%if 0%{?rhel} < 8
|
||||||
%global use_dts 1
|
%global use_dts 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global use_rustts 1
|
%global use_rustts 1
|
||||||
%global dts_version 8
|
%global dts_version 8
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%global dts_version 8
|
|
||||||
%endif
|
|
||||||
%global rust_version 1.41
|
%global rust_version 1.41
|
||||||
%global rust_toolset_version 1.41
|
%global rust_toolset_version 1.41
|
||||||
%global llvm_version 7.0
|
%global llvm_version 7.0
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%global llvm_version 6.0
|
%global llvm_version 6.0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -163,7 +155,7 @@
|
|||||||
%define use_bundled_nodejs 0
|
%define use_bundled_nodejs 0
|
||||||
%define use_bundled_yasm 0
|
%define use_bundled_yasm 0
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%if 0%{?rhel_minor_version} <= 2
|
%if 0%{?rhel_minor_version} <= 2
|
||||||
%define use_bundled_nodejs 1
|
%define use_bundled_nodejs 1
|
||||||
%endif
|
%endif
|
||||||
@ -174,17 +166,6 @@
|
|||||||
%define use_bundled_yasm 1
|
%define use_bundled_yasm 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%define use_bundled_nodejs 1
|
|
||||||
%define use_bundled_openssl 1
|
|
||||||
%define use_bundled_yasm 1
|
|
||||||
%define bundle_gtk3 1
|
|
||||||
# In-tree libffi is able to build on following platforms, we have to bundle it for the rest
|
|
||||||
%ifnarch x86_64 i686 aarch64
|
|
||||||
%define use_bundled_ffi 1
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# GTK3 bundling
|
# GTK3 bundling
|
||||||
%define avoid_bundled_rebuild 0
|
%define avoid_bundled_rebuild 0
|
||||||
|
|
||||||
@ -222,9 +203,6 @@ License: MPLv1.1 or GPLv2+ or LGPLv2+
|
|||||||
%if 0%{?rhel} == 7
|
%if 0%{?rhel} == 7
|
||||||
ExcludeArch: s390 ppc
|
ExcludeArch: s390 ppc
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
ExclusiveArch: i686 x86_64 ppc64 s390x
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Source0: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz
|
Source0: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
%if %{build_langpacks}
|
%if %{build_langpacks}
|
||||||
@ -315,15 +293,6 @@ Patch10000: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
|
|||||||
Patch10001: Bug-1526653---fix_user_vfp_armv7.patch
|
Patch10001: Bug-1526653---fix_user_vfp_armv7.patch
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# RHEL6 patches
|
|
||||||
Patch600: rhel6-dbusver.patch
|
|
||||||
Patch601: rhel6-kernel.patch
|
|
||||||
Patch602: rhel6-mach-fail.patch
|
|
||||||
Patch603: rhel6-zconst.patch
|
|
||||||
Patch604: rhel6-auxvh.patch
|
|
||||||
Patch605: rhel6-abiv2-mozbz1642174.patch
|
|
||||||
Patch607: rhel6-at-no-automount.patch
|
|
||||||
|
|
||||||
# Flatpak patches
|
# Flatpak patches
|
||||||
|
|
||||||
%if %{?system_nss}
|
%if %{?system_nss}
|
||||||
@ -385,7 +354,7 @@ BuildRequires: scl-utils
|
|||||||
BuildRequires: findutils
|
BuildRequires: findutils
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
BuildRequires: cargo
|
BuildRequires: cargo
|
||||||
BuildRequires: rust >= %{rust_version}
|
BuildRequires: rust >= %{rust_version}
|
||||||
BuildRequires: llvm >= %{llvm_version}
|
BuildRequires: llvm >= %{llvm_version}
|
||||||
@ -418,7 +387,7 @@ BuildRequires: yasm
|
|||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%if 0%{?rhel_minor_version} >= 3
|
%if 0%{?rhel_minor_version} >= 3
|
||||||
BuildRequires: pkgconfig(libpipewire-0.3)
|
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||||
%else
|
%else
|
||||||
@ -479,11 +448,7 @@ BuildRequires: zlib-devel
|
|||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
BuildRequires: psmisc
|
BuildRequires: psmisc
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
BuildRequires: perl
|
|
||||||
%else
|
|
||||||
BuildRequires: perl-interpreter
|
BuildRequires: perl-interpreter
|
||||||
%endif
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: xmlto
|
BuildRequires: xmlto
|
||||||
%endif
|
%endif
|
||||||
@ -620,9 +585,6 @@ echo "use_bundled_yasm %{?use_bundled_yasm}"
|
|||||||
%endif
|
%endif
|
||||||
%if 0%{?use_bundled_python_3}
|
%if 0%{?use_bundled_python_3}
|
||||||
%setup -q -T -c -n python3 -a 101
|
%setup -q -T -c -n python3 -a 101
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%patch1003 -p0 -b .missing-utimensat.patch
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
%setup -q -n %{tarballdir}
|
%setup -q -n %{tarballdir}
|
||||||
# Build patches, can't change backup suffix from default because during build
|
# Build patches, can't change backup suffix from default because during build
|
||||||
@ -646,7 +608,7 @@ echo "use_bundled_yasm %{?use_bundled_yasm}"
|
|||||||
sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
|
sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} == 8
|
%if 0%{?rhel} >= 8
|
||||||
%if 0%{?rhel_minor_version} >= 3
|
%if 0%{?rhel_minor_version} >= 3
|
||||||
%patch235 -p1 -b .pipewire-0-3
|
%patch235 -p1 -b .pipewire-0-3
|
||||||
%else
|
%else
|
||||||
@ -655,10 +617,6 @@ sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%patch232 -p1 -b .hugepage
|
|
||||||
%patch233 -p1 -b .rhel6-nss-tls1.3
|
|
||||||
%endif
|
|
||||||
%patch234 -p1 -b .rhbz-1821418
|
%patch234 -p1 -b .rhbz-1821418
|
||||||
|
|
||||||
%patch402 -p1 -b .1196777
|
%patch402 -p1 -b .1196777
|
||||||
@ -686,16 +644,6 @@ sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
|
|||||||
%patch1001 -p1 -b .ppc64le-inline
|
%patch1001 -p1 -b .ppc64le-inline
|
||||||
%patch1004 -p1 -b .icu-make
|
%patch1004 -p1 -b .icu-make
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%patch600 -p1 -b .rhel6-dbusver
|
|
||||||
%patch601 -p1 -b .rhel6-kernel
|
|
||||||
%patch602 -p1 -b .rhel6-mach-fail
|
|
||||||
%patch603 -p1 -b .rhel6-zconst
|
|
||||||
%patch604 -p1 -b .rhel6-auxvh
|
|
||||||
%patch605 -p1 -b .rhel6-abiv2-mozbz1642174
|
|
||||||
%patch607 -R -p1 -b .rhel6-at-no-automount
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# CentOS patches
|
# CentOS patches
|
||||||
%if 0%{?centos}
|
%if 0%{?centos}
|
||||||
%patch10000 -p1 -b .mozilla-1238661
|
%patch10000 -p1 -b .mozilla-1238661
|
||||||
@ -826,10 +774,6 @@ chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
|
|||||||
ulimit -a
|
ulimit -a
|
||||||
free
|
free
|
||||||
#set -e
|
#set -e
|
||||||
# Hack for missing shell when building in brew on RHEL6
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
export SHELL=/bin/sh
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if ! 0%{?avoid_bundled_rebuild}
|
%if ! 0%{?avoid_bundled_rebuild}
|
||||||
rm -rf %{_buildrootdir}/*
|
rm -rf %{_buildrootdir}/*
|
||||||
@ -846,9 +790,7 @@ function install_rpms_to_current_dir() {
|
|||||||
%ifarch i386 i686
|
%ifarch i386 i686
|
||||||
ARCH_STR="i?86"
|
ARCH_STR="i?86"
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel} > 6
|
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
||||||
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
|
||||||
%endif
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
|
for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
|
||||||
@ -887,9 +829,7 @@ function build_bundled_package() {
|
|||||||
%ifarch i386 i686
|
%ifarch i386 i686
|
||||||
ARCH_STR="i?86"
|
ARCH_STR="i?86"
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel} > 6
|
export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
||||||
export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
|
||||||
%endif
|
|
||||||
fi
|
fi
|
||||||
pushd $PACKAGE_DIR
|
pushd $PACKAGE_DIR
|
||||||
|
|
||||||
@ -968,19 +908,6 @@ function build_bundled_package() {
|
|||||||
%filter_from_requires /libnspr4.so.*/d
|
%filter_from_requires /libnspr4.so.*/d
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
%filter_from_requires /libnss3.so.*/d
|
|
||||||
%filter_from_requires /libsmime3.so.*/d
|
|
||||||
%filter_from_requires /libssl3.so.*/d
|
|
||||||
%filter_from_requires /libnssutil3.so.*/d
|
|
||||||
%filter_from_requires /libnspr4.so.*/d
|
|
||||||
%filter_from_provides /libnss3.so.*/d
|
|
||||||
%filter_from_provides /libsmime3.so.*/d
|
|
||||||
%filter_from_provides /libssl3.so.*/d
|
|
||||||
%filter_from_provides /libnssutil3.so.*/d
|
|
||||||
%filter_from_provides /libnspr4.so.*/d
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?bundle_gtk3}
|
%if 0%{?bundle_gtk3}
|
||||||
%if ! 0%{?avoid_bundled_rebuild}
|
%if ! 0%{?avoid_bundled_rebuild}
|
||||||
rpm -ivh %{SOURCE200}
|
rpm -ivh %{SOURCE200}
|
||||||
@ -1254,11 +1181,6 @@ env
|
|||||||
ls %{_buildrootdir}
|
ls %{_buildrootdir}
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
export POLICY_FILE="rhel6.config"
|
|
||||||
export POLICT_PATH="/etc/pki/nss-legacy"
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?use_llvmts}
|
%if 0%{?use_llvmts}
|
||||||
scl enable llvm-toolset-%{llvm_version} './mach build -v'
|
scl enable llvm-toolset-%{llvm_version} './mach build -v'
|
||||||
%else
|
%else
|
||||||
@ -1304,9 +1226,6 @@ rm -f objdir/dist/bin/pk12util
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%if 0%{?rhel} == 6
|
|
||||||
export SHELL=/bin/sh
|
|
||||||
%endif
|
|
||||||
|
|
||||||
function install_rpms_to_current_dir() {
|
function install_rpms_to_current_dir() {
|
||||||
PACKAGE_RPM=$(eval echo $1)
|
PACKAGE_RPM=$(eval echo $1)
|
||||||
@ -1318,9 +1237,7 @@ function install_rpms_to_current_dir() {
|
|||||||
%ifarch i386 i686
|
%ifarch i386 i686
|
||||||
ARCH_STR="i?86"
|
ARCH_STR="i?86"
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?rhel} > 6
|
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
||||||
PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
|
|
||||||
%endif
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
|
for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
|
||||||
|
12
mozilla-bmo1005535.patch
Normal file
12
mozilla-bmo1005535.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h.mozilla.bmo1005535 firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h
|
||||||
|
--- firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h.mozilla.bmo1005535 2020-06-25 16:16:34.459083304 +0200
|
||||||
|
+++ firefox-78.0/gfx/skia/skia/src/gpu/GrColor.h 2020-06-25 16:17:00.968174743 +0200
|
||||||
|
@@ -64,7 +64,7 @@ static inline GrColor GrColorPackRGBA(un
|
||||||
|
* Since premultiplied means that alpha >= color, we construct a color with
|
||||||
|
* each component==255 and alpha == 0 to be "illegal"
|
||||||
|
*/
|
||||||
|
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
|
||||||
|
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
|
||||||
|
|
||||||
|
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
|
||||||
|
static inline float GrNormalizeByteToFloat(uint8_t value) {
|
77
mozilla-bmo1504834-part1.patch
Normal file
77
mozilla-bmo1504834-part1.patch
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
diff -up firefox-78.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 firefox-78.0/gfx/2d/DrawTargetSkia.cpp
|
||||||
|
--- firefox-78.0/gfx/2d/DrawTargetSkia.cpp.mozilla-bmo1504834-part1 2020-06-17 04:18:58.000000000 +0200
|
||||||
|
+++ firefox-78.0/gfx/2d/DrawTargetSkia.cpp 2020-06-25 16:52:29.824532769 +0200
|
||||||
|
@@ -135,8 +135,7 @@ static IntRect CalculateSurfaceBounds(co
|
||||||
|
return surfaceBounds.Intersect(bounds);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static const int kARGBAlphaOffset =
|
||||||
|
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||||
|
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||||
|
|
||||||
|
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
|
||||||
|
const int32_t aStride, SurfaceFormat aFormat) {
|
||||||
|
diff -up firefox-78.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 firefox-78.0/gfx/2d/Types.h
|
||||||
|
--- firefox-78.0/gfx/2d/Types.h.mozilla-bmo1504834-part1 2020-06-25 16:52:29.826532776 +0200
|
||||||
|
+++ firefox-78.0/gfx/2d/Types.h 2020-06-25 16:55:02.942063616 +0200
|
||||||
|
@@ -90,15 +90,8 @@ enum class SurfaceFormat : int8_t {
|
||||||
|
// The following values are endian-independent synonyms. The _UINT32 suffix
|
||||||
|
// indicates that the name reflects the layout when viewed as a uint32_t
|
||||||
|
// value.
|
||||||
|
-#if MOZ_LITTLE_ENDIAN()
|
||||||
|
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
|
||||||
|
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
|
||||||
|
-#elif MOZ_BIG_ENDIAN()
|
||||||
|
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
|
||||||
|
- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
|
||||||
|
-#else
|
||||||
|
-# error "bad endianness"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
// The following values are OS and endian-independent synonyms.
|
||||||
|
//
|
||||||
|
diff -up firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc.mozilla-bmo1504834-part1 firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc
|
||||||
|
--- firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc.mozilla-bmo1504834-part1 2020-06-17 04:18:58.000000000 +0200
|
||||||
|
+++ firefox-78.0/gfx/skia/skia/third_party/skcms/skcms.cc 2020-06-25 16:54:02.993855444 +0200
|
||||||
|
@@ -30,6 +30,8 @@
|
||||||
|
#include <avx512fintrin.h>
|
||||||
|
#include <avx512dqintrin.h>
|
||||||
|
#endif
|
||||||
|
+#else
|
||||||
|
+ #define SKCMS_PORTABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
|
||||||
|
@@ -280,20 +282,28 @@ enum {
|
||||||
|
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||||
|
uint16_t be;
|
||||||
|
memcpy(&be, ptr, sizeof(be));
|
||||||
|
-#if defined(_MSC_VER)
|
||||||
|
- return _byteswap_ushort(be);
|
||||||
|
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||||
|
+ return be;
|
||||||
|
#else
|
||||||
|
+ #if defined(_MSC_VER)
|
||||||
|
+ return _byteswap_ushort(be);
|
||||||
|
+ #else
|
||||||
|
return __builtin_bswap16(be);
|
||||||
|
+ #endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint32_t read_big_u32(const uint8_t* ptr) {
|
||||||
|
uint32_t be;
|
||||||
|
memcpy(&be, ptr, sizeof(be));
|
||||||
|
-#if defined(_MSC_VER)
|
||||||
|
- return _byteswap_ulong(be);
|
||||||
|
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
|
||||||
|
+ return be;
|
||||||
|
#else
|
||||||
|
+ #if defined(_MSC_VER)
|
||||||
|
+ return _byteswap_ulong(be);
|
||||||
|
+ #else
|
||||||
|
return __builtin_bswap32(be);
|
||||||
|
+ #endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
88
mozilla-bmo1504834-part2.patch
Normal file
88
mozilla-bmo1504834-part2.patch
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent 36563351309ddbc6c29559ba50a41d005f925abb
|
||||||
|
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
|
||||||
|
has no interest in maintaining big endian.
|
||||||
|
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
|
||||||
|
out again, we transform back to BE.
|
||||||
|
|
||||||
|
diff -r 36563351309d gfx/2d/ConvolutionFilter.cpp
|
||||||
|
--- a/gfx/2d/ConvolutionFilter.cpp Mon Sep 09 17:59:28 2019 +0200
|
||||||
|
+++ b/gfx/2d/ConvolutionFilter.cpp Tue Sep 10 08:25:13 2019 +0200
|
||||||
|
@@ -35,9 +35,38 @@
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
||||||
|
+ uint32_t *array = reinterpret_cast<uint32_t*>(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
|
44
mozilla-bmo1504834-part3.patch
Normal file
44
mozilla-bmo1504834-part3.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
|
||||||
|
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
|
||||||
|
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
|
||||||
|
|
||||||
|
diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
|
||||||
|
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
|
||||||
|
+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200
|
||||||
|
@@ -238,7 +238,18 @@
|
||||||
|
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
|
||||||
|
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
|
||||||
|
|
||||||
|
+ // On Big endian the commented out variant doesn't work,
|
||||||
|
+ // and honestly, I have no idea why it exists in the first place.
|
||||||
|
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
|
||||||
|
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
|
||||||
|
+ // cutting off the wrong half again.
|
||||||
|
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
|
||||||
|
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
|
||||||
|
+#ifdef SK_CPU_BENDIAN
|
||||||
|
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
|
||||||
|
+#else
|
||||||
|
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
|
||||||
|
+#endif
|
||||||
|
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
|
||||||
|
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
|
||||||
|
|
||||||
|
diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||||
|
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
|
||||||
|
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200
|
||||||
|
@@ -203,7 +203,13 @@
|
||||||
|
// ~~~>
|
||||||
|
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
|
||||||
|
// c = 0*aa + d(1-1*aa) = d(1-aa)
|
||||||
|
+
|
||||||
|
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
|
||||||
|
+#ifdef SK_CPU_BENDIAN
|
||||||
|
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
|
||||||
|
+#else
|
||||||
|
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
|
||||||
|
+#endif
|
||||||
|
+ d.approxMulDiv255(aa.inv());
|
||||||
|
};
|
||||||
|
while (h --> 0) {
|
30
mozilla-bmo1504834-part4.patch
Normal file
30
mozilla-bmo1504834-part4.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# 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);
|
22
mozilla-bmo1554971.patch
Normal file
22
mozilla-bmo1554971.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent a25cebecb02d5460b8ad757fe9cb4a9c8d1d7658
|
||||||
|
Eliminate startup error message:
|
||||||
|
JavaScript error: , line 0: Error: Type error for platformInfo value (Error processing arch: Invalid enumeration value "s390x") for runtime.getPlatformInfo.
|
||||||
|
|
||||||
|
Reported here: https://bugzilla.mozilla.org/show_bug.cgi?id=1554971
|
||||||
|
|
||||||
|
Uncertain if this is causing real problems or not. Also uncertain if the fix actually fixes anything.
|
||||||
|
No response from upstream yet.
|
||||||
|
|
||||||
|
diff -r a25cebecb02d -r 378b81b00e73 toolkit/components/extensions/schemas/runtime.json
|
||||||
|
--- a/toolkit/components/extensions/schemas/runtime.json Fri Jul 05 12:42:44 2019 +0200
|
||||||
|
+++ b/toolkit/components/extensions/schemas/runtime.json Fri Jul 19 13:19:30 2019 +0200
|
||||||
|
@@ -64,7 +64,7 @@
|
||||||
|
{
|
||||||
|
"id": "PlatformArch",
|
||||||
|
"type": "string",
|
||||||
|
- "enum": ["arm", "x86-32", "x86-64"],
|
||||||
|
+ "enum": ["arm", "x86-32", "x86-64", "s390x", "aarch64", "ppc64le"],
|
||||||
|
"allowedContexts": ["content", "devtools"],
|
||||||
|
"description": "The machine's processor architecture."
|
||||||
|
},
|
28
mozilla-bmo1602730.patch
Normal file
28
mozilla-bmo1602730.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
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<SourceSurface> 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<EffectMask> effect =
|
||||||
|
new EffectMask(source, source->GetSize(), aTransform);
|
||||||
|
aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
|
86
mozilla-bmo1626236.patch
Normal file
86
mozilla-bmo1626236.patch
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
# 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<uint8_t*>(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<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
|
||||||
|
+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
LexerTransition<nsPNGDecoder::State> 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 &&
|
||||||
|
|
23
mozilla-bmo849632.patch
Normal file
23
mozilla-bmo849632.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
|
||||||
|
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
|
||||||
|
knows how to deal with little endian.
|
||||||
|
So we swizzle the output of webgl after reading it from readpixels()
|
||||||
|
Note: This does not fix all webGL sites, but is a step in the right direction
|
||||||
|
diff -r 6b017d3e9733 gfx/gl/GLContext.h
|
||||||
|
--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200
|
||||||
|
+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100
|
||||||
|
@@ -1551,6 +1551,13 @@
|
||||||
|
BEFORE_GL_CALL;
|
||||||
|
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
|
||||||
|
OnSyncCall();
|
||||||
|
+#if MOZ_BIG_ENDIAN
|
||||||
|
+ uint8_t* itr = (uint8_t*)pixels;
|
||||||
|
+ for (GLsizei i = 0; i < width * height; i++) {
|
||||||
|
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
|
||||||
|
+ itr += 4;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
AFTER_GL_CALL;
|
||||||
|
mHeavyGLCallsSinceLastFlush = true;
|
||||||
|
}
|
||||||
|
|
30
mozilla-bmo998749.patch
Normal file
30
mozilla-bmo998749.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User msirringhaus@suse.de
|
||||||
|
# Date 1583738770 -3600
|
||||||
|
# Mon Mar 09 08:26:10 2020 +0100
|
||||||
|
# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
|
||||||
|
# Parent 506857dace0a08d1c9685e3ac264646590b3e27f
|
||||||
|
[mq]: mozilla-bmo998749.patch
|
||||||
|
|
||||||
|
diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
|
||||||
|
--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
|
||||||
|
+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
|
||||||
|
@@ -13,10 +13,17 @@
|
||||||
|
namespace mozilla {
|
||||||
|
namespace gfx {
|
||||||
|
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
|
||||||
|
+#else
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
class FilterProcessing {
|
||||||
|
public:
|
||||||
|
|
36
mozilla-s390-context.patch
Normal file
36
mozilla-s390-context.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# 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<uint8_t**>(&PC_sig(context)) = pc;
|
52
mozilla-s390x-skia-gradient.patch
Normal file
52
mozilla-s390x-skia-gradient.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent acf59ea86dd1d878b43920832093f082dcfc61c0
|
||||||
|
|
||||||
|
diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
|
||||||
|
--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Mon Mar 09 08:26:10 2020 +0100
|
||||||
|
+++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Fri Mar 27 13:30:28 2020 +0100
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
|
||||||
|
#include "include/core/SkPaint.h"
|
||||||
|
#include "src/shaders/gradients/Sk4fLinearGradient.h"
|
||||||
|
-
|
||||||
|
+#include "src/core/SkEndian.h"
|
||||||
|
#include <cmath>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
@@ -28,6 +28,9 @@
|
||||||
|
|
||||||
|
while (n >= 4) {
|
||||||
|
DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
|
||||||
|
+#ifdef SK_CPU_BENDIAN
|
||||||
|
+ SkEndianSwap32s(dst, 4);
|
||||||
|
+#endif
|
||||||
|
dst += 4;
|
||||||
|
|
||||||
|
c0 = c0 + dc4;
|
||||||
|
@@ -37,12 +40,23 @@
|
||||||
|
n -= 4;
|
||||||
|
}
|
||||||
|
if (n & 2) {
|
||||||
|
- DstTraits<premul>::store(c0, dst++, bias0);
|
||||||
|
- DstTraits<premul>::store(c1, dst++, bias1);
|
||||||
|
+ DstTraits<premul>::store(c0, dst, bias0);
|
||||||
|
+#ifdef SK_CPU_BENDIAN
|
||||||
|
+ *dst = SkEndianSwap32(*dst);
|
||||||
|
+#endif
|
||||||
|
+ ++dst;
|
||||||
|
+ DstTraits<premul>::store(c1, dst, bias1);
|
||||||
|
+#ifdef SK_CPU_BENDIAN
|
||||||
|
+ *dst = SkEndianSwap32(*dst);
|
||||||
|
+#endif
|
||||||
|
+ ++dst;
|
||||||
|
c0 = c0 + dc2;
|
||||||
|
}
|
||||||
|
if (n & 1) {
|
||||||
|
DstTraits<premul>::store(c0, dst, bias0);
|
||||||
|
+#ifdef SK_CPU_BENDIAN
|
||||||
|
+ *dst = SkEndianSwap32(*dst);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
57
python-2.7-gcc8-fix.patch
Normal file
57
python-2.7-gcc8-fix.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
commit 0b91f8a668201fc58fa732b8acc496caedfdbae0
|
||||||
|
Author: Florian Weimer <fw@deneb.enyo.de>
|
||||||
|
Date: Sun Apr 29 12:18:33 2018 -0700
|
||||||
|
|
||||||
|
Indicate that _PyGC_Head is only 8-byte aligned. (closes bpo-33374)
|
||||||
|
|
||||||
|
By spec, the "long double" in _PyGC_Head requires the union to always be 16-byte
|
||||||
|
aligned. However, obmalloc only yields 8-byte alignment. Compilers including GCC
|
||||||
|
8 are starting to use alignment information to do store-merging. So, the "long
|
||||||
|
double" needs to be changed to a simple "double" as was long ago done in Python
|
||||||
|
3 by e348c8d154cf6342c79d627ebfe89dfe9de23817. For 2.7, we need to add some
|
||||||
|
dummy padding to make sure _PyGC_Head stays the same size.
|
||||||
|
|
||||||
|
diff --git a/Include/objimpl.h b/Include/objimpl.h
|
||||||
|
index 5f28683329..cbf6bc3f87 100644
|
||||||
|
--- Python-2.7.13/Include/objimpl.h
|
||||||
|
+++ Python-2.7.13/Include/objimpl.h
|
||||||
|
@@ -248,6 +248,20 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t);
|
||||||
|
/* for source compatibility with 2.2 */
|
||||||
|
#define _PyObject_GC_Del PyObject_GC_Del
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * Former over-aligned definition of PyGC_Head, used to compute the size of the
|
||||||
|
+ * padding for the new version below.
|
||||||
|
+ */
|
||||||
|
+union _gc_head;
|
||||||
|
+union _gc_head_old {
|
||||||
|
+ struct {
|
||||||
|
+ union _gc_head_old *gc_next;
|
||||||
|
+ union _gc_head_old *gc_prev;
|
||||||
|
+ Py_ssize_t gc_refs;
|
||||||
|
+ } gc;
|
||||||
|
+ long double dummy;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/* GC information is stored BEFORE the object structure. */
|
||||||
|
typedef union _gc_head {
|
||||||
|
struct {
|
||||||
|
@@ -255,7 +269,8 @@ typedef union _gc_head {
|
||||||
|
union _gc_head *gc_prev;
|
||||||
|
Py_ssize_t gc_refs;
|
||||||
|
} gc;
|
||||||
|
- long double dummy; /* force worst-case alignment */
|
||||||
|
+ double dummy; /* Force at least 8-byte alignment. */
|
||||||
|
+ char dummy_padding[sizeof(union _gc_head_old)];
|
||||||
|
} PyGC_Head;
|
||||||
|
|
||||||
|
extern PyGC_Head *_PyGC_generation0;
|
||||||
|
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..9ec1a605c8
|
||||||
|
--- /dev/null
|
||||||
|
+++ Python-2.7.13/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+Tweak the definition of PyGC_Head, so compilers do not believe it is always
|
||||||
|
+16-byte aligned on x86. This prevents crashes with more aggressive
|
||||||
|
+optimizations present in GCC 8.
|
17
python-2.7.patch
Normal file
17
python-2.7.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
diff -up Python-2.7.13/configure.build Python-2.7.13/configure
|
||||||
|
--- Python-2.7.13/configure.build 2019-06-04 13:32:12.772134075 +0200
|
||||||
|
+++ Python-2.7.13/configure 2019-06-04 13:32:26.140144601 +0200
|
||||||
|
@@ -6018,11 +6018,11 @@ then
|
||||||
|
# debug builds.
|
||||||
|
OPT="-g -O0 -Wall $STRICT_PROTO"
|
||||||
|
else
|
||||||
|
- OPT="-g $WRAP -O3 -Wall $STRICT_PROTO"
|
||||||
|
+ OPT="-g $WRAP -O2 -Wall $STRICT_PROTO"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
- OPT="-O3 -Wall $STRICT_PROTO"
|
||||||
|
+ OPT="-O2 -Wall $STRICT_PROTO"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case $ac_sys_system in
|
12
python-encode.patch
Normal file
12
python-encode.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up firefox-68.0/python/mozbuild/mozbuild/controller/building.py.old firefox-68.0/python/mozbuild/mozbuild/controller/building.py
|
||||||
|
--- firefox-68.0/python/mozbuild/mozbuild/controller/building.py.old 2019-05-29 10:46:55.403262995 +0200
|
||||||
|
+++ firefox-68.0/python/mozbuild/mozbuild/controller/building.py 2019-05-29 10:47:42.691176970 +0200
|
||||||
|
@@ -571,7 +571,7 @@ class TerminalLoggingHandler(logging.Han
|
||||||
|
if self.footer:
|
||||||
|
self.footer.clear()
|
||||||
|
|
||||||
|
- self.fh.write(msg)
|
||||||
|
+ self.fh.write(msg.encode("utf-8"))
|
||||||
|
self.fh.write('\n')
|
||||||
|
|
||||||
|
if self.footer:
|
12
python-missing-utimensat.patch
Normal file
12
python-missing-utimensat.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up python3/Python-3.6.8/configure.old python3/Python-3.6.8/configure
|
||||||
|
--- Python-3.6.8/configure.old 2019-10-01 12:56:35.074551835 +0200
|
||||||
|
+++ Python-3.6.8/configure 2019-10-01 12:56:44.240517798 +0200
|
||||||
|
@@ -11438,7 +11438,7 @@ for ac_func in alarm accept4 setitimer g
|
||||||
|
sigaction sigaltstack siginterrupt sigpending sigrelse \
|
||||||
|
sigtimedwait sigwait sigwaitinfo snprintf strftime strlcpy symlinkat sync \
|
||||||
|
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
|
||||||
|
- truncate uname unlinkat unsetenv utimensat utimes waitid waitpid wait3 wait4 \
|
||||||
|
+ truncate uname unlinkat unsetenv utimes waitid waitpid wait3 wait4 \
|
||||||
|
wcscoll wcsftime wcsxfrm wmemcmp writev _getpty
|
||||||
|
do :
|
||||||
|
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
36
rhbz-1821418.patch
Normal file
36
rhbz-1821418.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
diff -up firefox-78.0/xpcom/base/AvailableMemoryTracker.cpp.rhbz-1821418 firefox-78.0/xpcom/base/AvailableMemoryTracker.cpp
|
||||||
|
--- firefox-78.0/xpcom/base/AvailableMemoryTracker.cpp.rhbz-1821418 2020-06-17 04:20:44.000000000 +0200
|
||||||
|
+++ firefox-78.0/xpcom/base/AvailableMemoryTracker.cpp 2020-06-25 14:50:46.369798294 +0200
|
||||||
|
@@ -157,8 +157,12 @@ bool nsAvailableMemoryWatcher::IsVirtual
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
bool nsAvailableMemoryWatcher::IsCommitSpaceLow(const MEMORYSTATUSEX& aStat) {
|
||||||
|
- if ((kLowCommitSpaceThreshold != 0) &&
|
||||||
|
- (aStat.ullAvailPageFile < kLowCommitSpaceThreshold)) {
|
||||||
|
+ const char* threshold = getenv("MOZ_GC_THRESHOLD");
|
||||||
|
+ if (threshold) {
|
||||||
|
+ kLowCommitSpaceThreshold = atoi(threshold);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if ((kLowCommitSpaceThreshold == 0) || (aStat.ullAvailPageFile < kLowCommitSpaceThreshold)) {
|
||||||
|
sNumLowCommitSpaceEvents++;
|
||||||
|
CrashReporter::AnnotateCrashReport(
|
||||||
|
CrashReporter::Annotation::LowCommitSpaceEvents,
|
||||||
|
@@ -210,12 +214,15 @@ void nsAvailableMemoryWatcher::AdjustPol
|
||||||
|
// polling interval accordingly.
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsAvailableMemoryWatcher::Notify(nsITimer* aTimer) {
|
||||||
|
+ const char* threshold = getenv("MOZ_GC_THRESHOLD");
|
||||||
|
+ bool forceLowMem = (threshold && atoi(threshold) == 0);
|
||||||
|
+
|
||||||
|
MEMORYSTATUSEX stat;
|
||||||
|
stat.dwLength = sizeof(stat);
|
||||||
|
bool success = GlobalMemoryStatusEx(&stat);
|
||||||
|
|
||||||
|
- if (success) {
|
||||||
|
- bool lowMemory = IsVirtualMemoryLow(stat) || IsCommitSpaceLow(stat);
|
||||||
|
+ if (success || forceLowMemory) {
|
||||||
|
+ bool lowMemory = IsVirtualMemoryLow(stat) || IsCommitSpaceLow(stat || forceLowMem);
|
||||||
|
|
||||||
|
if (lowMemory) {
|
||||||
|
SendMemoryPressureEvent();
|
29
rhel6-abiv2-mozbz1642174.patch
Normal file
29
rhel6-abiv2-mozbz1642174.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
diff -up firefox-78.2.0/security/nss/lib/freebl/freebl.gyp.rhel6-abiv2-mozbz1642174 firefox-78.2.0/security/nss/lib/freebl/freebl.gyp
|
||||||
|
--- firefox-78.2.0/security/nss/lib/freebl/freebl.gyp.rhel6-abiv2-mozbz1642174 2020-09-12 08:29:08.527410514 +0200
|
||||||
|
+++ firefox-78.2.0/security/nss/lib/freebl/freebl.gyp 2020-09-12 08:42:26.279064334 +0200
|
||||||
|
@@ -259,7 +259,7 @@
|
||||||
|
'type': 'static_library',
|
||||||
|
'sources': [
|
||||||
|
'gcm-ppc.c',
|
||||||
|
- 'sha512-p8.s',
|
||||||
|
+ #'sha512-p8.s',
|
||||||
|
],
|
||||||
|
'dependencies': [
|
||||||
|
'<(DEPTH)/exports.gyp:nss_exports'
|
||||||
|
diff -up firefox-78.2.0/security/nss/lib/freebl/Makefile.rhel6-abiv2-mozbz1642174 firefox-78.2.0/security/nss/lib/freebl/Makefile
|
||||||
|
--- firefox-78.2.0/security/nss/lib/freebl/Makefile.rhel6-abiv2-mozbz1642174 2020-08-17 20:34:06.000000000 +0200
|
||||||
|
+++ firefox-78.2.0/security/nss/lib/freebl/Makefile 2020-09-12 08:28:08.089142990 +0200
|
||||||
|
@@ -267,9 +267,12 @@ ifeq ($(CPU_ARCH),arm)
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_ARCH),ppc)
|
||||||
|
EXTRA_SRCS += gcm-ppc.c
|
||||||
|
- ASFILES += sha512-p8.s
|
||||||
|
ifdef USE_64
|
||||||
|
DEFINES += -DNSS_NO_INIT_SUPPORT
|
||||||
|
+ #PPC_ABI := $(shell $(CC) -dM -E - < /dev/null | awk '$$2 == "_CALL_ELF" {print $$3}')
|
||||||
|
+ # ifeq ($(PPC_ABI),2)
|
||||||
|
+ # ASFILES += sha512-p8.s
|
||||||
|
+ # endif
|
||||||
|
endif # USE_64
|
||||||
|
endif # ppc
|
||||||
|
endif # Linux
|
27
rhel6-at-no-automount.patch
Normal file
27
rhel6-at-no-automount.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
diff -ru firefox-78.3.0/security/sandbox/linux/SandboxFilter.cpp firefox-78.4.0/security/sandbox/linux/SandboxFilter.cpp
|
||||||
|
--- firefox-78.3.0/security/sandbox/linux/SandboxFilter.cpp 2020-09-14 21:21:02.000000000 +0200
|
||||||
|
+++ firefox-78.4.0/security/sandbox/linux/SandboxFilter.cpp 2020-10-14 11:34:48.000000000 +0200
|
||||||
|
@@ -243,14 +243,21 @@
|
||||||
|
auto path = reinterpret_cast<const char*>(aArgs.args[1]);
|
||||||
|
auto buf = reinterpret_cast<statstruct*>(aArgs.args[2]);
|
||||||
|
auto flags = static_cast<int>(aArgs.args[3]);
|
||||||
|
+
|
||||||
|
+ if (fd != AT_FDCWD && (flags & AT_EMPTY_PATH) != 0 &&
|
||||||
|
+ strcmp(path, "") == 0) {
|
||||||
|
+ return ConvertError(fstatsyscall(fd, buf));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (fd != AT_FDCWD && path[0] != '/') {
|
||||||
|
SANDBOX_LOG_ERROR("unsupported fd-relative fstatat(%d, \"%s\", %p, %d)",
|
||||||
|
fd, path, buf, flags);
|
||||||
|
return BlockedSyscallTrap(aArgs, nullptr);
|
||||||
|
}
|
||||||
|
- if ((flags & ~AT_SYMLINK_NOFOLLOW) != 0) {
|
||||||
|
+ if ((flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT)) != 0) {
|
||||||
|
SANDBOX_LOG_ERROR("unsupported flags %d in fstatat(%d, \"%s\", %p, %d)",
|
||||||
|
- (flags & ~AT_SYMLINK_NOFOLLOW), fd, path, buf, flags);
|
||||||
|
+ (flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT)), fd,
|
||||||
|
+ path, buf, flags);
|
||||||
|
return BlockedSyscallTrap(aArgs, nullptr);
|
||||||
|
}
|
||||||
|
return (flags & AT_SYMLINK_NOFOLLOW) == 0 ? broker->Stat(path, buf)
|
39
rhel6-auxvh.patch
Normal file
39
rhel6-auxvh.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
diff -up firefox-78.2.0/mozglue/build/ppc.cpp.ppc-vsx firefox-78.2.0/mozglue/build/ppc.cpp
|
||||||
|
--- firefox-78.2.0/mozglue/build/ppc.cpp.ppc-vsx 2020-09-11 07:07:05.850864720 +0200
|
||||||
|
+++ firefox-78.2.0/mozglue/build/ppc.cpp 2020-09-11 07:08:48.884202679 +0200
|
||||||
|
@@ -14,10 +14,6 @@
|
||||||
|
#if defined(XP_LINUX)
|
||||||
|
// Use the getauxval() function if available.
|
||||||
|
// ARCH_3_00 wasn't defined until glibc 2.23, so include just in case.
|
||||||
|
-# include <sys/auxv.h>
|
||||||
|
-# ifndef PPC_FEATURE2_ARCH_3_00
|
||||||
|
-# define PPC_FEATURE2_ARCH_3_00 0x00800000
|
||||||
|
-# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const unsigned PPC_FLAG_VMX = 1;
|
||||||
|
@@ -33,24 +29,8 @@ static signed get_ppc_cpu_flags(void) {
|
||||||
|
}
|
||||||
|
cpu_flags = 0;
|
||||||
|
|
||||||
|
-#if defined(XP_LINUX)
|
||||||
|
- // Try getauxval().
|
||||||
|
- unsigned long int cap = getauxval(AT_HWCAP);
|
||||||
|
- unsigned long int cap2 = getauxval(AT_HWCAP2);
|
||||||
|
-
|
||||||
|
- if (cap & PPC_FEATURE_HAS_ALTIVEC) {
|
||||||
|
- cpu_flags |= PPC_FLAG_VMX;
|
||||||
|
- }
|
||||||
|
- if (cap & PPC_FEATURE_HAS_VSX) {
|
||||||
|
- cpu_flags |= PPC_FLAG_VSX;
|
||||||
|
- }
|
||||||
|
- if (cap2 & PPC_FEATURE2_ARCH_3_00) {
|
||||||
|
- cpu_flags |= PPC_FLAG_VSX3;
|
||||||
|
- }
|
||||||
|
-#else
|
||||||
|
// Non-Linux detection here. Currently, on systems other than Linux,
|
||||||
|
// no CPU SIMD features will be detected.
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
return cpu_flags;
|
||||||
|
}
|
41
rhel6-dbusver.patch
Normal file
41
rhel6-dbusver.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
diff -up firefox-78.2.0/third_party/rust/libdbus-sys/build.rs.rhel6-dbusver firefox-78.2.0/third_party/rust/libdbus-sys/build.rs
|
||||||
|
--- firefox-78.2.0/third_party/rust/libdbus-sys/build.rs.rhel6-dbusver 2020-08-17 20:34:46.000000000 +0200
|
||||||
|
+++ firefox-78.2.0/third_party/rust/libdbus-sys/build.rs 2020-09-09 21:06:34.932374254 +0200
|
||||||
|
@@ -3,5 +3,5 @@ extern crate pkg_config;
|
||||||
|
fn main() {
|
||||||
|
// See https://github.com/joshtriplett/metadeps/issues/9 for why we don't use
|
||||||
|
// metadeps here, but instead keep this manually in sync with Cargo.toml.
|
||||||
|
- pkg_config::Config::new().atleast_version("1.6").probe("dbus-1").unwrap();
|
||||||
|
+ pkg_config::Config::new().atleast_version("1.2").probe("dbus-1").unwrap();
|
||||||
|
}
|
||||||
|
diff -up firefox-78.2.0/third_party/rust/libdbus-sys/.cargo-checksum.json.rhel6-dbusver firefox-78.2.0/third_party/rust/libdbus-sys/.cargo-checksum.json
|
||||||
|
--- firefox-78.2.0/third_party/rust/libdbus-sys/.cargo-checksum.json.rhel6-dbusver 2020-08-17 20:35:05.000000000 +0200
|
||||||
|
+++ firefox-78.2.0/third_party/rust/libdbus-sys/.cargo-checksum.json 2020-09-09 21:11:37.045287830 +0200
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-{"files":{"Cargo.toml":"7054b852a13a318562f3ef791e69802f234c9f3d943f2de2d1cef8b31fd0939a","LICENSE-APACHE":"453745410e3be8cf25d56872ea2aec975a78e6c9f217443d0bf908a5bce7c8ff","LICENSE-MIT":"de3911c2d98c8bd2d701ee721347053d9b55995a11f9a8c955e44d3ca1b376bf","build.rs":"9fbc218277d76a570c01c5795a7c8008f5458317cc036d7c88b1dc1a4af22fb7","src/lib.rs":"c8a0d43a3b7e9c8828d4946437379f1985492bd6b04fdd5e967bbcace2197c3d"},"package":"18cb88963258d00f4962205dbb5933d82780d9962c8c8a064b651d2ad7189210"}
|
||||||
|
\ No newline at end of file
|
||||||
|
+{"files":{"Cargo.toml":"7054b852a13a318562f3ef791e69802f234c9f3d943f2de2d1cef8b31fd0939a","LICENSE-APACHE":"453745410e3be8cf25d56872ea2aec975a78e6c9f217443d0bf908a5bce7c8ff","LICENSE-MIT":"de3911c2d98c8bd2d701ee721347053d9b55995a11f9a8c955e44d3ca1b376bf","build.rs":"41d24ea34bd37eb7a47253ac0681da2dde73e52caf04bbcecf795965e5d36466","src/lib.rs":"31e939a4a7f537265a84c91ba940ac31ac0f66c53a49971f1b21bbd2e4a7b5e9"},"package":"18cb88963258d00f4962205dbb5933d82780d9962c8c8a064b651d2ad7189210"}
|
||||||
|
diff -up firefox-78.2.0/third_party/rust/libdbus-sys/src/lib.rs.rhel6-dbusver firefox-78.2.0/third_party/rust/libdbus-sys/src/lib.rs
|
||||||
|
--- firefox-78.2.0/third_party/rust/libdbus-sys/src/lib.rs.rhel6-dbusver 2020-08-17 20:34:38.000000000 +0200
|
||||||
|
+++ firefox-78.2.0/third_party/rust/libdbus-sys/src/lib.rs 2020-09-09 21:06:34.933374260 +0200
|
||||||
|
@@ -252,13 +252,14 @@ extern "C" {
|
||||||
|
pub fn dbus_signature_validate_single(signature: *const c_char, error: *mut DBusError) -> u32;
|
||||||
|
|
||||||
|
pub fn dbus_threads_init_default() -> c_int;
|
||||||
|
+}
|
||||||
|
+ pub fn dbus_validate_bus_name(busname: *const c_char, error: *mut DBusError) -> u32 {return 1;}
|
||||||
|
+ pub fn dbus_validate_error_name(errorname: *const c_char, error: *mut DBusError) -> u32 {return 1;}
|
||||||
|
+ pub fn dbus_validate_interface(interface: *const c_char, error: *mut DBusError) -> u32 {return 1;}
|
||||||
|
+ pub fn dbus_validate_member(member: *const c_char, error: *mut DBusError) -> u32 {return 1;}
|
||||||
|
+ pub fn dbus_validate_path(path: *const c_char, error: *mut DBusError) -> u32 {return 1;}
|
||||||
|
|
||||||
|
- pub fn dbus_validate_bus_name(busname: *const c_char, error: *mut DBusError) -> u32;
|
||||||
|
- pub fn dbus_validate_error_name(errorname: *const c_char, error: *mut DBusError) -> u32;
|
||||||
|
- pub fn dbus_validate_interface(interface: *const c_char, error: *mut DBusError) -> u32;
|
||||||
|
- pub fn dbus_validate_member(member: *const c_char, error: *mut DBusError) -> u32;
|
||||||
|
- pub fn dbus_validate_path(path: *const c_char, error: *mut DBusError) -> u32;
|
||||||
|
-
|
||||||
|
+extern "C" {
|
||||||
|
pub fn dbus_watch_get_enabled(watch: *mut DBusWatch) -> u32;
|
||||||
|
pub fn dbus_watch_get_flags(watch: *mut DBusWatch) -> c_uint;
|
||||||
|
pub fn dbus_watch_get_unix_fd(watch: *mut DBusWatch) -> c_int;
|
16
rhel6-kernel.patch
Normal file
16
rhel6-kernel.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
diff -up firefox-78.2.0/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.rhel6-kernel firefox-78.2.0/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
|
||||||
|
--- firefox-78.2.0/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.rhel6-kernel 2020-09-09 19:56:13.159597467 +0200
|
||||||
|
+++ firefox-78.2.0/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc 2020-09-09 19:56:31.457712629 +0200
|
||||||
|
@@ -385,11 +385,7 @@ bool DeviceInfoLinux::IsDeviceNameMatche
|
||||||
|
|
||||||
|
bool DeviceInfoLinux::IsVideoCaptureDevice(struct v4l2_capability* cap)
|
||||||
|
{
|
||||||
|
- if (cap->capabilities & V4L2_CAP_DEVICE_CAPS) {
|
||||||
|
- return cap->device_caps & V4L2_CAP_VIDEO_CAPTURE;
|
||||||
|
- } else {
|
||||||
|
- return cap->capabilities & V4L2_CAP_VIDEO_CAPTURE;
|
||||||
|
- }
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t DeviceInfoLinux::FillCapabilities(int fd) {
|
12
rhel6-mach-fail.patch
Normal file
12
rhel6-mach-fail.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up firefox-78.2.0/python/mozbuild/mozbuild/controller/building.py.mach-fail firefox-78.2.0/python/mozbuild/mozbuild/controller/building.py
|
||||||
|
--- firefox-78.2.0/python/mozbuild/mozbuild/controller/building.py.mach-fail 2020-09-09 19:25:18.552930506 +0200
|
||||||
|
+++ firefox-78.2.0/python/mozbuild/mozbuild/controller/building.py 2020-09-09 19:25:31.081010223 +0200
|
||||||
|
@@ -591,7 +591,7 @@ class TerminalLoggingHandler(logging.Han
|
||||||
|
if self.footer:
|
||||||
|
self.footer.clear()
|
||||||
|
|
||||||
|
- self.fh.write(msg.encode("utf-8"))
|
||||||
|
+ self.fh.write(msg)
|
||||||
|
self.fh.write('\n')
|
||||||
|
|
||||||
|
if self.footer:
|
12
rhel6-zconst.patch
Normal file
12
rhel6-zconst.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up firefox-78.2.0/tools/profiler/gecko/nsProfiler.cpp.zconst firefox-78.2.0/tools/profiler/gecko/nsProfiler.cpp
|
||||||
|
--- firefox-78.2.0/tools/profiler/gecko/nsProfiler.cpp.zconst 2020-09-09 20:29:17.489123431 +0200
|
||||||
|
+++ firefox-78.2.0/tools/profiler/gecko/nsProfiler.cpp 2020-09-09 20:30:09.544457350 +0200
|
||||||
|
@@ -523,7 +523,7 @@ nsProfiler::GetProfileDataAsGzippedArray
|
||||||
|
stream.opaque = nullptr;
|
||||||
|
stream.next_out = (Bytef*)outBuff.Elements();
|
||||||
|
stream.avail_out = outBuff.Length();
|
||||||
|
- stream.next_in = (z_const Bytef*)aResult.Data();
|
||||||
|
+ stream.next_in = (Bytef*)aResult.Data();
|
||||||
|
stream.avail_in = aResult.Length();
|
||||||
|
|
||||||
|
// A windowBits of 31 is the default (15) plus 16 for emitting a
|
Loading…
Reference in New Issue
Block a user