diff --git a/firefox.spec b/firefox.spec index 1afa544..00598f7 100644 --- a/firefox.spec +++ b/firefox.spec @@ -163,6 +163,8 @@ Patch406: mozilla-256180.patch Patch407: mozilla-1348576.patch Patch408: mozilla-1158076-1.patch Patch409: mozilla-1158076-2.patch +Patch410: mozilla-1321521.patch +Patch411: mozilla-1321521-2.patch # Debian patches Patch500: mozilla-440908.patch @@ -338,6 +340,8 @@ cd %{tarballdir} %patch407 -p1 -b .1348576 %patch408 -p1 -b .1158076-1 %patch409 -p1 -b .1158076-2 +%patch410 -p1 -b .1321521 +%patch411 -p1 -b .1321521-2 # Debian extension patch %patch500 -p1 -b .440908 diff --git a/mozilla-1321521-2.patch b/mozilla-1321521-2.patch new file mode 100644 index 0000000..8aec21e --- /dev/null +++ b/mozilla-1321521-2.patch @@ -0,0 +1,37 @@ + +# HG changeset patch +# User Lars T Hansen +# Date 1485506824 -3600 +# Node ID 97c45b13a1654bce114ace1de67c5aacb12a75fd +# Parent 0fc3d0ffe71e44819c6ffaf3a41b781e50504576 +Bug 1321521 - fix include order. r=me + +diff --git a/js/src/jit/none/Architecture-none.h b/js/src/jit/none/Architecture-none.h +--- a/js/src/jit/none/Architecture-none.h ++++ b/js/src/jit/none/Architecture-none.h +@@ -2,22 +2,22 @@ + * vim: set ts=8 sts=4 et sw=4 tw=99: + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + #ifndef jit_none_Architecture_none_h + #define jit_none_Architecture_none_h + +-#include "jit/shared/Architecture-shared.h" +- + // JitSpewer.h is included through MacroAssembler implementations for other + // platforms, so include it here to avoid inadvertent build bustage. + #include "jit/JitSpewer.h" + ++#include "jit/shared/Architecture-shared.h" ++ + namespace js { + namespace jit { + + static const bool SupportsSimd = false; + static const uint32_t SimdMemoryAlignment = 4; // Make it 4 to avoid a bunch of div-by-zero warnings + static const uint32_t WasmStackAlignment = 8; + + // Does this architecture support SIMD conversions between Uint32x4 and Float32x4? + diff --git a/mozilla-1321521.patch b/mozilla-1321521.patch new file mode 100644 index 0000000..48ec355 --- /dev/null +++ b/mozilla-1321521.patch @@ -0,0 +1,62 @@ + +# HG changeset patch +# User Lars T Hansen +# Date 1485504866 -3600 +# Node ID 2c924fb664c18fb3c17bdbf6fc4d808b9107b87a +# Parent 505e39fbc5ed9857ba12c1c12608fc1cca5c43be +Bug 1321521 - register set adjustments for 'none' platform, r=me + +diff --git a/js/src/jit/none/Architecture-none.h b/js/src/jit/none/Architecture-none.h +--- a/js/src/jit/none/Architecture-none.h ++++ b/js/src/jit/none/Architecture-none.h +@@ -2,16 +2,18 @@ + * vim: set ts=8 sts=4 et sw=4 tw=99: + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + #ifndef jit_none_Architecture_none_h + #define jit_none_Architecture_none_h + ++#include "jit/shared/Architecture-shared.h" ++ + // JitSpewer.h is included through MacroAssembler implementations for other + // platforms, so include it here to avoid inadvertent build bustage. + #include "jit/JitSpewer.h" + + namespace js { + namespace jit { + + static const bool SupportsSimd = false; +@@ -126,16 +128,30 @@ struct FloatRegister + bool aliases(FloatRegister) const { MOZ_CRASH(); } + uint32_t numAliased() const { MOZ_CRASH(); } + void aliased(uint32_t, FloatRegister*) { MOZ_CRASH(); } + bool equiv(FloatRegister) const { MOZ_CRASH(); } + uint32_t size() const { MOZ_CRASH(); } + uint32_t numAlignedAliased() const { MOZ_CRASH(); } + void alignedAliased(uint32_t, FloatRegister*) { MOZ_CRASH(); } + SetType alignedOrDominatedAliasedSet() const { MOZ_CRASH(); } ++ ++ static constexpr RegTypeName DefaultType = RegTypeName::Float64; ++ ++ template ++ static SetType LiveAsIndexableSet(SetType s) { ++ return SetType(0); ++ } ++ ++ template ++ static SetType AllocatableAsIndexableSet(SetType s) { ++ static_assert(Name != RegTypeName::Any, "Allocatable set are not iterable"); ++ return SetType(0); ++ } ++ + template static T ReduceSetForPush(T) { MOZ_CRASH(); } + uint32_t getRegisterDumpOffsetInBytes() { MOZ_CRASH(); } + static uint32_t SetSize(SetType x) { MOZ_CRASH(); } + static Code FromName(const char* name) { MOZ_CRASH(); } + + // This is used in static initializers, so produce a bogus value instead of crashing. + static uint32_t GetPushSizeInBytes(const TypedRegisterSet&) { return 0; } + }; +