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