summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-big-endian.patch45
-rw-r--r--build-cacheFlush-missing.patch13
-rw-r--r--firefox.spec4
3 files changed, 44 insertions, 18 deletions
diff --git a/build-big-endian.patch b/build-big-endian.patch
index c1972c6..abc6744 100644
--- a/build-big-endian.patch
+++ b/build-big-endian.patch
@@ -1,6 +1,6 @@
-diff -up firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h
---- firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2017-07-31 18:20:55.000000000 +0200
-+++ firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h 2017-08-03 12:06:32.653090806 +0200
+diff -up firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h
+--- firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2017-07-31 18:20:55.000000000 +0200
++++ firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h 2017-09-01 15:00:06.186520823 +0200
@@ -31,7 +31,7 @@
*
* Here we enforce this constraint.
@@ -27,9 +27,9 @@ diff -up firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefo
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
#error "can't define PMCOLOR to be RGBA and BGRA"
-diff -up firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h
---- firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2017-07-31 18:20:55.000000000 +0200
-+++ firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h 2017-08-03 12:06:32.653090806 +0200
+diff -up firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h
+--- firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2017-07-31 18:20:55.000000000 +0200
++++ firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h 2017-09-01 15:00:06.186520823 +0200
@@ -83,7 +83,8 @@ enum SkColorType {
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
kN32_SkColorType = kRGBA_8888_SkColorType,
@@ -40,9 +40,9 @@ diff -up firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefo
#endif
};
-diff -up firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h
---- firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian 2017-07-31 18:20:55.000000000 +0200
-+++ firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h 2017-08-03 12:06:32.653090806 +0200
+diff -up firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h.big-endian firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h
+--- firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h.big-endian 2017-07-31 18:20:55.000000000 +0200
++++ firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h 2017-09-01 15:00:06.186520823 +0200
@@ -74,8 +74,13 @@ static inline GrColor GrColorPackA4(unsi
* Since premultiplied means that alpha >= color, we construct a color with
* each component==255 and alpha == 0 to be "illegal"
@@ -58,9 +58,9 @@ diff -up firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian firefox-55.
#define GrColor_WHITE 0xFFFFFFFF
#define GrColor_TRANSPARENT_BLACK 0x0
-diff -up firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h
---- firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2017-07-31 18:20:55.000000000 +0200
-+++ firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h 2017-08-03 12:06:32.653090806 +0200
+diff -up firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h
+--- firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2017-07-31 18:20:55.000000000 +0200
++++ firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h 2017-09-01 15:00:06.187520823 +0200
@@ -326,15 +326,13 @@ enum GrPixelConfig {
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
@@ -79,9 +79,9 @@ diff -up firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-55.
#endif
// Returns true if the pixel config is a GPU-specific compressed format
-diff -up firefox-55.0/js/src/jit/none/MacroAssembler-none.h.big-endian firefox-55.0/js/src/jit/none/MacroAssembler-none.h
---- firefox-55.0/js/src/jit/none/MacroAssembler-none.h.big-endian 2017-07-31 18:20:48.000000000 +0200
-+++ firefox-55.0/js/src/jit/none/MacroAssembler-none.h 2017-08-04 11:31:18.074582783 +0200
+diff -up firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h.big-endian firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h
+--- firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h.big-endian 2017-07-31 18:20:48.000000000 +0200
++++ firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h 2017-09-01 15:03:38.257602029 +0200
@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitReg
static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg };
@@ -91,13 +91,22 @@ diff -up firefox-55.0/js/src/jit/none/MacroAssembler-none.h.big-endian firefox-5
static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg };
-@@ -197,8 +197,8 @@ class MacroAssemblerNone : public Assemb
+@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared
+
+ static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); }
+
++ static bool HasRoundInstruction(RoundingMode) { return false; }
++
+ void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end,
+ const Disassembler::HeapAccess& heapAccess)
+ {
+@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assemb
+ static bool SupportsSimd() { return false; }
static bool SupportsUnalignedAccesses() { return false; }
- static bool HasRoundInstruction(RoundingMode) { return false; }
+- static bool HasRoundInstruction(RoundingMode) { return false; }
-
- void executableCopy(void*, bool) { MOZ_CRASH(); }
-+
+ void executableCopy(void*, bool flushICache = true) { MOZ_CRASH(); }
void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); }
void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); }
diff --git a/build-cacheFlush-missing.patch b/build-cacheFlush-missing.patch
new file mode 100644
index 0000000..51c368c
--- /dev/null
+++ b/build-cacheFlush-missing.patch
@@ -0,0 +1,13 @@
+diff -up firefox-55.0.3/js/src/jit/ExecutableAllocator.h.wasm firefox-55.0.3/js/src/jit/ExecutableAllocator.h
+--- firefox-55.0.3/js/src/jit/ExecutableAllocator.h.wasm 2017-09-05 11:32:12.235909468 +0200
++++ firefox-55.0.3/js/src/jit/ExecutableAllocator.h 2017-09-05 11:32:46.157916575 +0200
+@@ -219,7 +219,7 @@ class ExecutableAllocator
+
+ static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges);
+
+-#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64)
++#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE)
+ static void cacheFlush(void*, size_t)
+ {
+ }
+diff -up firefox-55.0.3/js/src/jit-test/tests/wasm/bench/wasm_box2d.wasm firefox-55.0.3/js/src/jit-test/tests/wasm/bench/wasm_box2d
diff --git a/firefox.spec b/firefox.spec
index db73936..a7d8e03 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -129,6 +129,7 @@ Patch25: rhbz-1219542-s390-build.patch
Patch26: build-icu-big-endian.patch
Patch27: mozilla-1335250.patch
Patch28: build-1360521-missing-cheddar.patch
+# Also fixes s390x: https://bugzilla.mozilla.org/show_bug.cgi?id=1376268
Patch29: build-big-endian.patch
Patch30: fedora-build.patch
Patch31: build-ppc64-s390x-curl.patch
@@ -140,6 +141,8 @@ Patch36: build-missing-xlocale-h.patch
# Always feel lucky for unsupported platforms:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1347128
Patch37: build-jit-atomic-always-lucky.patch
+# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
+Patch38: build-cacheFlush-missing.patch
# Fedora specific patches
# Unable to install addons from https pages
@@ -320,6 +323,7 @@ This package contains results of tests executed during build.
%patch35 -p1 -b .ppc-jit
%endif
%patch37 -p1 -b .jit-atomic-lucky
+%patch38 -p1 -b .cacheFlush-missing
%patch3 -p1 -b .arm
bgstack15