diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 7aba0c3..0000000 --- a/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -/firefox-60.1.0esr.source.tar.xz -/firefox-60.2.0esr.source.tar.xz -/firefox-60.2.1esr.source.tar.xz -/firefox-60.2.2esr.source.tar.xz -/firefox-60.3.0esr.source.tar.xz -/firefox-60.4.0esr.source.tar.xz -/firefox-60.6.1esr.source.tar.xz -/firefox-60.7.0esr.source.tar.xz -/firefox-60.7.1esr.source.tar.xz -/firefox-60.7.2esr.source.tar.xz -/firefox-60.8.0esr.source.tar.xz -/firefox-60.9.0esr.source.tar.xz diff --git a/Always-use-the-equivalent-year-to-determine-the-time-zone.patch b/Always-use-the-equivalent-year-to-determine-the-time-zone.patch deleted file mode 100644 index 81474a4..0000000 --- a/Always-use-the-equivalent-year-to-determine-the-time-zone.patch +++ /dev/null @@ -1,100 +0,0 @@ -From: =?utf-8?q?Andr=C3=A9_Bargull?= -Date: Wed, 8 Nov 2017 03:23:41 -0800 -Subject: Always use the equivalent year to determine the time zone offset and - name - -Reviewed-by: Jeff Walden -Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415202 -Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1479687 -Origin: upstream -Applied-upstream: 62, commit:https://hg.mozilla.org/mozilla-central/rev/ce9f1466ec78 ---- - js/src/jsdate.cpp | 11 +++++++---- - js/src/vm/Time.cpp | 14 ++++---------- - js/src/vm/Time.h | 2 +- - 3 files changed, 12 insertions(+), 15 deletions(-) - -diff --git a/js/src/jsdate.cpp b/js/src/jsdate.cpp -index 07af3d18c865..ff8fd6c3763c 100644 ---- a/js/src/jsdate.cpp -+++ b/js/src/jsdate.cpp -@@ -2353,12 +2353,15 @@ static PRMJTime ToPRMJTime(double localTime, double utcTime) { - static size_t FormatTime(char* buf, int buflen, const char* fmt, double utcTime, - double localTime) { - PRMJTime prtm = ToPRMJTime(localTime, utcTime); -- int eqivalentYear = IsRepresentableAsTime32(utcTime) -- ? prtm.tm_year -- : EquivalentYearForDST(prtm.tm_year); -+ // If an equivalent year was used to compute the date/time components, use -+ // the same equivalent year to determine the time zone name and offset in -+ // PRMJ_FormatTime(...). -+ int timeZoneYear = IsRepresentableAsTime32(utcTime) -+ ? prtm.tm_year -+ : EquivalentYearForDST(prtm.tm_year); - int offsetInSeconds = (int)floor((localTime - utcTime) / msPerSecond); - -- return PRMJ_FormatTime(buf, buflen, fmt, &prtm, eqivalentYear, -+ return PRMJ_FormatTime(buf, buflen, fmt, &prtm, timeZoneYear, - offsetInSeconds); - } - -diff --git a/js/src/vm/Time.cpp b/js/src/vm/Time.cpp -index f59977f0d0e9..5ee4794b3e83 100644 ---- a/js/src/vm/Time.cpp -+++ b/js/src/vm/Time.cpp -@@ -247,7 +247,7 @@ static void PRMJ_InvalidParameterHandler(const wchar_t* expression, - - /* Format a time value into a buffer. Same semantics as strftime() */ - size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, -- const PRMJTime* prtm, int equivalentYear, -+ const PRMJTime* prtm, int timeZoneYear, - int offsetInSeconds) { - size_t result = 0; - #if defined(XP_UNIX) || defined(XP_WIN) -@@ -280,7 +280,8 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, - * Fill out |td| to the time represented by |prtm|, leaving the - * timezone fields zeroed out. localtime_r will then fill in the - * timezone fields for that local time according to the system's -- * timezone parameters. -+ * timezone parameters. Use |timeZoneYear| for the year to ensure the -+ * time zone name matches the time zone offset used by the caller. - */ - struct tm td; - memset(&td, 0, sizeof(td)); -@@ -290,19 +291,12 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, - td.tm_mday = prtm->tm_mday; - td.tm_mon = prtm->tm_mon; - td.tm_wday = prtm->tm_wday; -- td.tm_year = prtm->tm_year - 1900; -+ td.tm_year = timeZoneYear - 1900; - td.tm_yday = prtm->tm_yday; - td.tm_isdst = prtm->tm_isdst; - - time_t t = mktime(&td); - -- // If |prtm| cannot be represented in |time_t| the year is probably -- // out of range, try again with the DST equivalent year. -- if (t == static_cast(-1)) { -- td.tm_year = equivalentYear - 1900; -- t = mktime(&td); -- } -- - // If either mktime or localtime_r failed, fill in the fallback time - // zone offset |offsetInSeconds| and set the time zone identifier to - // the empty string. -diff --git a/js/src/vm/Time.h b/js/src/vm/Time.h -index 3a51d869c922..37b7faeec028 100644 ---- a/js/src/vm/Time.h -+++ b/js/src/vm/Time.h -@@ -49,7 +49,7 @@ inline void PRMJ_NowShutdown() {} - - /* Format a time value into a buffer. Same semantics as strftime() */ - extern size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt, -- const PRMJTime* tm, int equivalentYear, -+ const PRMJTime* tm, int timeZoneYear, - int offsetInSeconds); - - /** --- -2.21.0 - diff --git a/README.md b/README.md deleted file mode 100644 index e12183a..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# mozjs60 - -The mozjs60 package \ No newline at end of file diff --git a/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch b/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch deleted file mode 100644 index 46d280d..0000000 --- a/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch +++ /dev/null @@ -1,64 +0,0 @@ -# HG changeset patch -# User Lars T Hansen -# Date 1519822672 -3600 -# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6 -# Parent 223c97459e96183eb616aed39147207bdb953ba8 -Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl - -Origin: upstream -Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/800abe66894d ---- - js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++---- - 1 file changed, 26 insertions(+), 4 deletions(-) - -diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp -index 35ca20d7405f..1c20a1093d13 100644 ---- a/js/src/vm/UnboxedObject.cpp -+++ b/js/src/vm/UnboxedObject.cpp -@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; - #endif - - #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for -- // addressing. -- masm.initStackPtr(); -+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); -+ -+ // Initialize the PSP from the SP. -+ masm.initStackPtr(); - #endif - - MOZ_ASSERT(propertiesReg.volatile_()); -@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; - if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg); - masm.PopRegsInMask(savedNonVolatileRegisters); - -- masm.abiret(); -+#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. -+ -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); -+ -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); -+ -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); -+#else -+ masm.abiret(); -+#endif - - masm.bind(&failureStoreOther); - --- -2.21.0 - diff --git a/Save-x28-before-clobbering-it-in-the-regex-compiler.patch b/Save-x28-before-clobbering-it-in-the-regex-compiler.patch deleted file mode 100644 index 3886c0e..0000000 --- a/Save-x28-before-clobbering-it-in-the-regex-compiler.patch +++ /dev/null @@ -1,97 +0,0 @@ -# HG changeset patch -# User Lars T Hansen -# Date 1521449886 -3600 -# Node ID 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 -# Parent 4d2955a9ca7e30ca4c3af9c214ccc77fb2fe7fb8 -Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl - -Origin: upstream -Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff ---- -diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp ---- a/js/src/irregexp/NativeRegExpMacroAssembler.cpp -+++ b/js/src/irregexp/NativeRegExpMacroAssembler.cpp -@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode - - Label return_temp0; - - // Finalize code - write the entry point code now we know how many - // registers we need. - masm.bind(&entry_label_); - - #ifdef JS_CODEGEN_ARM64 -- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. -+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for -+ // addressing. The register we use for PSP may however also be used by -+ // calling code, and it is nonvolatile, so save it. Do this as a special -+ // case first because the generic save/restore code needs the PSP to be -+ // initialized already. -+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); -+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); -+ -+ // Initialize the PSP from the SP. - masm.initStackPtr(); - #endif - - // Push non-volatile registers which might be modified by jitcode. - size_t pushedNonVolatileRegisters = 0; - for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) { - masm.Push(*iter); - pushedNonVolatileRegisters++; -@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode - masm.pop(temp0); - masm.movePtr(temp0, StackPointer); - #endif - - // Restore non-volatile registers which were saved on entry. - for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) - masm.Pop(*iter); - -+#ifdef JS_CODEGEN_ARM64 -+ // Now restore the value that was in the PSP register on entry, and return. -+ -+ // Obtain the correct SP from the PSP. -+ masm.Mov(sp, PseudoStackPointer64); -+ -+ // Restore the saved value of the PSP register, this value is whatever the -+ // caller had saved in it, not any actual SP value, and it must not be -+ // overwritten subsequently. -+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); -+ -+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. -+ masm.Ret(vixl::lr); -+#else - masm.abiret(); -+#endif - - // Backtrack code (branch target for conditional backtracks). - if (backtrack_label_.used()) { - masm.bind(&backtrack_label_); - Backtrack(); - } - - // Backtrack stack overflow code. -diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js -new file mode 100644 ---- /dev/null -+++ b/js/src/jit-test/tests/regexp/bug1445907.js -@@ -0,0 +1,15 @@ -+// On ARM64, we failed to save x28 properly when generating code for the regexp -+// matcher. -+// -+// There's wasm and Debugger code here because the combination forces the use of -+// x28 and exposes the bug when running on the simulator. -+ -+if (!wasmIsSupported()) -+ quit(); -+ -+var g = newGlobal(''); -+var dbg = new Debugger(g); -+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`); -+var re = /./; -+dbg.onEnterFrame = function(frame) { re.exec("x") }; -+result = g.eval("m.exports.test()"); - --- -2.21.0 - diff --git a/build-icu-big-endian.patch b/build-icu-big-endian.patch deleted file mode 100644 index 2cfc839..0000000 --- a/build-icu-big-endian.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up firefox-60.0/build/autoconf/icu.m4.icu firefox-60.0/build/autoconf/icu.m4 ---- firefox-60.0/build/autoconf/icu.m4.icu 2018-04-24 13:13:03.938961958 +0200 -+++ firefox-60.0/build/autoconf/icu.m4 2018-04-24 13:14:44.472714375 +0200 -@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then - # TODO: the l is actually endian-dependent - # We could make this set as 'l' or 'b' for little or big, respectively, - # but we'd need to check in a big-endian version of the file. -- ICU_DATA_FILE="icudt${version}l.dat" -+ ICU_DATA_FILE="icudt${version}b.dat" - - MOZ_ICU_DATA_ARCHIVE= - fi - diff --git a/copy-headers.patch b/copy-headers.patch deleted file mode 100644 index aec3b10..0000000 --- a/copy-headers.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Rico Tzschichholz -Date: Wed, 5 Jul 2017 22:45:59 -0700 -Subject: build: Copy headers on install instead of symlinking - -Patch ported forward to mozjs52 by Philip Chimento -. ---- - python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py -index dd9020d..6918ef8 100644 ---- a/python/mozbuild/mozbuild/backend/recursivemake.py -+++ b/python/mozbuild/mozbuild/backend/recursivemake.py -@@ -1427,11 +1427,11 @@ class RecursiveMakeBackend(CommonBackend): - raise Exception("Wildcards are only supported in the filename part of " - "srcdir-relative or absolute paths.") - -- install_manifest.add_pattern_link(basepath, wild, path) -+ install_manifest.add_pattern_copy(basepath, wild, path) - else: -- install_manifest.add_pattern_link(f.srcdir, f, path) -+ install_manifest.add_pattern_copy(f.srcdir, f, path) - else: -- install_manifest.add_link(f.full_path, dest) -+ install_manifest.add_copy(f.full_path, dest) - else: - install_manifest.add_optional_exists(dest) - backend_file.write('%s_FILES += %s\n' % ( diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..0ebf1eb --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +mozjs60 is obsolete version of SpiderMonkey, use mozjs68 or mozjs78! diff --git a/emitter.patch b/emitter.patch deleted file mode 100644 index 0f414d7..0000000 --- a/emitter.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/python/mozbuild/mozbuild/frontend/emitter.py -+++ b/python/mozbuild/mozbuild/frontend/emitter.py -@@ -1127,11 +1127,6 @@ - raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' - 'does not exist: %s (resolved to %s)' % (local_include, - full_path), context) -- if (full_path == context.config.topsrcdir or -- full_path == context.config.topobjdir): -- raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' -- 'is not allowed: %s (resolved to %s)' % (local_include, -- full_path), context) - include_obj = LocalInclude(context, local_include) - local_includes.append(include_obj.path.full_path) - yield include_obj - diff --git a/emitter_test.patch b/emitter_test.patch deleted file mode 100644 index dad8ddc..0000000 --- a/emitter_test.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py -+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py -@@ -999,22 +999,6 @@ - - self.assertEqual(local_includes, expected) - -- def test_local_includes_invalid(self): -- """Test that invalid LOCAL_INCLUDES are properly detected.""" -- reader = self.reader('local_includes-invalid/srcdir') -- -- with self.assertRaisesRegexp( -- SandboxValidationError, -- 'Path specified in LOCAL_INCLUDES is not allowed:'): -- objs = self.read_topsrcdir(reader) -- -- reader = self.reader('local_includes-invalid/objdir') -- -- with self.assertRaisesRegexp( -- SandboxValidationError, -- 'Path specified in LOCAL_INCLUDES is not allowed:'): -- objs = self.read_topsrcdir(reader) -- - def test_generated_includes(self): - """Test that GENERATED_INCLUDES is emitted correctly.""" - reader = self.reader('generated_includes') - diff --git a/enddianness.patch b/enddianness.patch deleted file mode 100644 index 8bf7f67..0000000 --- a/enddianness.patch +++ /dev/null @@ -1,225 +0,0 @@ -From f66d410f3ba767efb91c6b9545d373267cd975f2 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Sat, 7 Sep 2019 20:43:40 +0200 -Subject: [PATCH] enddianness.patch - -Bug 1488552 - Ensure proper running on 64-bit and 32-bit BE platforms. ---- - js/src/gc/Marking-inl.h | 16 ++++++++++++++++ - js/src/gc/RelocationOverlay.h | 13 ++++++++++++- - js/src/jsfriendapi.h | 8 ++++++++ - js/src/vm/StringType.h | 13 +++++++++++++ - 4 files changed, 49 insertions(+), 1 deletion(-) - -Index: firefox-60.9.0/js/src/gc/Marking-inl.h -=================================================================== ---- firefox-60.9.0.orig/js/src/gc/Marking-inl.h 2019-09-01 15:09:17.000000000 +0200 -+++ firefox-60.9.0/js/src/gc/Marking-inl.h 2019-12-09 11:42:31.024301901 +0100 -@@ -82,12 +82,28 @@ - MOZ_ASSERT(!isForwarded()); - // The location of magic_ is important because it must never be valid to see - // the value Relocated there in a GC thing that has not been moved. -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 -+ // On 32-bit, the magic_ aliases with whatever comes after the first -+ // pointer; on little-endian 64-bit, the magic_ aliases with the -+ // 32 most significant bits of the pointer, which are the second half. - static_assert(offsetof(RelocationOverlay, magic_) == - offsetof(JSObject, group_) + sizeof(uint32_t), - "RelocationOverlay::magic_ is in the wrong location"); - static_assert(offsetof(RelocationOverlay, magic_) == - offsetof(js::Shape, base_) + sizeof(uint32_t), - "RelocationOverlay::magic_ is in the wrong location"); -+#elif JS_BITS_PER_WORD == 64 -+ // On big-endian 64-bit, the magic_ aliases with the 32 most -+ // significant bits of the pointer, but now that's the first half. -+ static_assert(offsetof(RelocationOverlay, magic_) == -+ offsetof(JSObject, group_), -+ "RelocationOverlay::magic_ is in the wrong location"); -+ static_assert(offsetof(RelocationOverlay, magic_) == -+ offsetof(js::Shape, base_), -+ "RelocationOverlay::magic_ is in the wrong location"); -+#else -+# error "Unknown endianness or word size" -+#endif - static_assert( - offsetof(RelocationOverlay, magic_) == offsetof(JSString, d.u1.length), - "RelocationOverlay::magic_ is in the wrong location"); -Index: firefox-60.9.0/js/src/gc/RelocationOverlay.h -=================================================================== ---- firefox-60.9.0.orig/js/src/gc/RelocationOverlay.h 2019-09-01 15:09:17.000000000 +0200 -+++ firefox-60.9.0/js/src/gc/RelocationOverlay.h 2019-12-09 11:42:31.024301901 +0100 -@@ -33,14 +33,25 @@ - /* See comment in js/public/HeapAPI.h. */ - static const uint32_t Relocated = js::gc::Relocated; - -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 - /* -- * Keep the low 32 bits untouched. Use them to distinguish strings from -+ * Keep the first 32 bits untouched. Use them to distinguish strings from - * objects in the nursery. - */ - uint32_t preserve_; - - /* Set to Relocated when moved. */ - uint32_t magic_; -+#elif JS_BITS_PER_WORD == 64 -+ /* -+ * On big-endian, we need to reorder to keep preserve_ lined up with the -+ * low 32 bits of the aligned group_ pointer in JSObject. -+ */ -+ uint32_t magic_; -+ uint32_t preserve_; -+#else -+# error "Unknown endianness or word size" -+#endif - - /* The location |this| was moved to. */ - Cell* newLocation_; -Index: firefox-60.9.0/js/src/jsfriendapi.h -=================================================================== ---- firefox-60.9.0.orig/js/src/jsfriendapi.h 2019-09-01 15:09:18.000000000 +0200 -+++ firefox-60.9.0/js/src/jsfriendapi.h 2019-12-09 11:42:31.024301901 +0100 -@@ -9,6 +9,7 @@ - - #include "mozilla/Atomics.h" - #include "mozilla/Casting.h" -+#include "mozilla/EndianUtils.h" - #include "mozilla/Maybe.h" - #include "mozilla/MemoryReporting.h" - #include "mozilla/UniquePtr.h" -@@ -609,8 +610,15 @@ - static const uint32_t LATIN1_CHARS_BIT = JS_BIT(6); - static const uint32_t EXTERNAL_FLAGS = LINEAR_BIT | NON_ATOM_BIT | JS_BIT(5); - static const uint32_t TYPE_FLAGS_MASK = JS_BIT(6) - 1; -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 - uint32_t flags; - uint32_t length; -+#elif JS_BITS_PER_WORD == 64 -+ uint32_t length; -+ uint32_t flags; -+#else -+# error "Unknown endianness or word size" -+#endif - union { - const JS::Latin1Char* nonInlineCharsLatin1; - const char16_t* nonInlineCharsTwoByte; -Index: firefox-60.9.0/js/src/vm/StringType.h -=================================================================== ---- firefox-60.9.0.orig/js/src/vm/StringType.h 2019-09-01 15:09:39.000000000 +0200 -+++ firefox-60.9.0/js/src/vm/StringType.h 2019-12-09 11:42:31.028301901 +0100 -@@ -7,6 +7,7 @@ - #ifndef vm_StringType_h - #define vm_StringType_h - -+#include "mozilla/EndianUtils.h" - #include "mozilla/MemoryReporting.h" - #include "mozilla/PodOperations.h" - #include "mozilla/Range.h" -@@ -168,8 +169,20 @@ - struct Data { - union { - struct { -+#if MOZ_LITTLE_ENDIAN || JS_BITS_PER_WORD == 32 - uint32_t flags; /* JSString */ - uint32_t length; /* JSString */ -+#elif JS_BITS_PER_WORD == 64 -+ /* -+ * On big-endian, we need to reorder to keep flags lined up -+ * with the low 32 bits of the aligned group_ pointer in -+ * JSObject. -+ */ -+ uint32_t length; /* JSString */ -+ uint32_t flags; /* JSString */ -+#else -+# error "Unknown endianness or word size" -+#endif - }; - uintptr_t flattenData; /* JSRope (temporary while flattening) */ - } u1; -Index: firefox-60.9.0/js/src/js-config.h.in -=================================================================== ---- firefox-60.9.0.orig/js/src/js-config.h.in 2019-09-01 15:09:18.000000000 +0200 -+++ firefox-60.9.0/js/src/js-config.h.in 2019-12-09 11:43:13.052302975 +0100 -@@ -38,6 +38,13 @@ - /* Define to 1 if SpiderMonkey should include ctypes support. */ - #undef JS_HAS_CTYPES - -+/* Define to 1 if SpiderMonkey should include trace logging support. */ -+#undef JS_TRACE_LOGGING -+ -+/* Define to 1 if SpiderMonkey should include a breakpoint function for -+ * artificial OOMs. */ -+#undef JS_OOM_BREAKPOINT -+ - /* Define to 1 if SpiderMonkey should support the ability to perform - entirely too much GC. */ - #undef JS_GC_ZEAL -@@ -48,12 +55,25 @@ - /* Define to 1 to perform extra assertions and heap poisoning. */ - #undef JS_CRASH_DIAGNOSTICS - -+/* Define to 1 if SpiderMonkey is compiled with support for private values at -+ * odd-numbered memory addresses. */ -+#undef JS_UNALIGNED_PRIVATE_VALUES -+ - /* Define to 1 if SpiderMonkey is in NUNBOX32 mode. */ - #undef JS_NUNBOX32 - - /* Define to 1 if SpiderMonkey is in PUNBOX64 mode. */ - #undef JS_PUNBOX64 - -+/* Define exactly one of these to 1 to indicate JIT code generation mode. */ -+#undef JS_CODEGEN_NONE -+#undef JS_CODEGEN_ARM -+#undef JS_CODEGEN_ARM64 -+#undef JS_CODEGEN_MIPS32 -+#undef JS_CODEGEN_MIPS64 -+#undef JS_CODEGEN_X86 -+#undef JS_CODEGEN_X64 -+ - /* MOZILLA JSAPI version number components */ - #undef MOZJS_MAJOR_VERSION - #undef MOZJS_MINOR_VERSION -Index: firefox-60.9.0/js/src/jsapi.cpp -=================================================================== ---- firefox-60.9.0.orig/js/src/jsapi.cpp 2019-09-01 15:09:18.000000000 +0200 -+++ firefox-60.9.0/js/src/jsapi.cpp 2019-12-09 11:43:13.052302975 +0100 -@@ -115,6 +115,14 @@ - #define JS_ADDRESSOF_VA_LIST(ap) (&(ap)) - #endif - -+// See preprocessor definition of JS_BITS_PER_WORD in jstypes.h; make sure -+// JS_64BIT (used internally) agrees with it -+#ifdef JS_64BIT -+static_assert(JS_BITS_PER_WORD == 64, "values must be in sync"); -+#else -+static_assert(JS_BITS_PER_WORD == 32, "values must be in sync"); -+#endif -+ - JS_PUBLIC_API bool JS::CallArgs::requireAtLeast(JSContext* cx, - const char* fnname, - unsigned required) const { -Index: firefox-60.9.0/js/src/jstypes.h -=================================================================== ---- firefox-60.9.0.orig/js/src/jstypes.h 2019-09-01 15:09:18.000000000 +0200 -+++ firefox-60.9.0/js/src/jstypes.h 2019-12-09 11:43:13.052302975 +0100 -@@ -141,12 +141,17 @@ - #define JS_BITS_PER_BYTE 8 - #define JS_BITS_PER_BYTE_LOG2 3 - --#if defined(JS_64BIT) -+#if (defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 8) || \ -+ (defined(UINTPTR_MAX) && UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFu) - #define JS_BITS_PER_WORD 64 - #else - #define JS_BITS_PER_WORD 32 - #endif - -+static_assert(sizeof(void*) == 8 ? JS_BITS_PER_WORD == 64 -+ : JS_BITS_PER_WORD == 32, -+ "preprocessor and compiler must agree"); -+ - /*********************************************************************** - ** MACROS: JS_FUNC_TO_DATA_PTR - ** JS_DATA_TO_FUNC_PTR - diff --git a/fix-soname.patch b/fix-soname.patch deleted file mode 100644 index fc8052a..0000000 --- a/fix-soname.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: "Laszlo Boszormenyi (GCS)" -Date: Fri, 2 May 2014 22:20:45 +0200 -Subject: fix soname - -Add soname switch to linker, regardless of Operating System - -Bug-Debian: http://bugs.debian.org/746705 ---- - config/rules.mk | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/config/rules.mk b/config/rules.mk -index eb86b0c..1bb3988 100644 ---- a/config/rules.mk -+++ b/config/rules.mk -@@ -359,6 +359,9 @@ endif - endif - EXTRA_DEPS += $(SYMBOLS_FILE) - endif -+ -+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0 -+ - # - # GNU doesn't have path length limitation - # diff --git a/icu_sources_data-Write-command-output-to-our-stderr.patch b/icu_sources_data-Write-command-output-to-our-stderr.patch deleted file mode 100644 index 19c0cc0..0000000 --- a/icu_sources_data-Write-command-output-to-our-stderr.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Simon McVittie -Date: Mon, 9 Oct 2017 09:23:14 +0100 -Subject: icu_sources_data: Write command output to our stderr - -Saying "See output in /tmp/foobar" is all very well for a developer -build, but on a buildd our /tmp is going to get thrown away after -the build. Just log the usual way instead. ---- - intl/icu_sources_data.py | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py -index 8cf9290..7d2d983 100644 ---- a/intl/icu_sources_data.py -+++ b/intl/icu_sources_data.py -@@ -84,16 +84,13 @@ def update_sources(topsrcdir): - - def try_run(name, command, cwd=None, **kwargs): - try: -- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f: -- subprocess.check_call(command, cwd=cwd, stdout=f, -+ subprocess.check_call(command, cwd=cwd, stdout=sys.stderr, - stderr=subprocess.STDOUT, **kwargs) - except subprocess.CalledProcessError: -- print('''Error running "{}" in directory {} -- See output in {}'''.format(' '.join(command), cwd, f.name), -+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd), - file=sys.stderr) - return False - else: -- os.unlink(f.name) - return True - - diff --git a/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch b/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch deleted file mode 100644 index 5c75a89..0000000 --- a/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Simon McVittie -Date: Mon, 9 Oct 2017 09:22:12 +0100 -Subject: icu_sources_data.py: Decouple from Mozilla build system - -mozpack.path is a wrapper around os.path that normalizes path -separators on Windows, but on Unix we only have one path separator -so there's nothing to normalize. Avoid needing to import all of it. ---- - intl/icu_sources_data.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py -index 98c0ccb..8cf9290 100644 ---- a/intl/icu_sources_data.py -+++ b/intl/icu_sources_data.py -@@ -19,7 +19,9 @@ import subprocess - import sys - import tempfile - --from mozpack import path as mozpath -+# Close enough -+import os.path as mozpath -+mozpath.normsep = lambda p: p - - - def find_source_file(dir, filename): diff --git a/init_patch.patch b/init_patch.patch deleted file mode 100644 index 2c1db67..0000000 --- a/init_patch.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/python/mozbuild/mozbuild/configure/__init__.py -+++ b/python/mozbuild/mozbuild/configure/__init__.py -@@ -421,7 +421,7 @@ - # All options should have been removed (handled) by now. - for arg in self._helper: - without_value = arg.split('=', 1)[0] -- raise InvalidOptionError('Unknown option: %s' % without_value) -+ # raise InvalidOptionError('Unknown option: %s' % without_value) - - # Run the execution queue - for func, args in self._execution_queue: - diff --git a/jsproperty-endian.patch b/jsproperty-endian.patch deleted file mode 100644 index 458d499..0000000 --- a/jsproperty-endian.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a95105b7846c29c5bd3868719621ab3679d9932b Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Sat, 7 Sep 2019 21:45:58 +0200 -Subject: [PATCH] jsproperty-endian.patch - -Bug 1543659 - fix JSPropertySpec::ValueWrapper on 64-bit big-endian platforms - -Add some padding to make the union's int32 member correspond to the -low-order bits of the string member. This fixes TypedArray tests on -s390x. ---- - js/src/jsapi.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/js/src/jsapi.h b/js/src/jsapi.h -index 0f11787f6..f1c084f6a 100644 ---- a/js/src/jsapi.h -+++ b/js/src/jsapi.h -@@ -1581,7 +1581,14 @@ struct JSPropertySpec { - uintptr_t type; - union { - const char* string; -+#if MOZ_BIG_ENDIAN && JS_BITS_PER_WORD == 64 -+ struct { -+ uint32_t padding; -+ int32_t int32; -+ }; -+#else - int32_t int32; -+#endif - }; - }; - --- -2.23.0 - diff --git a/mozjs60.spec b/mozjs60.spec deleted file mode 100644 index 4a50362..0000000 --- a/mozjs60.spec +++ /dev/null @@ -1,387 +0,0 @@ -%global major 60 - -# Enable LTO -%global optflags %{optflags} -flto -%global build_ldflags %{build_ldflags} -flto - -# Require libatomic for ppc -%ifarch ppc -%global system_libatomic 1 -%endif - -# Big endian platforms -%ifarch ppc ppc64 s390 s390x -%global big_endian 1 -%endif - -Name: mozjs%{major} -Version: 60.9.0 -Release: 8%{?dist} -Summary: SpiderMonkey JavaScript library - -License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2+ and AFL and ASL 2.0 -URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey -Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz - -# Patches from Debian mozjs52_52.3.1-4.debian.tar.xz: -Patch0001: fix-soname.patch -Patch0002: copy-headers.patch -Patch0003: tests-increase-timeout.patch -Patch0008: Always-use-the-equivalent-year-to-determine-the-time-zone.patch -Patch0009: icu_sources_data.py-Decouple-from-Mozilla-build-system.patch -Patch0010: icu_sources_data-Write-command-output-to-our-stderr.patch -Patch0011: tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch - -# Build fixes - https://hg.mozilla.org/mozilla-central/rev/ca36a6c4f8a4a0ddaa033fdbe20836d87bbfb873 -Patch12: emitter.patch -Patch13: emitter_test.patch -Patch14: init_patch.patch - -# s390x fixes: -# https://salsa.debian.org/gnome-team/mozjs60/blob/debian/master/debian/patches/enddianness.patch -Patch15: enddianness.patch -# https://salsa.debian.org/gnome-team/mozjs60/blob/debian/master/debian/patches/jsproperty-endian.patch -Patch16: jsproperty-endian.patch -# https://salsa.debian.org/gnome-team/mozjs60/blob/debian/master/debian/patches/tests-Skip-a-test-on-s390x.patch -Patch17: tests-Skip-a-test-on-s390x.patch -# https://salsa.debian.org/gnome-team/mozjs60/blob/debian/master/debian/patches/tests-Expect-a-test-to-fail-on-big-endian.patch -Patch18: tests-Expect-a-test-to-fail-on-big-endian.patch - -# Patches from Fedora firefox package: -Patch26: build-icu-big-endian.patch - -# aarch64 fixes for -O2 -Patch30: Save-x28-before-clobbering-it-in-the-regex-compiler.patch -Patch31: Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch - -BuildRequires: make -BuildRequires: autoconf213 -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: perl-devel -BuildRequires: pkgconfig(libffi) -BuildRequires: pkgconfig(zlib) -BuildRequires: python2-devel -BuildRequires: readline-devel -BuildRequires: /usr/bin/zip -%if 0%{?system_libatomic} -BuildRequires: libatomic -%endif - -# Firefox does not allow to build with system version of jemalloc -Provides: bundled(jemalloc) = 4.3.1 - -%description -SpiderMonkey is the code-name for Mozilla Firefox's C++ implementation of -JavaScript. It is intended to be embedded in other applications -that provide host environments for JavaScript. - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description devel -The %{name}-devel package contains libraries and header files for -developing applications that use %{name}. - -%prep -%setup -q -n firefox-%{version}/js/src - -pushd ../.. -%patch0001 -p1 -%patch0002 -p1 -%patch0003 -p1 -%patch0008 -p1 -%patch0009 -p1 -%patch0010 -p1 -%patch0011 -p1 - -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 - -# s390x fixes -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 - -# Patch for big endian platforms only -%if 0%{?big_endian} -%patch26 -p1 -b .icu -%endif - -# aarch64 -O2 fixes -%ifarch aarch64 -%patch30 -p1 -%patch31 -p1 -%endif - -# make sure we don't ever accidentally link against bundled security libs -rm -rf security/ -popd - -# Remove zlib directory (to be sure using system version) -rm -rf ../../modules/zlib - -%build -# Enable LTO -export AR=%{_bindir}/gcc-ar -export RANLIB=%{_bindir}/gcc-ranlib -export NM=%{_bindir}/gcc-nm - -export CFLAGS="%{optflags}" - -export CXXFLAGS="$CFLAGS" -export LINKFLAGS="%{?__global_ldflags}" -export PYTHON="%{__python2}" - -autoconf-2.13 -%configure \ - --without-system-icu \ - --enable-posix-nspr-emulation \ - --with-system-zlib \ - --enable-tests \ - --disable-strip \ - --with-intl-api \ - --enable-readline \ - --enable-shared-js \ - --disable-optimize \ - --enable-pie \ - --disable-jemalloc \ - -%if 0%{?big_endian} -echo "Generate big endian version of config/external/icu/data/icud58l.dat" -pushd ../.. - ./mach python intl/icu_sources_data.py . - ls -l config/external/icu/data - rm -f config/external/icu/data/icudt*l.dat -popd -%endif - -%make_build - -%install -%make_install - -# Fix permissions -chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc - -# Avoid multilib conflicts -case `uname -i` in - i386 | ppc | s390 | sparc ) - wordsize="32" - ;; - x86_64 | ppc64 | s390x | sparc64 ) - wordsize="64" - ;; - *) - wordsize="" - ;; -esac - -if test -n "$wordsize" -then - mv %{buildroot}%{_includedir}/mozjs-60/js-config.h \ - %{buildroot}%{_includedir}/mozjs-60/js-config-$wordsize.h - - cat >%{buildroot}%{_includedir}/mozjs-60/js-config.h < - -#if __WORDSIZE == 32 -# include "js-config-32.h" -#elif __WORDSIZE == 64 -# include "js-config-64.h" -#else -# error "unexpected value for __WORDSIZE macro" -#endif - -#endif -EOF - -fi - -# Remove unneeded files -rm %{buildroot}%{_bindir}/js%{major}-config -rm %{buildroot}%{_libdir}/libjs_static.ajs - -# Rename library and create symlinks, following fix-soname.patch -mv %{buildroot}%{_libdir}/libmozjs-%{major}.so \ - %{buildroot}%{_libdir}/libmozjs-%{major}.so.0.0.0 -ln -s libmozjs-%{major}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so.0 -ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so - -%check -# Run SpiderMonkey tests -%{__python2} tests/jstests.py -d -s -t 1800 --no-progress ../../js/src/js/src/shell/js \ -%ifarch %{ix86} x86_64 %{arm} aarch64 ppc ppc64le s390x -; -%else -|| : -%endif - -# Run basic JIT tests -%{__python2} jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/js/src/shell/js basic \ -%ifarch %{ix86} x86_64 %{arm} aarch64 ppc ppc64le s390x -; -%else -|| : -%endif - -%ldconfig_scriptlets - -%files -%doc README.html -%{_libdir}/libmozjs-%{major}.so.0* - -%files devel -%{_bindir}/js%{major} -%{_libdir}/libmozjs-%{major}.so -%{_libdir}/pkgconfig/*.pc -%{_includedir}/mozjs-%{major}/ - -%changelog -* Tue Jan 26 2021 Fedora Release Engineering - 60.9.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sat Aug 01 2020 Fedora Release Engineering - 60.9.0-7 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 60.9.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Feb 17 2020 Kalev Lember - 60.9.0-5 -- Update enddianness.patch with more s390x fixes -- Enable tests on s390x again - -* Wed Jan 29 2020 Fedora Release Engineering - 60.9.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Sep 10 2019 Kalev Lember - 60.9.0-3 -- Fix multilib conflicts in js-config.h - -* Sat Sep 07 2019 Kalev Lember - 60.9.0-2 -- Backport patches for s390x support - -* Tue Sep 03 2019 Kalev Lember - 60.9.0-1 -- Update to 60.9.0 - -* Thu Jul 25 2019 Fedora Release Engineering - 60.8.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jul 10 2019 Artem Polishchuk - 60.8.0-2 -- Enable LTO - -* Tue Jul 09 2019 Frantisek Zatloukal - 60.8.0-1 -- Update to 60.8.0 - -* Sat Jun 22 2019 Frantisek Zatloukal - 60.7.2-1 -- Update to 60.7.2 - -* Wed Jun 19 2019 Frantisek Zatloukal - 60.7.1-1 -- Update to 60.7.1 - -* Tue May 21 2019 Kalev Lember - 60.7.0-1 -- Update to 60.7.0 - -* Mon Apr 15 2019 Frantisek Zatloukal - 60.6.1-2 -- Backport two Firefox 61 patches and allow compiler optimizations on aarch64 - -* Sun Apr 14 2019 Frantisek Zatloukal - 60.6.1-1 -- Update to 60.6.1 - -* Thu Feb 21 2019 Frantisek Zatloukal - 60.4.0-5 -- Re-enable null pointer gcc optimization - -* Sun Feb 17 2019 Igor Gnatenko - 60.4.0-4 -- Rebuild for readline 8.0 - -* Thu Feb 14 2019 Frantisek Zatloukal - 60.4.0-3 -- Build aarch64 with -O0 because of rhbz#1676292 - -* Fri Feb 01 2019 Fedora Release Engineering - 60.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 02 2019 Frantisek Zatloukal - 60.4.0-1 -- Update to 60.4.0 - -* Mon Nov 12 2018 Kalev Lember - 60.3.0-1 -- Update to 60.3.0 - -* Thu Oct 04 2018 Kalev Lember - 60.2.2-1 -- Update to 60.2.2 - -* Fri Sep 28 2018 Kalev Lember - 60.2.1-1 -- Update to 60.2.1 - -* Tue Sep 11 2018 Kalev Lember - 60.2.0-1 -- Update to 60.2.0 - -* Tue Sep 04 2018 Frantisek Zatloukal - 60.1.0-1 -- Update to 60.1.0 - -* Wed Jul 25 2018 Kalev Lember - 52.9.0-1 -- Update to 52.9.0 - -* Fri Jul 13 2018 Fedora Release Engineering - 52.8.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jun 11 2018 Ray Strode - 52.8.0-2 -- safeguard against linking against bundled nss - Related: #1563708 - -* Fri May 11 2018 Kalev Lember - 52.8.0-1 -- Update to 52.8.0 -- Fix the build on ppc -- Disable JS Helper threads on ppc64le (#1523121) - -* Sat Apr 07 2018 Kalev Lember - 52.7.3-1 -- Update to 52.7.3 - -* Tue Mar 20 2018 Kalev Lember - 52.7.2-1 -- Update to 52.7.2 -- Switch to %%ldconfig_scriptlets - -* Thu Feb 08 2018 Fedora Release Engineering - 52.6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 23 2018 Kalev Lember - 52.6.0-1 -- Update to 52.6.0 - -* Fri Nov 24 2017 Björn Esser - 52.5.0-5 -- SpiderMonkey tests have regressions on %%{power64}, too - -* Fri Nov 24 2017 Björn Esser - 52.5.0-4 -- SpiderMonkey tests have regressions on big endian platforms - -* Fri Nov 24 2017 Björn Esser - 52.5.0-3 -- SpiderMonkey tests do not fail on any arch -- Basic JIT tests are failing on s390 arches, only -- Use macro for ppc64 arches -- Run tests using Python2 explicitly -- Simplify %%check -- Use the %%{major} macro consequently -- Replace %%define with %%global - -* Fri Nov 24 2017 Björn Esser - 52.5.0-2 -- Use macro for Python 2 interpreter -- Use proper export and quoting - -* Tue Nov 14 2017 Kalev Lember - 52.5.0-1 -- Update to 52.5.0 - -* Tue Oct 31 2017 Kalev Lember - 52.4.0-3 -- Include standalone /usr/bin/js52 interpreter - -* Tue Oct 31 2017 Kalev Lember - 52.4.0-2 -- Various secondary arch fixes - -* Thu Sep 28 2017 Kalev Lember - 52.4.0-1 -- Update to 52.4.0 - -* Wed Sep 20 2017 Kalev Lember - 52.3.0-1 -- Initial Fedora packaging, based on earlier mozjs45 work diff --git a/sources b/sources deleted file mode 100644 index 7e3faec..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (firefox-60.9.0esr.source.tar.xz) = 4baea5c9c4eff257834bbaee6d7786f69f7e6bacd24ca13c2705226f4a0d88315ab38c650b2c5e9c76b698f2debc7cea1e5a99cb4dc24e03c48a24df5143a3cf diff --git a/tests-Expect-a-test-to-fail-on-big-endian.patch b/tests-Expect-a-test-to-fail-on-big-endian.patch deleted file mode 100644 index 6b20753..0000000 --- a/tests-Expect-a-test-to-fail-on-big-endian.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Simon McVittie -Date: Fri, 28 Sep 2018 09:51:33 +0100 -Subject: tests: Expect a test to fail on big-endian - -Signed-off-by: Simon McVittie -Forwarded: no ---- - js/src/tests/jstests.list | 3 +++ - 1 file changed, 3 insertions(+) - -Index: firefox-60.9.0/js/src/tests/jstests.list -=================================================================== ---- firefox-60.9.0.orig/js/src/tests/jstests.list 2019-12-10 11:04:22.464247245 +0100 -+++ firefox-60.9.0/js/src/tests/jstests.list 2019-12-10 11:15:21.496264080 +0100 -@@ -451,6 +451,8 @@ - # - skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js - -+# Assumes little-endian IEEE representation of floating point numbers -+fails-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-|ppc-/)) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js - - ########################################################### - # Tests disabled due to issues in test262 importer script # - diff --git a/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch b/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch deleted file mode 100644 index d7ac441..0000000 --- a/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Simon McVittie -Date: Mon, 9 Oct 2017 09:46:31 +0100 -Subject: tests: For tests that are skipped on 64-bit, mips64 is also 64-bit - -mips64 is a 64-bit platform and a Debian release architecture. ---- - js/src/tests/non262/Array/regress-157652.js | 2 +- - js/src/tests/non262/Array/regress-330812.js | 2 +- - js/src/tests/non262/regress/regress-422348.js | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/js/src/tests/non262/Array/regress-157652.js b/js/src/tests/non262/Array/regress-157652.js -index 6916fe1..b21dcc3 100644 ---- a/js/src/tests/non262/Array/regress-157652.js -+++ b/js/src/tests/non262/Array/regress-157652.js -@@ -1,4 +1,4 @@ --// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results -+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)||Android) -- No test results - /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* 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 -diff --git a/js/src/tests/non262/Array/regress-330812.js b/js/src/tests/non262/Array/regress-330812.js -index c48f4c8..6b1ba2a 100644 ---- a/js/src/tests/non262/Array/regress-330812.js -+++ b/js/src/tests/non262/Array/regress-330812.js -@@ -1,4 +1,4 @@ --// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results -+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)||Android) -- No test results - /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* 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 -diff --git a/js/src/tests/non262/regress/regress-422348.js b/js/src/tests/non262/regress/regress-422348.js -index 2c28d5a..e94c397 100644 ---- a/js/src/tests/non262/regress/regress-422348.js -+++ b/js/src/tests/non262/regress/regress-422348.js -@@ -1,4 +1,4 @@ --// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) -- On 64-bit, takes forever rather than throwing -+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)) -- On 64-bit, takes forever rather than throwing - /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* 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 diff --git a/tests-Skip-a-test-on-s390x.patch b/tests-Skip-a-test-on-s390x.patch deleted file mode 100644 index 6c57b53..0000000 --- a/tests-Skip-a-test-on-s390x.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: firefox-60.9.0/js/src/tests/jstests.list -=================================================================== ---- firefox-60.9.0.orig/js/src/tests/jstests.list 2019-12-10 11:03:40.064246162 +0100 -+++ firefox-60.9.0/js/src/tests/jstests.list 2019-12-10 11:04:22.464247245 +0100 -@@ -447,6 +447,10 @@ - # https://bugzilla.mozilla.org/show_bug.cgi?id=1321616 - skip script test262/annexB/built-ins/Function/createdynfn-html-close-comment-params.js - -+# Crashes on s390x and ppc64, avoid it -+# -+skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js -+ - - ########################################################### - # Tests disabled due to issues in test262 importer script # - diff --git a/tests-increase-timeout.patch b/tests-increase-timeout.patch deleted file mode 100644 index 91f5fa7..0000000 --- a/tests-increase-timeout.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Adrian Bunk -Date: Tue, 3 Jul 2018 10:03:37 +0100 -Subject: Increase the test timeout for slower buildds - -Bug-Debian: https://bugs.debian.org/878284 ---- - js/src/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/src/Makefile.in b/js/src/Makefile.in -index 4ac9f48..6ab5582 100644 ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -72,7 +72,7 @@ check:: check-style check-masm check-js-msg check-opcode - - check-jstests: - $(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON) -u $(srcdir)/tests/jstests.py \ -- --no-progress --format=automation --timeout 300 \ -+ --no-progress --format=automation --timeout 600 \ - $(JSTESTS_EXTRA_ARGS) \ - $(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX) -