summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2015-11-30 11:13:39 -0500
committerIan Stakenvicius <axs@gentoo.org>2015-11-30 11:13:39 -0500
commit46a7beff9c65976bccd3ef07a8ad98c9c4ddf213 (patch)
tree0a2f465597a1cbf94f5ca0f21337202f1bd0639e
parentAdjust subslot to ensure it rebuilds packages linked against it. (diff)
downloadmozilla-46a7beff9c65976bccd3ef07a8ad98c9c4ddf213.tar.gz
mozilla-46a7beff9c65976bccd3ef07a8ad98c9c4ddf213.tar.bz2
mozilla-46a7beff9c65976bccd3ef07a8ad98c9c4ddf213.zip
added patch to fix USE=-jit builds
-rw-r--r--www-client/firefox/files/jit-none.patch135
-rw-r--r--www-client/firefox/firefox-43.0_beta7.ebuild1
2 files changed, 136 insertions, 0 deletions
diff --git a/www-client/firefox/files/jit-none.patch b/www-client/firefox/files/jit-none.patch
new file mode 100644
index 00000000..7da33d7c
--- /dev/null
+++ b/www-client/firefox/files/jit-none.patch
@@ -0,0 +1,135 @@
+
+# HG changeset patch
+# User Steve Singer <steve@ssinger.info>
+# Date 1443349020 -7200
+# Node ID aa7e651a038a95c1f2eba8d869d66fb568c8b88c
+# Parent c634c30551b04b8d214e7ae54c79af8d87b24445
+Bug 1208867 - Add xxx64 operations to MacroAssembler-none. r=sstangl
+
+diff --git a/js/src/jit/none/Lowering-none.h b/js/src/jit/none/Lowering-none.h
+--- a/js/src/jit/none/Lowering-none.h
++++ b/js/src/jit/none/Lowering-none.h
+@@ -82,16 +82,17 @@ class LIRGeneratorNone : public LIRGener
+
+ LTableSwitch* newLTableSwitch(LAllocation, LDefinition, MTableSwitch*) { MOZ_CRASH(); }
+ LTableSwitchV* newLTableSwitchV(MTableSwitch*) { MOZ_CRASH(); }
+ void visitSimdSelect(MSimdSelect* ins) { MOZ_CRASH(); }
+ void visitSimdSplatX4(MSimdSplatX4* ins) { MOZ_CRASH(); }
+ void visitSimdValueX4(MSimdValueX4* lir) { MOZ_CRASH(); }
+ void visitSubstr(MSubstr*) { MOZ_CRASH(); }
+ void visitSimdBinaryArith(js::jit::MSimdBinaryArith*) { MOZ_CRASH(); }
++ void visitRandom(js::jit::MRandom*) { MOZ_CRASH(); }
+
+ };
+
+ typedef LIRGeneratorNone LIRGeneratorSpecific;
+
+ } // namespace jit
+ } // namespace js
+
+diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h
+--- a/js/src/jit/none/MacroAssembler-none.h
++++ b/js/src/jit/none/MacroAssembler-none.h
+@@ -233,20 +233,22 @@ class MacroAssemblerNone : public Assemb
+ void testObjectSet(Condition, ValueOperand, Register) { MOZ_CRASH(); }
+ void testUndefinedSet(Condition, ValueOperand, Register) { MOZ_CRASH(); }
+
+ template <typename T, typename S> void cmpPtrSet(Condition, T, S, Register) { MOZ_CRASH(); }
+ template <typename T, typename S> void cmp32Set(Condition, T, S, Register) { MOZ_CRASH(); }
+
+ template <typename T, typename S> void add32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void addPtr(T, S) { MOZ_CRASH(); }
++ template <typename T, typename S> void add64(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void sub32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void subPtr(T, S) { MOZ_CRASH(); }
+ void neg32(Register) { MOZ_CRASH(); }
+ void mulBy3(Register, Register) { MOZ_CRASH(); }
++ void mul64(Imm64, const Register64&) { MOZ_CRASH(); }
+
+ void negateDouble(FloatRegister) { MOZ_CRASH(); }
+ void addDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); }
+ void subDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); }
+ void mulDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); }
+ void divDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); }
+
+ template <typename T, typename S> void branch32(Condition, T, S, Label*) { MOZ_CRASH(); }
+@@ -254,22 +256,24 @@ class MacroAssemblerNone : public Assemb
+ template <typename T, typename S> void branchAdd32(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
++ template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
+ template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); }
++ template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); }
+ template <typename T> CodeOffsetLabel movWithPatch(T, Register) { MOZ_CRASH(); }
+
+ template <typename T> void loadInt32x1(T, FloatRegister dest) { MOZ_CRASH(); }
+ template <typename T> void loadInt32x2(T, FloatRegister dest) { MOZ_CRASH(); }
+ template <typename T> void loadInt32x3(T, FloatRegister dest) { MOZ_CRASH(); }
+ template <typename T> void loadFloat32x3(T, FloatRegister dest) { MOZ_CRASH(); }
+
+ template <typename T> void loadPtr(T, Register) { MOZ_CRASH(); }
+@@ -280,32 +284,34 @@ class MacroAssemblerNone : public Assemb
+ template <typename T> void loadUnalignedInt32x4(T, FloatRegister) { MOZ_CRASH(); }
+ template <typename T> void loadAlignedFloat32x4(T, FloatRegister) { MOZ_CRASH(); }
+ template <typename T> void loadUnalignedFloat32x4(T, FloatRegister) { MOZ_CRASH(); }
+ template <typename T> void loadPrivate(T, Register) { MOZ_CRASH(); }
+ template <typename T> void load8SignExtend(T, Register) { MOZ_CRASH(); }
+ template <typename T> void load8ZeroExtend(T, Register) { MOZ_CRASH(); }
+ template <typename T> void load16SignExtend(T, Register) { MOZ_CRASH(); }
+ template <typename T> void load16ZeroExtend(T, Register) { MOZ_CRASH(); }
++ template <typename T> void load64(T, Register64 ) { MOZ_CRASH(); }
+
+ template <typename T, typename S> void storePtr(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void store32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void store32_NoSecondScratch(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeFloat32(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeDouble(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeAlignedInt32x4(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeUnalignedInt32x4(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeAlignedFloat32x4(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeUnalignedFloat32x4(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void store8(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void store16(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeInt32x1(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeInt32x2(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeInt32x3(T, S) { MOZ_CRASH(); }
+ template <typename T, typename S> void storeFloat32x3(T, S) { MOZ_CRASH(); }
++ template <typename T, typename S> void store64(T, S) { MOZ_CRASH(); }
+
+ template <typename T> void computeEffectiveAddress(T, Register) { MOZ_CRASH(); }
+
+ template <typename T> void compareExchange8SignExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); }
+ template <typename T> void compareExchange8ZeroExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); }
+ template <typename T> void compareExchange16SignExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); }
+ template <typename T> void compareExchange16ZeroExtend(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); }
+ template <typename T> void compareExchange32(const T& mem, Register oldval, Register newval, Register output) { MOZ_CRASH(); }
+@@ -393,16 +399,18 @@ class MacroAssemblerNone : public Assemb
+ void convertDoubleToInt32(FloatRegister, Register, Label*, bool v = true) { MOZ_CRASH(); }
+ void convertBoolToInt32(Register, Register) { MOZ_CRASH(); }
+
+ void convertDoubleToFloat32(FloatRegister, FloatRegister) { MOZ_CRASH(); }
+ void convertInt32ToFloat32(Register, FloatRegister) { MOZ_CRASH(); }
+
+ template <typename T> void convertInt32ToDouble(T, FloatRegister) { MOZ_CRASH(); }
+ void convertFloat32ToDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); }
++ void convertUInt64ToDouble(Register64, Register, FloatRegister) { MOZ_CRASH(); }
++ void mulDoublePtr(ImmPtr, Register, FloatRegister) { MOZ_CRASH(); }
+
+ void branchTruncateDouble(FloatRegister, Register, Label*) { MOZ_CRASH(); }
+ void branchTruncateFloat32(FloatRegister, Register, Label*) { MOZ_CRASH(); }
+
+ void boolValueToDouble(ValueOperand, FloatRegister) { MOZ_CRASH(); }
+ void boolValueToFloat32(ValueOperand, FloatRegister) { MOZ_CRASH(); }
+ void int32ValueToDouble(ValueOperand, FloatRegister) { MOZ_CRASH(); }
+ void int32ValueToFloat32(ValueOperand, FloatRegister) { MOZ_CRASH(); }
+
diff --git a/www-client/firefox/firefox-43.0_beta7.ebuild b/www-client/firefox/firefox-43.0_beta7.ebuild
index eeec89b6..8b97558f 100644
--- a/www-client/firefox/firefox-43.0_beta7.ebuild
+++ b/www-client/firefox/firefox-43.0_beta7.ebuild
@@ -148,6 +148,7 @@ src_prepare() {
EPATCH_EXCLUDE="8002_jemalloc_configure_unbashify.patch
8011_bug1194520-freetype261_until_moz43.patch" \
epatch "${WORKDIR}/firefox"
+ epatch "${FILESDIR}"/jit-none.patch
# Allow user to apply any additional patches without modifing ebuild
epatch_user