diff --git a/testing/firefox/checksums b/testing/firefox/checksums index f5866f32..e01aa9f3 100644 --- a/testing/firefox/checksums +++ b/testing/firefox/checksums @@ -1,4 +1,5 @@ -d6b9e4472f73c5a1726f4b33d1749aff7831b73915ab6797b66b5d23c5604cb0a5 +726b06d8cc5764564766c8416283cc0b14fe188339a24aa288cebe4703589b7622 +bd231369e10f0300360b79ae2e9b429f1d5833f6a46b615722979c38b6ebb70882 ee279241e461011e2265086328d9d0a913ab938bb81aa97fa22b8b9b7edf5e33bc 8c0f419eb138061e67dbe2ac73e9c8332649fb90aacb57ac4f00d5de94c0cf23a8 3bfec8b5e7cb94481d94e1039a602e14564c8a6da5a28f089ce4a69d23f9e42bbb diff --git a/testing/firefox/patches/fix-overalignment.patch b/testing/firefox/patches/fix-overalignment.patch new file mode 100644 index 00000000..20c2d796 --- /dev/null +++ b/testing/firefox/patches/fix-overalignment.patch @@ -0,0 +1,50 @@ +diff --git a/js/public/Utility.h b/js/public/Utility.h +index 5a3002b..8927d65 100644 +--- a/js/public/Utility.h ++++ b/js/public/Utility.h +@@ -478,6 +478,9 @@ static inline void js_free(void* p) { + #define JS_DECLARE_NEW_METHODS(NEWNAME, ALLOCATOR, QUALIFIERS) \ + template \ + QUALIFIERS T* MOZ_HEAP_ALLOCATOR NEWNAME(Args&&... args) { \ ++ static_assert( \ ++ alignof(T) <= alignof(max_align_t), \ ++ "over-aligned type is not supported by JS_DECLARE_NEW_METHODS"); \ + void* memory = ALLOCATOR(sizeof(T)); \ + return MOZ_LIKELY(memory) ? new (memory) T(std::forward(args)...) \ + : nullptr; \ +@@ -494,6 +497,9 @@ static inline void js_free(void* p) { + #define JS_DECLARE_NEW_ARENA_METHODS(NEWNAME, ALLOCATOR, QUALIFIERS) \ + template \ + QUALIFIERS T* MOZ_HEAP_ALLOCATOR NEWNAME(arena_id_t arena, Args&&... args) { \ ++ static_assert( \ ++ alignof(T) <= alignof(max_align_t), \ ++ "over-aligned type is not supported by JS_DECLARE_NEW_ARENA_METHODS"); \ + void* memory = ALLOCATOR(arena, sizeof(T)); \ + return MOZ_LIKELY(memory) ? new (memory) T(std::forward(args)...) \ + : nullptr; \ +diff --git a/js/src/gc/GCMarker.h b/js/src/gc/GCMarker.h +index 495e66c..053ba90 100644 +--- a/js/src/gc/GCMarker.h ++++ b/js/src/gc/GCMarker.h +@@ -274,7 +274,7 @@ enum ShouldReportMarkTime : bool { + + } /* namespace gc */ + +-class alignas(TypicalCacheLineSize) GCMarker { ++class GCMarker { + enum MarkingState : uint8_t { + // Have not yet started marking. + NotActive, +diff --git a/js/src/gc/Nursery.h b/js/src/gc/Nursery.h +index ae1e8c2..3dde209 100644 +--- a/js/src/gc/Nursery.h ++++ b/js/src/gc/Nursery.h +@@ -67,7 +67,7 @@ class GCSchedulingTunables; + class TenuringTracer; + } // namespace gc + +-class alignas(TypicalCacheLineSize) Nursery { ++class Nursery { + public: + explicit Nursery(gc::GCRuntime* gc); + ~Nursery(); diff --git a/testing/firefox/sources b/testing/firefox/sources index d74f9422..a6742f3c 100644 --- a/testing/firefox/sources +++ b/testing/firefox/sources @@ -1,4 +1,5 @@ -https://ftp.mozilla.org/pub/firefox/releases/116.0b2/source/firefox-116.0b2.source.tar.xz +https://ftp.mozilla.org/pub/firefox/releases/116.0b8/source/firefox-116.0b8.source.tar.xz +patches/fix-overalignment.patch patches/musl-sandbox.patch patches/no-atk.patch patches/no-dbus.patch diff --git a/testing/firefox/version b/testing/firefox/version index 4cf28434..f455d3ea 100644 --- a/testing/firefox/version +++ b/testing/firefox/version @@ -1 +1 @@ -116.0b2 1 +116.0b8 1