From d7f28b7b805a142225575775dadc285aa6f83bdb Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Tue, 13 Jun 2017 09:42:24 +0200 Subject: Fixed arm patch --- firefox.spec | 2 +- mozilla-1337988.patch | 107 +++++++++++++++++++++++++------------------------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/firefox.spec b/firefox.spec index f6ca965..b08f2bd 100644 --- a/firefox.spec +++ b/firefox.spec @@ -94,7 +94,7 @@ Summary: Mozilla Firefox Web browser Name: firefox Version: 54.0 -Release: 1%{?pre_tag}%{?dist} +Release: 2%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Group: Applications/Internet diff --git a/mozilla-1337988.patch b/mozilla-1337988.patch index 36da3ef..829db15 100644 --- a/mozilla-1337988.patch +++ b/mozilla-1337988.patch @@ -1,7 +1,7 @@ -diff -up firefox-53.0.2/dom/plugins/base/nsJSNPRuntime.cpp.1337988 firefox-53.0.2/dom/plugins/base/nsJSNPRuntime.cpp ---- firefox-53.0.2/dom/plugins/base/nsJSNPRuntime.cpp.1337988 2017-04-11 06:15:22.000000000 +0200 -+++ firefox-53.0.2/dom/plugins/base/nsJSNPRuntime.cpp 2017-05-17 13:11:24.628137703 +0200 -@@ -1746,7 +1746,7 @@ NPObjWrapper_ObjectMoved(JSObject *obj, +diff -up firefox-54.0/dom/plugins/base/nsJSNPRuntime.cpp.1337988 firefox-54.0/dom/plugins/base/nsJSNPRuntime.cpp +--- firefox-54.0/dom/plugins/base/nsJSNPRuntime.cpp.1337988 2017-06-05 22:45:19.000000000 +0200 ++++ firefox-54.0/dom/plugins/base/nsJSNPRuntime.cpp 2017-06-13 09:36:36.298383396 +0200 +@@ -1758,7 +1758,7 @@ NPObjWrapper_ObjectMoved(JSObject *obj, auto entry = static_cast(sNPObjWrappers->Search(npobj)); MOZ_ASSERT(entry && entry->mJSObj); @@ -10,9 +10,9 @@ diff -up firefox-53.0.2/dom/plugins/base/nsJSNPRuntime.cpp.1337988 firefox-53.0. entry->mJSObj = obj; } -diff -up firefox-53.0.2/js/ipc/JavaScriptShared.cpp.1337988 firefox-53.0.2/js/ipc/JavaScriptShared.cpp ---- firefox-53.0.2/js/ipc/JavaScriptShared.cpp.1337988 2017-04-11 06:15:17.000000000 +0200 -+++ firefox-53.0.2/js/ipc/JavaScriptShared.cpp 2017-05-17 13:11:24.628137703 +0200 +diff -up firefox-54.0/js/ipc/JavaScriptShared.cpp.1337988 firefox-54.0/js/ipc/JavaScriptShared.cpp +--- firefox-54.0/js/ipc/JavaScriptShared.cpp.1337988 2017-06-05 22:45:20.000000000 +0200 ++++ firefox-54.0/js/ipc/JavaScriptShared.cpp 2017-06-13 09:36:36.298383396 +0200 @@ -101,7 +101,7 @@ IdToObjectMap::has(const ObjectId& id, c auto p = table_.lookup(id); if (!p) @@ -22,10 +22,10 @@ diff -up firefox-53.0.2/js/ipc/JavaScriptShared.cpp.1337988 firefox-53.0.2/js/ip } #endif -diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/RootingAPI.h ---- firefox-53.0.2/js/public/RootingAPI.h.1337988 2017-04-11 06:15:17.000000000 +0200 -+++ firefox-53.0.2/js/public/RootingAPI.h 2017-05-17 14:16:44.378827481 +0200 -@@ -150,6 +150,10 @@ template +diff -up firefox-54.0/js/public/RootingAPI.h.1337988 firefox-54.0/js/public/RootingAPI.h +--- firefox-54.0/js/public/RootingAPI.h.1337988 2017-06-05 22:45:20.000000000 +0200 ++++ firefox-54.0/js/public/RootingAPI.h 2017-06-13 09:39:07.215806935 +0200 +@@ -148,6 +148,10 @@ template struct PersistentRootedMarker; } /* namespace gc */ @@ -36,7 +36,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ // Important: Return a reference so passing a Rooted, etc. to // something that takes a |const T&| is not a GC hazard. #define DECLARE_POINTER_CONSTREF_OPS(T) \ -@@ -235,8 +239,6 @@ class Heap : public js::HeapBase::value, "Type T must be a public GC pointer type"); public: @@ -45,7 +45,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ Heap() { static_assert(sizeof(T) == sizeof(Heap), "Heap must be binary compatible with T."); -@@ -371,8 +373,6 @@ template +@@ -381,8 +383,6 @@ template class TenuredHeap : public js::HeapBase> { public: @@ -54,7 +54,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ TenuredHeap() : bits(0) { static_assert(sizeof(T) == sizeof(TenuredHeap), "TenuredHeap must be binary compatible with T."); -@@ -380,6 +380,9 @@ class TenuredHeap : public js::HeapBase< +@@ -390,6 +390,9 @@ class TenuredHeap : public js::HeapBase< explicit TenuredHeap(T p) : bits(0) { setPtr(p); } explicit TenuredHeap(const TenuredHeap& p) : bits(0) { setPtr(p.getPtr()); } @@ -64,7 +64,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ void setPtr(T newPtr) { MOZ_ASSERT((reinterpret_cast(newPtr) & flagsMask) == 0); if (newPtr) -@@ -456,8 +459,6 @@ class MOZ_NONHEAP_CLASS Handle : public +@@ -466,8 +469,6 @@ class MOZ_NONHEAP_CLASS Handle : public friend class JS::MutableHandle; public: @@ -73,7 +73,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ /* Creates a handle from a handle of a type convertible to T. */ template MOZ_IMPLICIT Handle(Handle handle, -@@ -518,6 +519,7 @@ class MOZ_NONHEAP_CLASS Handle : public +@@ -529,6 +530,7 @@ class MOZ_NONHEAP_CLASS Handle : public MOZ_IMPLICIT Handle(MutableHandle& root, typename mozilla::EnableIf::value, int>::Type dummy = 0); @@ -81,7 +81,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ DECLARE_POINTER_CONSTREF_OPS(T); DECLARE_NONPOINTER_ACCESSOR_METHODS(*ptr); -@@ -544,8 +546,6 @@ template +@@ -555,8 +557,6 @@ template class MOZ_STACK_CLASS MutableHandle : public js::MutableHandleBase> { public: @@ -90,7 +90,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ inline MOZ_IMPLICIT MutableHandle(Rooted* root); inline MOZ_IMPLICIT MutableHandle(PersistentRooted* root); -@@ -571,6 +571,7 @@ class MOZ_STACK_CLASS MutableHandle : pu +@@ -582,6 +582,7 @@ class MOZ_STACK_CLASS MutableHandle : pu return h; } @@ -98,7 +98,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ DECLARE_POINTER_CONSTREF_OPS(T); DECLARE_NONPOINTER_ACCESSOR_METHODS(*ptr); DECLARE_NONPOINTER_MUTABLE_ACCESSOR_METHODS(*ptr); -@@ -775,8 +776,6 @@ class MOZ_RAII Rooted : public js::Roote +@@ -780,8 +781,6 @@ class MOZ_RAII Rooted : public js::Roote } public: @@ -107,7 +107,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ template explicit Rooted(const RootingContext& cx) : ptr(GCPolicy::initial()) -@@ -806,6 +805,7 @@ class MOZ_RAII Rooted : public js::Roote +@@ -811,6 +810,7 @@ class MOZ_RAII Rooted : public js::Roote ptr = value; } @@ -115,7 +115,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ DECLARE_POINTER_CONSTREF_OPS(T); DECLARE_POINTER_ASSIGN_OPS(Rooted, T); DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr); -@@ -882,14 +882,13 @@ template +@@ -887,14 +887,13 @@ template class MOZ_RAII FakeRooted : public RootedBase> { public: @@ -131,7 +131,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ DECLARE_POINTER_CONSTREF_OPS(T); DECLARE_POINTER_ASSIGN_OPS(FakeRooted, T); DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr); -@@ -910,8 +909,6 @@ template +@@ -915,8 +914,6 @@ template class FakeMutableHandle : public js::MutableHandleBase> { public: @@ -140,16 +140,16 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ MOZ_IMPLICIT FakeMutableHandle(T* t) { ptr = t; } -@@ -1102,8 +1099,6 @@ class PersistentRooted : public js::Root - js::RootLists& rootLists(js::ContextFriendFields* cx) = delete; +@@ -1099,8 +1096,6 @@ class PersistentRooted : public js::Root + } public: - using ElementType = T; - PersistentRooted() : ptr(GCPolicy::initial()) {} - template -@@ -1157,6 +1152,7 @@ class PersistentRooted : public js::Root + explicit PersistentRooted(RootingContext* cx) +@@ -1165,6 +1160,7 @@ class PersistentRooted : public js::Root } } @@ -157,7 +157,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ DECLARE_POINTER_CONSTREF_OPS(T); DECLARE_POINTER_ASSIGN_OPS(PersistentRooted, T); DECLARE_NONPOINTER_ACCESSOR_METHODS(ptr); -@@ -1193,8 +1189,6 @@ class JS_PUBLIC_API(ObjectPtr) +@@ -1201,8 +1197,6 @@ class JS_PUBLIC_API(ObjectPtr) Heap value; public: @@ -166,7 +166,7 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ ObjectPtr() : value(nullptr) {} explicit ObjectPtr(JSObject* obj) : value(obj) {} -@@ -1297,177 +1291,6 @@ Swap(JS::TenuredHeap& aX, JS::Tenured +@@ -1305,177 +1299,6 @@ Swap(JS::TenuredHeap& aX, JS::Tenured } /* namespace mozilla */ @@ -344,10 +344,10 @@ diff -up firefox-53.0.2/js/public/RootingAPI.h.1337988 firefox-53.0.2/js/public/ #undef DELETE_ASSIGNMENT_OPS #endif /* js_RootingAPI_h */ -diff -up firefox-53.0.2/js/src/gc/Barrier.h.1337988 firefox-53.0.2/js/src/gc/Barrier.h ---- firefox-53.0.2/js/src/gc/Barrier.h.1337988 2017-04-11 06:15:17.000000000 +0200 -+++ firefox-53.0.2/js/src/gc/Barrier.h 2017-05-17 13:11:24.629137700 +0200 -@@ -349,8 +349,8 @@ class WriteBarrieredBase : public Barrie +diff -up firefox-54.0/js/src/gc/Barrier.h.1337988 firefox-54.0/js/src/gc/Barrier.h +--- firefox-54.0/js/src/gc/Barrier.h.1337988 2017-06-05 22:45:21.000000000 +0200 ++++ firefox-54.0/js/src/gc/Barrier.h 2017-06-13 09:36:36.299383392 +0200 +@@ -350,8 +350,8 @@ class WriteBarrieredBase : public Barrie explicit WriteBarrieredBase(const T& v) : BarrieredBase(v) {} public: @@ -357,7 +357,7 @@ diff -up firefox-53.0.2/js/src/gc/Barrier.h.1337988 firefox-53.0.2/js/src/gc/Bar DECLARE_POINTER_CONSTREF_OPS(T); // Use this if the automatic coercion to T isn't working. -@@ -601,13 +601,14 @@ class ReadBarriered : public ReadBarrier +@@ -602,13 +602,14 @@ class ReadBarriered : public ReadBarrier return *this; } @@ -376,7 +376,7 @@ diff -up firefox-53.0.2/js/src/gc/Barrier.h.1337988 firefox-53.0.2/js/src/gc/Bar return this->value; } -@@ -615,9 +616,9 @@ class ReadBarriered : public ReadBarrier +@@ -616,9 +617,9 @@ class ReadBarriered : public ReadBarrier return bool(this->value); } @@ -388,7 +388,7 @@ diff -up firefox-53.0.2/js/src/gc/Barrier.h.1337988 firefox-53.0.2/js/src/gc/Bar T* unsafeGet() { return &this->value; } T const* unsafeGet() const { return &this->value; } -@@ -944,35 +945,6 @@ typedef ReadBarriered +@@ -945,35 +946,6 @@ typedef ReadBarriered typedef ReadBarriered ReadBarrieredValue; @@ -424,9 +424,9 @@ diff -up firefox-53.0.2/js/src/gc/Barrier.h.1337988 firefox-53.0.2/js/src/gc/Bar } /* namespace js */ #endif /* gc_Barrier_h */ -diff -up firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp ---- firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 2017-04-11 06:15:18.000000000 +0200 -+++ firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp 2017-05-17 13:11:24.629137700 +0200 +diff -up firefox-54.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 firefox-54.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp +--- firefox-54.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 2017-06-05 22:45:21.000000000 +0200 ++++ firefox-54.0/js/src/jsapi-tests/testGCHeapPostBarriers.cpp 2017-06-13 09:39:56.862617300 +0200 @@ -5,7 +5,6 @@ * 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/. */ @@ -435,10 +435,11 @@ diff -up firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 fi #include "mozilla/UniquePtr.h" #include "js/RootingAPI.h" -@@ -152,111 +151,3 @@ TestHeapPostBarrierInitFailure() +@@ -179,112 +178,3 @@ TestHeapPostBarrierInitFailure() + return true; } - END_TEST(testGCHeapPostBarriers) +-END_TEST(testGCHeapPostBarriers) - -BEGIN_TEST(testUnbarrieredEquality) -{ @@ -446,7 +447,7 @@ diff -up firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 fi - // in ObjectPtr without awkward conversations about nursery allocatability. - JS::RootedObject robj(cx, JS_NewArrayBuffer(cx, 20)); - JS::RootedObject robj2(cx, JS_NewArrayBuffer(cx, 30)); -- cx->gc.evictNursery(); // Need tenured objects +- cx->runtime()->gc.evictNursery(); // Need tenured objects - - // Need some bare pointers to compare against. - JSObject* obj = robj; @@ -547,9 +548,9 @@ diff -up firefox-53.0.2/js/src/jsapi-tests/testGCHeapPostBarriers.cpp.1337988 fi -} - -END_TEST(testUnbarrieredEquality) -diff -up firefox-53.0.2/js/src/vm/SharedMem.h.1337988 firefox-53.0.2/js/src/vm/SharedMem.h ---- firefox-53.0.2/js/src/vm/SharedMem.h.1337988 2017-04-11 06:15:18.000000000 +0200 -+++ firefox-53.0.2/js/src/vm/SharedMem.h 2017-05-17 13:11:24.629137700 +0200 +diff -up firefox-54.0/js/src/vm/SharedMem.h.1337988 firefox-54.0/js/src/vm/SharedMem.h +--- firefox-54.0/js/src/vm/SharedMem.h.1337988 2017-04-11 06:15:18.000000000 +0200 ++++ firefox-54.0/js/src/vm/SharedMem.h 2017-06-13 09:36:36.299383392 +0200 @@ -12,8 +12,8 @@ template class SharedMem @@ -561,9 +562,9 @@ diff -up firefox-53.0.2/js/src/vm/SharedMem.h.1337988 firefox-53.0.2/js/src/vm/S enum Sharedness { IsUnshared, -diff -up firefox-53.0.2/js/xpconnect/src/XPCInlines.h.1337988 firefox-53.0.2/js/xpconnect/src/XPCInlines.h ---- firefox-53.0.2/js/xpconnect/src/XPCInlines.h.1337988 2017-04-11 06:15:18.000000000 +0200 -+++ firefox-53.0.2/js/xpconnect/src/XPCInlines.h 2017-05-17 13:11:24.629137700 +0200 +diff -up firefox-54.0/js/xpconnect/src/XPCInlines.h.1337988 firefox-54.0/js/xpconnect/src/XPCInlines.h +--- firefox-54.0/js/xpconnect/src/XPCInlines.h.1337988 2017-04-11 06:15:18.000000000 +0200 ++++ firefox-54.0/js/xpconnect/src/XPCInlines.h 2017-06-13 09:36:36.299383392 +0200 @@ -471,7 +471,7 @@ inline void XPCWrappedNativeTearOff::JSObjectMoved(JSObject* obj, const JSObject* old) { @@ -573,9 +574,9 @@ diff -up firefox-53.0.2/js/xpconnect/src/XPCInlines.h.1337988 firefox-53.0.2/js/ mJSObject = obj; } -diff -up firefox-53.0.2/js/xpconnect/src/XPCWrappedNative.cpp.1337988 firefox-53.0.2/js/xpconnect/src/XPCWrappedNative.cpp ---- firefox-53.0.2/js/xpconnect/src/XPCWrappedNative.cpp.1337988 2017-04-11 06:15:18.000000000 +0200 -+++ firefox-53.0.2/js/xpconnect/src/XPCWrappedNative.cpp 2017-05-17 13:11:24.629137700 +0200 +diff -up firefox-54.0/js/xpconnect/src/XPCWrappedNative.cpp.1337988 firefox-54.0/js/xpconnect/src/XPCWrappedNative.cpp +--- firefox-54.0/js/xpconnect/src/XPCWrappedNative.cpp.1337988 2017-06-05 22:45:19.000000000 +0200 ++++ firefox-54.0/js/xpconnect/src/XPCWrappedNative.cpp 2017-06-13 09:36:36.300383388 +0200 @@ -888,7 +888,7 @@ void XPCWrappedNative::FlatJSObjectMoved(JSObject* obj, const JSObject* old) { @@ -585,9 +586,9 @@ diff -up firefox-53.0.2/js/xpconnect/src/XPCWrappedNative.cpp.1337988 firefox-53 nsWrapperCache* cache = nullptr; CallQueryInterface(mIdentity, &cache); -diff -up firefox-53.0.2/js/xpconnect/src/XPCWrappedNativeProto.cpp.1337988 firefox-53.0.2/js/xpconnect/src/XPCWrappedNativeProto.cpp ---- firefox-53.0.2/js/xpconnect/src/XPCWrappedNativeProto.cpp.1337988 2017-04-11 06:15:18.000000000 +0200 -+++ firefox-53.0.2/js/xpconnect/src/XPCWrappedNativeProto.cpp 2017-05-17 13:11:24.629137700 +0200 +diff -up firefox-54.0/js/xpconnect/src/XPCWrappedNativeProto.cpp.1337988 firefox-54.0/js/xpconnect/src/XPCWrappedNativeProto.cpp +--- firefox-54.0/js/xpconnect/src/XPCWrappedNativeProto.cpp.1337988 2017-06-05 22:45:19.000000000 +0200 ++++ firefox-54.0/js/xpconnect/src/XPCWrappedNativeProto.cpp 2017-06-13 09:36:36.300383388 +0200 @@ -101,7 +101,7 @@ XPCWrappedNativeProto::CallPostCreatePro void XPCWrappedNativeProto::JSProtoObjectFinalized(js::FreeOp* fop, JSObject* obj) -- cgit