diff --git a/srcpkgs/mongodb/patches/fix-options_parser-segfault.patch b/srcpkgs/mongodb/patches/fix-options_parser-segfault.patch new file mode 100644 index 00000000000..15d6da6d56c --- /dev/null +++ b/srcpkgs/mongodb/patches/fix-options_parser-segfault.patch @@ -0,0 +1,25 @@ +From b552e3b3fa87e3f374d603e065785734c5b36e55 Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Mon, 28 Dec 2015 13:39:06 -0700 +Subject: [PATCH 5/5] fix options_parser segfault + +--- + src/mongo/util/options_parser/option_section.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git src/mongo/util/options_parser/option_section.cpp src/mongo/util/options_parser/option_section.cpp +index b499025..d9f5046 100644 +--- src/mongo/util/options_parser/option_section.cpp ++++ src/mongo/util/options_parser/option_section.cpp +@@ -484,7 +484,7 @@ Status OptionSection::getDefaults(std::map* values) const { + std::list::const_iterator oditerator; + for (oditerator = _options.begin(); oditerator != _options.end(); oditerator++) { + if (!oditerator->_default.isEmpty()) { +- (*values)[oditerator->_dottedName] = oditerator->_default; ++ (*((values->insert(make_pair(oditerator->_dottedName, std::map::mapped_type()))).first)).second = oditerator->_default; + } + } + +-- +2.6.4 + diff --git a/srcpkgs/mongodb/patches/issue-693-convert-sys_futex-to-it-s-6-arg-form.patch b/srcpkgs/mongodb/patches/issue-693-convert-sys_futex-to-it-s-6-arg-form.patch new file mode 100644 index 00000000000..80289c68f14 --- /dev/null +++ b/srcpkgs/mongodb/patches/issue-693-convert-sys_futex-to-it-s-6-arg-form.patch @@ -0,0 +1,34 @@ +From b54faf431153535ddfa047f3ed45780b7cac5781 Mon Sep 17 00:00:00 2001 +From: Aliaksey Kandratsenka +Date: Sat, 13 Jun 2015 21:28:28 -0700 +Subject: [PATCH 2/5] issue-693: convert sys_futex to it's 6-arg form + +Because sys_futex actually takes 6 args in more recent kernels (even +though last two args are unused for FUTEX_{WAKE,WAIT}. + +This is patch contributed by user spotrh. +--- + src/third_party/gperftools-2.2/src/base/linux_syscall_support.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git src/third_party/gperftools-2.2/src/base/linux_syscall_support.h src/third_party/gperftools-2.2/src/base/linux_syscall_support.h +index 9b6c35d..c8f8f59 100644 +--- src/third_party/gperftools-2.2/src/base/linux_syscall_support.h ++++ src/third_party/gperftools-2.2/src/base/linux_syscall_support.h +@@ -2094,9 +2094,11 @@ struct kernel_stat { + int, c, long, a) + LSS_INLINE _syscall2(int, fstat, int, f, + struct kernel_stat*, b) +- LSS_INLINE _syscall4(int, futex, int*, a, ++ LSS_INLINE _syscall6(int, futex, int*, a, + int, o, int, v, +- struct kernel_timespec*, t) ++ struct kernel_timespec*, t, ++ int*, a2, ++ int, v3) + #ifdef __NR_getdents64 + LSS_INLINE _syscall3(int, getdents64, int, f, + struct kernel_dirent64*, d, int, c) +-- +2.6.4 + diff --git a/srcpkgs/mongodb/patches/issue-693-enable-futex-usage-on-arm.patch b/srcpkgs/mongodb/patches/issue-693-enable-futex-usage-on-arm.patch new file mode 100644 index 00000000000..5353f33ce96 --- /dev/null +++ b/srcpkgs/mongodb/patches/issue-693-enable-futex-usage-on-arm.patch @@ -0,0 +1,68 @@ +From 00c5a75b1dd59f27c18fa04ad911b56b9c6ac17e Mon Sep 17 00:00:00 2001 +From: Aliaksey Kandratsenka +Date: Sat, 13 Jun 2015 21:35:06 -0700 +Subject: [PATCH 3/5] issue-693: enable futex usage on arm + +This patch was contributed by user spotrh. +--- + .../gperftools-2.2/src/base/linux_syscall_support.h | 1 - + .../gperftools-2.2/src/base/spinlock_linux-inl.h | 15 ++++++--------- + 2 files changed, 6 insertions(+), 10 deletions(-) + +diff --git src/third_party/gperftools-2.2/src/base/linux_syscall_support.h src/third_party/gperftools-2.2/src/base/linux_syscall_support.h +index c8f8f59..56b8fac 100644 +--- src/third_party/gperftools-2.2/src/base/linux_syscall_support.h ++++ src/third_party/gperftools-2.2/src/base/linux_syscall_support.h +@@ -83,7 +83,6 @@ + * sys_fcntl( + * sys_fstat( + * sys_futex( +- * sys_futex1( + * sys_getcpu( + * sys_getdents64( + * sys_getppid( +diff --git src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h +index 86d4d04..aadf62a 100644 +--- src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h ++++ src/third_party/gperftools-2.2/src/base/spinlock_linux-inl.h +@@ -51,15 +51,10 @@ static struct InitModule { + int x = 0; + // futexes are ints, so we can use them only when + // that's the same size as the lockword_ in SpinLock. +-#ifdef __arm__ +- // ARM linux doesn't support sys_futex1(void*, int, int, struct timespec*); +- have_futex = 0; +-#else + have_futex = (sizeof (Atomic32) == sizeof (int) && +- sys_futex(&x, FUTEX_WAKE, 1, 0) >= 0); +-#endif ++ sys_futex(&x, FUTEX_WAKE, 1, NULL, NULL, 0) >= 0); + if (have_futex && +- sys_futex(&x, FUTEX_WAKE | futex_private_flag, 1, 0) < 0) { ++ sys_futex(&x, FUTEX_WAKE | futex_private_flag, 1, NULL, NULL, 0) < 0) { + futex_private_flag = 0; + } + } +@@ -85,7 +80,8 @@ void SpinLockDelay(volatile Atomic32 *w, int32 value, int loop) { + tm.tv_nsec *= 16; // increase the delay; we expect explicit wakeups + sys_futex(reinterpret_cast(const_cast(w)), + FUTEX_WAIT | futex_private_flag, +- value, reinterpret_cast(&tm)); ++ value, reinterpret_cast(&tm), ++ NULL, 0); + } else { + nanosleep(&tm, NULL); + } +@@ -96,7 +92,8 @@ void SpinLockDelay(volatile Atomic32 *w, int32 value, int loop) { + void SpinLockWake(volatile Atomic32 *w, bool all) { + if (have_futex) { + sys_futex(reinterpret_cast(const_cast(w)), +- FUTEX_WAKE | futex_private_flag, all? INT_MAX : 1, 0); ++ FUTEX_WAKE | futex_private_flag, all? INT_MAX : 1, ++ NULL, NULL, 0); + } + } + +-- +2.6.4 + diff --git a/srcpkgs/mongodb/patches/mozjs-platform-support-for-ARM.patch b/srcpkgs/mongodb/patches/mozjs-platform-support-for-ARM.patch new file mode 100644 index 00000000000..bc3ddaed096 --- /dev/null +++ b/srcpkgs/mongodb/patches/mozjs-platform-support-for-ARM.patch @@ -0,0 +1,2062 @@ +From 4650273f5da1d94527cbe3017b1bcb6c7e612a2a Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Tue, 15 Dec 2015 17:34:20 -0700 +Subject: [PATCH 1/5] mozjs platform support for ARM + +--- + .../arm/linux/build/Unified_cpp_js_src0.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src1.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src10.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src11.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src12.cpp | 28 ++++ + .../arm/linux/build/Unified_cpp_js_src2.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src3.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src4.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src5.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src6.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src7.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src8.cpp | 145 +++++++++++++++++++++ + .../arm/linux/build/Unified_cpp_js_src9.cpp | 145 +++++++++++++++++++++ + .../platform/arm/linux/build/js-confdefs.h | 91 +++++++++++++ + .../platform/arm/linux/include/js-config.h | 59 +++++++++ + 15 files changed, 1918 insertions(+) + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src0.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src1.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src10.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src11.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src12.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src2.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src3.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src4.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src5.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src6.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src7.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src8.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src9.cpp + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/build/js-confdefs.h + create mode 100644 src/third_party/mozjs-38/platform/arm/linux/include/js-config.h + +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src0.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src0.cpp +new file mode 100644 +index 0000000..a99a42b +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src0.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "asmjs/AsmJSFrameIterator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "asmjs/AsmJSFrameIterator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "asmjs/AsmJSFrameIterator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "asmjs/AsmJSLink.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "asmjs/AsmJSLink.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "asmjs/AsmJSLink.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "asmjs/AsmJSModule.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "asmjs/AsmJSModule.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "asmjs/AsmJSModule.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "asmjs/AsmJSSignalHandlers.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "asmjs/AsmJSSignalHandlers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "asmjs/AsmJSSignalHandlers.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "asmjs/AsmJSValidate.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "asmjs/AsmJSValidate.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "asmjs/AsmJSValidate.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/AtomicsObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/AtomicsObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/AtomicsObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/Eval.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/Eval.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/Eval.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/Intl.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/Intl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/Intl.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/MapObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/MapObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/MapObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/Object.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/Object.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/Object.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/Profilers.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/Profilers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/Profilers.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/SIMD.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/SIMD.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/SIMD.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/SymbolObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/SymbolObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/SymbolObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/TestingFunctions.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/TestingFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/TestingFunctions.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/TypedObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/TypedObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/TypedObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "builtin/WeakSetObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "builtin/WeakSetObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "builtin/WeakSetObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src1.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src1.cpp +new file mode 100644 +index 0000000..b4987b9 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src1.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "devtools/sharkctl.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "devtools/sharkctl.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "devtools/sharkctl.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "ds/LifoAlloc.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "ds/LifoAlloc.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "ds/LifoAlloc.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/BytecodeCompiler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/BytecodeCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/BytecodeCompiler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/BytecodeEmitter.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/BytecodeEmitter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/BytecodeEmitter.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/FoldConstants.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/FoldConstants.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/FoldConstants.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/NameFunctions.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/NameFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/NameFunctions.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/ParseMaps.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/ParseMaps.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/ParseMaps.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/ParseNode.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/ParseNode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/ParseNode.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "frontend/TokenStream.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "frontend/TokenStream.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "frontend/TokenStream.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Barrier.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Barrier.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Barrier.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/GCTrace.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/GCTrace.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/GCTrace.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Iteration.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Iteration.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Iteration.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Marking.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Marking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Marking.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Memory.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Memory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Memory.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Nursery.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Nursery.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Nursery.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/RootMarking.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/RootMarking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/RootMarking.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src10.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src10.cpp +new file mode 100644 +index 0000000..18a9d68 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src10.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "vm/HelperThreads.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/HelperThreads.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/HelperThreads.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Id.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Id.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Id.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Interpreter.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Interpreter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Interpreter.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/JSONParser.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/JSONParser.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/JSONParser.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/MemoryMetrics.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/MemoryMetrics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/MemoryMetrics.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Monitor.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Monitor.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Monitor.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/NativeObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/NativeObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/NativeObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ObjectGroup.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ObjectGroup.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ObjectGroup.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/PIC.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/PIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/PIC.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/PosixNSPR.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/PosixNSPR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/PosixNSPR.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Probes.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Probes.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Probes.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ProxyObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ProxyObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ProxyObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/RegExpObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/RegExpObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/RegExpObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/RegExpStatics.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/RegExpStatics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/RegExpStatics.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Runtime.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Runtime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Runtime.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/SPSProfiler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/SPSProfiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/SPSProfiler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src11.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src11.cpp +new file mode 100644 +index 0000000..d0c2794 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src11.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "vm/SavedStacks.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/SavedStacks.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/SavedStacks.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ScopeObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ScopeObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ScopeObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/SelfHosting.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/SelfHosting.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/SelfHosting.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Shape.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Shape.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Shape.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/SharedArrayObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/SharedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/SharedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/SharedTypedArrayObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/SharedTypedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/SharedTypedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Stack.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Stack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Stack.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/String.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/String.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/String.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/StringBuffer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/StringBuffer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/StringBuffer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/StructuredClone.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/StructuredClone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/StructuredClone.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Symbol.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Symbol.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Symbol.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/TypeInference.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/TypeInference.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/TypeInference.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/TypedArrayObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/TypedArrayObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/TypedArrayObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/UbiNode.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/UbiNode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/UbiNode.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/UnboxedObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/UnboxedObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/UnboxedObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Unicode.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Unicode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Unicode.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src12.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src12.cpp +new file mode 100644 +index 0000000..e976e6b +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src12.cpp +@@ -0,0 +1,28 @@ ++#define MOZ_UNIFIED_BUILD ++#include "vm/Value.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Value.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Value.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/WeakMapPtr.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/WeakMapPtr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/WeakMapPtr.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Xdr.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Xdr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Xdr.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src2.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src2.cpp +new file mode 100644 +index 0000000..49a7d4b +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src2.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "gc/Statistics.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Statistics.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Statistics.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/StoreBuffer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/StoreBuffer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/StoreBuffer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Tracer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Tracer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Tracer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Verifier.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Verifier.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Verifier.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "gc/Zone.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "gc/Zone.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "gc/Zone.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/NativeRegExpMacroAssembler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/NativeRegExpMacroAssembler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/NativeRegExpMacroAssembler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/RegExpAST.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/RegExpAST.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/RegExpAST.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/RegExpEngine.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/RegExpEngine.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/RegExpEngine.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/RegExpInterpreter.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/RegExpInterpreter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/RegExpInterpreter.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/RegExpMacroAssembler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/RegExpMacroAssembler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/RegExpMacroAssembler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/RegExpParser.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/RegExpParser.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/RegExpParser.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "irregexp/RegExpStack.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "irregexp/RegExpStack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "irregexp/RegExpStack.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/AliasAnalysis.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/AliasAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/AliasAnalysis.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BacktrackingAllocator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BacktrackingAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BacktrackingAllocator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Bailouts.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Bailouts.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Bailouts.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineBailouts.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineBailouts.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineBailouts.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src3.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src3.cpp +new file mode 100644 +index 0000000..ef7b514 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src3.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "jit/BaselineCompiler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineCompiler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineCompiler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineDebugModeOSR.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineDebugModeOSR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineDebugModeOSR.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineFrame.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineFrame.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineFrameInfo.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineFrameInfo.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineFrameInfo.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineIC.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineIC.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineIC.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineInspector.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineInspector.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineInspector.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BaselineJIT.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BaselineJIT.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BaselineJIT.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BitSet.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BitSet.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BitSet.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/BytecodeAnalysis.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/BytecodeAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/BytecodeAnalysis.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/C1Spewer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/C1Spewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/C1Spewer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/CodeGenerator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/CodeGenerator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/CodeGenerator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/CompileWrappers.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/CompileWrappers.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/CompileWrappers.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Disassembler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Disassembler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Disassembler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/EdgeCaseAnalysis.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/EdgeCaseAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/EdgeCaseAnalysis.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/EffectiveAddressAnalysis.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/EffectiveAddressAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/EffectiveAddressAnalysis.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/ExecutableAllocator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/ExecutableAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/ExecutableAllocator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src4.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src4.cpp +new file mode 100644 +index 0000000..6c18e01 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src4.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "jit/Ion.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Ion.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Ion.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/IonAnalysis.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/IonAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/IonAnalysis.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/IonBuilder.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/IonBuilder.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/IonBuilder.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/IonCaches.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/IonCaches.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/IonCaches.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/IonOptimizationLevels.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/IonOptimizationLevels.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/IonOptimizationLevels.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/JSONSpewer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/JSONSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/JSONSpewer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/JitFrames.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/JitFrames.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/JitFrames.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/JitOptions.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/JitOptions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/JitOptions.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/JitSpewer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/JitSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/JitSpewer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/JitcodeMap.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/JitcodeMap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/JitcodeMap.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/LICM.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/LICM.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/LICM.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/LIR.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/LIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/LIR.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/LinearScan.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/LinearScan.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/LinearScan.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/LiveRangeAllocator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/LiveRangeAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/LiveRangeAllocator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/LoopUnroller.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/LoopUnroller.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/LoopUnroller.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Lowering.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Lowering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Lowering.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src5.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src5.cpp +new file mode 100644 +index 0000000..9f53c22 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src5.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "jit/MCallOptimize.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/MCallOptimize.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/MCallOptimize.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/MIR.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/MIR.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/MIR.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/MIRGraph.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/MIRGraph.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/MIRGraph.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/MacroAssembler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/MacroAssembler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/MacroAssembler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/MoveResolver.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/MoveResolver.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/MoveResolver.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/OptimizationTracking.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/OptimizationTracking.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/OptimizationTracking.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/PerfSpewer.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/PerfSpewer.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/PerfSpewer.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/RangeAnalysis.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/RangeAnalysis.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/RangeAnalysis.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Recover.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Recover.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Recover.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/RegisterAllocator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/RegisterAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/RegisterAllocator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/RematerializedFrame.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/RematerializedFrame.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/RematerializedFrame.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Safepoints.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Safepoints.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Safepoints.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/ScalarReplacement.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/ScalarReplacement.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/ScalarReplacement.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Sink.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Sink.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Sink.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/Snapshots.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/Snapshots.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/Snapshots.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/StupidAllocator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/StupidAllocator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/StupidAllocator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src6.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src6.cpp +new file mode 100644 +index 0000000..93f0de7 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src6.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "jit/TypePolicy.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/TypePolicy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/TypePolicy.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/TypedObjectPrediction.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/TypedObjectPrediction.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/TypedObjectPrediction.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/VMFunctions.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/VMFunctions.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/VMFunctions.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/ValueNumbering.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/ValueNumbering.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/ValueNumbering.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/Architecture-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/Architecture-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/Architecture-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/Assembler-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/Assembler-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/Assembler-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/Bailouts-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/Bailouts-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/Bailouts-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/BaselineCompiler-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/BaselineCompiler-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/BaselineCompiler-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/BaselineIC-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/BaselineIC-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/BaselineIC-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/CodeGenerator-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/CodeGenerator-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/CodeGenerator-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/Lowering-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/Lowering-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/Lowering-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/MacroAssembler-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/MacroAssembler-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/MacroAssembler-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/MoveEmitter-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/MoveEmitter-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/MoveEmitter-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/arm/Trampoline-arm.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/arm/Trampoline-arm.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/arm/Trampoline-arm.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/shared/BaselineCompiler-shared.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/shared/BaselineCompiler-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/shared/BaselineCompiler-shared.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jit/shared/CodeGenerator-shared.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/shared/CodeGenerator-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/shared/CodeGenerator-shared.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src7.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src7.cpp +new file mode 100644 +index 0000000..7608496 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src7.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "jit/shared/Lowering-shared.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jit/shared/Lowering-shared.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jit/shared/Lowering-shared.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsalloc.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsalloc.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsalloc.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsapi.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsapi.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsapi.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsbool.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsbool.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsbool.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jscntxt.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jscntxt.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jscntxt.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jscompartment.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jscompartment.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jscompartment.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsdate.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsdate.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsdate.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsdtoa.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsdtoa.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsdtoa.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsexn.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsexn.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsexn.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsfriendapi.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsfriendapi.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsfriendapi.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsfun.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsfun.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsfun.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsgc.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsgc.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsgc.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsiter.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsiter.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsiter.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsnativestack.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsnativestack.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsnativestack.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsnum.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsnum.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsnum.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsobj.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsobj.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsobj.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src8.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src8.cpp +new file mode 100644 +index 0000000..b1a326f +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src8.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "json.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "json.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "json.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsopcode.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsopcode.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsopcode.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsprf.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsprf.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsprf.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jspropertytree.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jspropertytree.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jspropertytree.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsreflect.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsreflect.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsreflect.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsscript.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsscript.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsscript.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsstr.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsstr.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsstr.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jswatchpoint.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jswatchpoint.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jswatchpoint.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "jsweakmap.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "jsweakmap.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "jsweakmap.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "perf/jsperf.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "perf/jsperf.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "perf/jsperf.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "prmjtime.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "prmjtime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "prmjtime.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/BaseProxyHandler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/BaseProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/BaseProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/CrossCompartmentWrapper.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/CrossCompartmentWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/CrossCompartmentWrapper.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/DeadObjectProxy.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/DeadObjectProxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/DeadObjectProxy.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/DirectProxyHandler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/DirectProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/DirectProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/Proxy.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/Proxy.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/Proxy.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src9.cpp src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src9.cpp +new file mode 100644 +index 0000000..a2ca6f2 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/Unified_cpp_js_src9.cpp +@@ -0,0 +1,145 @@ ++#define MOZ_UNIFIED_BUILD ++#include "proxy/ScriptedDirectProxyHandler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/ScriptedDirectProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/ScriptedDirectProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/ScriptedIndirectProxyHandler.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/ScriptedIndirectProxyHandler.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/ScriptedIndirectProxyHandler.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/SecurityWrapper.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/SecurityWrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/SecurityWrapper.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "proxy/Wrapper.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "proxy/Wrapper.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "proxy/Wrapper.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ArgumentsObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ArgumentsObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ArgumentsObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ArrayBufferObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ArrayBufferObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ArrayBufferObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/CallNonGenericMethod.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/CallNonGenericMethod.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/CallNonGenericMethod.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/CharacterEncoding.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/CharacterEncoding.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/CharacterEncoding.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Compression.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Compression.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Compression.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/DateTime.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/DateTime.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/DateTime.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/Debugger.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/Debugger.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/Debugger.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/DebuggerMemory.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/DebuggerMemory.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/DebuggerMemory.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ErrorObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ErrorObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ErrorObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/ForOfIterator.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/ForOfIterator.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/ForOfIterator.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/GeneratorObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/GeneratorObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/GeneratorObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif ++#include "vm/GlobalObject.cpp" ++#ifdef PL_ARENA_CONST_ALIGN_MASK ++#error "vm/GlobalObject.cpp uses PL_ARENA_CONST_ALIGN_MASK, so it cannot be built in unified mode." ++#undef PL_ARENA_CONST_ALIGN_MASK ++#endif ++#ifdef INITGUID ++#error "vm/GlobalObject.cpp defines INITGUID, so it cannot be built in unified mode." ++#undef INITGUID ++#endif +\ No newline at end of file +diff --git src/third_party/mozjs-38/platform/arm/linux/build/js-confdefs.h src/third_party/mozjs-38/platform/arm/linux/build/js-confdefs.h +new file mode 100644 +index 0000000..e709ed2 +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/build/js-confdefs.h +@@ -0,0 +1,91 @@ ++/* List of defines generated by configure. Included with preprocessor flag, ++ * -include, to avoid long list of -D defines on the compile command-line. ++ * Do not edit. ++ */ ++ ++#ifndef js_confdefs_h ++#define js_confdefs_h ++ ++#define BUILD_ARM_NEON 1 ++#define CPP_THROW_NEW throw() ++#define D_INO d_ino ++#define EDITLINE 1 ++#define HAVE_ACOSH 1 ++#define HAVE_ARM_NEON 1 ++#define HAVE_ARM_SIMD 1 ++#define HAVE_ASINH 1 ++#define HAVE_ATANH 1 ++#define HAVE_CBRT 1 ++#define HAVE_CPP_AMBIGUITY_RESOLVING_USING 1 ++#define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1 ++#define HAVE_DIRENT_H 1 ++#define HAVE_DLOPEN 1 ++#define HAVE_ENDIAN_H 1 ++#define HAVE_EXPM1 1 ++#define HAVE_GETC_UNLOCKED 1 ++#define HAVE_GETOPT_H 1 ++#define HAVE_GMTIME_R 1 ++#define HAVE_GNU_LIBC_VERSION_H 1 ++#define HAVE_I18N_LC_MESSAGES 1 ++#define HAVE_LANGINFO_CODESET 1 ++#define HAVE_LIBM 1 ++#define HAVE_LINUX_QUOTA_H 1 ++#define HAVE_LOCALECONV 1 ++#define HAVE_LOCALECONV 1 ++#define HAVE_LOCALTIME_R 1 ++#define HAVE_LOG1P 1 ++#define HAVE_LOG2 1 ++#define HAVE_MALLOC_H 1 ++#define HAVE_MALLOC_USABLE_SIZE 1 ++#define HAVE_MBRTOWC 1 ++#define HAVE_MEMORY_H 1 ++#define HAVE_NL_TYPES_H 1 ++#define HAVE_POSIX_FADVISE 1 ++#define HAVE_POSIX_FALLOCATE 1 ++#define HAVE_RES_NINIT 1 ++#define HAVE_SETLOCALE 1 ++#define HAVE_SSIZE_T 1 ++#define HAVE_SYS_BITYPES_H 1 ++#define HAVE_SYS_CDEFS_H 1 ++#define HAVE_SYS_MOUNT_H 1 ++#define HAVE_SYS_QUOTA_H 1 ++#define HAVE_SYS_STATFS_H 1 ++#define HAVE_SYS_STATVFS_H 1 ++#define HAVE_SYS_VFS_H 1 ++#define HAVE_THREAD_TLS_KEYWORD 1 ++#define HAVE_TM_ZONE_TM_GMTOFF 1 ++#define HAVE_TRUNC 1 ++#define HAVE_UNISTD_H 1 ++#define HAVE_VA_COPY 1 ++#define HAVE_VISIBILITY_ATTRIBUTE 1 ++#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1 ++#define HAVE_WCRTOMB 1 ++#define HAVE___CXA_DEMANGLE 1 ++#define JS_CODEGEN_ARM 1 ++#define JS_CPU_ARM 1 ++#define JS_DEFAULT_JITREPORT_GRANULARITY 3 ++#define JS_HAVE_ENDIAN_H 1 ++#define JS_NUNBOX32 1 ++#define JS_POSIX_NSPR 1 ++#define JS_STANDALONE 1 ++#define MALLOC_H ++#define MOZILLA_UAVERSION "38.0" ++#define MOZILLA_VERSION "38.4.0" ++#define MOZILLA_VERSION_U 38.4.0 ++#define MOZJS_MAJOR_VERSION 38 ++#define MOZJS_MINOR_VERSION 4 ++#define MOZ_DEBUG_SYMBOLS 1 ++#define MOZ_DLL_SUFFIX ".so" ++#define MOZ_UPDATE_CHANNEL default ++#define NS_ATTR_MALLOC __attribute__((malloc)) ++#define NS_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) ++#define RELEASE_BUILD 1 ++#define STDC_HEADERS 1 ++#define VA_COPY va_copy ++#define XP_UNIX 1 ++#define X_DISPLAY_MISSING 1 ++#define _REENTRANT 1 ++ ++#include "js/RequiredDefines.h" ++ ++#endif /* js_confdefs_h */ +diff --git src/third_party/mozjs-38/platform/arm/linux/include/js-config.h src/third_party/mozjs-38/platform/arm/linux/include/js-config.h +new file mode 100644 +index 0000000..9ab842f +--- /dev/null ++++ src/third_party/mozjs-38/platform/arm/linux/include/js-config.h +@@ -0,0 +1,59 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- ++ * vim: set ts=8 sw=4 et tw=78: ++ * ++ * 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 js_config_h ++#define js_config_h ++ ++/* Definitions set at build time that affect SpiderMonkey's public API. ++ This header file is generated by the SpiderMonkey configure script, ++ and installed along with jsapi.h. */ ++ ++/* Define to 1 if SpiderMonkey is in debug mode. */ ++/* #undef JS_DEBUG */ ++ ++/* Define to 1 if SpiderMonkey should not use struct types in debug builds. */ ++/* #undef JS_NO_JSVAL_JSID_STRUCT_TYPES */ ++ ++/* Define to 1 if SpiderMonkey should support multi-threaded clients. */ ++/* #undef JS_THREADSAFE */ ++ ++/* Define to 1 if SpiderMonkey should include ctypes support. */ ++/* #undef JS_HAS_CTYPES */ ++ ++/* Define to 1 if SpiderMonkey should support the ability to perform ++ entirely too much GC. */ ++/* #undef JS_GC_ZEAL */ ++ ++/* Define to 1 if SpiderMonkey should use small chunks. */ ++/* #undef JS_GC_SMALL_CHUNK_SIZE */ ++ ++/* Define to 1 to perform extra assertions and heap poisoning. */ ++/* #undef JS_CRASH_DIAGNOSTICS */ ++ ++/* Define to 1 if the header is present and ++ useable. See jscpucfg.h. */ ++#define JS_HAVE_ENDIAN_H 1 ++ ++/* Define to 1 if the header is present and ++ useable. See jscpucfg.h. */ ++/* #undef JS_HAVE_MACHINE_ENDIAN_H */ ++ ++/* Define to 1 if the header is present and ++ useable. See jscpucfg.h. */ ++/* #undef JS_HAVE_SYS_ISA_DEFS_H */ ++ ++/* Define to 1 if SpiderMonkey is in NUNBOX32 mode. */ ++#define JS_NUNBOX32 1 ++ ++/* Define to 1 if SpiderMonkey is in PUNBOX64 mode. */ ++/* #undef JS_PUNBOX64 */ ++ ++/* MOZILLA JSAPI version number components */ ++#define MOZJS_MAJOR_VERSION 38 ++#define MOZJS_MINOR_VERSION 4 ++ ++#endif /* js_config_h */ +-- +2.6.4 + diff --git a/srcpkgs/mongodb/patches/use-gnu-11-instead-of-c-11.patch b/srcpkgs/mongodb/patches/use-gnu-11-instead-of-c-11.patch new file mode 100644 index 00000000000..1a054ce2bcd --- /dev/null +++ b/srcpkgs/mongodb/patches/use-gnu-11-instead-of-c-11.patch @@ -0,0 +1,26 @@ +From 4ed0f5103bd25f5bdaca5b11bb69e87cd9746f9f Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Sun, 27 Dec 2015 09:13:09 -0700 +Subject: [PATCH 4/5] use gnu++11 instead of c++11 + +--- + src/third_party/gperftools-2.2/SConscript | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git src/third_party/gperftools-2.2/SConscript src/third_party/gperftools-2.2/SConscript +index 2948eaa..f6d5c9e 100644 +--- src/third_party/gperftools-2.2/SConscript ++++ src/third_party/gperftools-2.2/SConscript +@@ -102,6 +102,9 @@ def removeIfPresent(lst, item): + for to_remove in ['-Werror', "-Wsign-compare","-Wall"]: + removeIfPresent(env['CCFLAGS'], to_remove) + ++removeIfPresent(env['CXXFLAGS'], "-std=c++11") ++env.Append( CXXFLAGS=["-std=gnu++11"] ) ++ + env.Library( + target='tcmalloc_minimal', + source=files, +-- +2.6.4 + diff --git a/srcpkgs/mongodb/template b/srcpkgs/mongodb/template index 7a87888ed07..0868a8aa75a 100644 --- a/srcpkgs/mongodb/template +++ b/srcpkgs/mongodb/template @@ -1,7 +1,7 @@ # Template file for 'mongodb' pkgname=mongodb version=3.2.0 -revision=3 +revision=4 hostmakedepends="scons" makedepends="boost-devel pcre-devel snappy-devel libressl-devel libpcap-devel gperftools-devel libsasl-devel yaml-cpp-devel valgrind-devel" @@ -29,12 +29,13 @@ _scons_args=" --use-system-boost \ --nostrip \ --disable-warnings-as-errors" case "$XBPS_TARGET_MACHINE" in - i686*) _scons_args+=" --wiredtiger=off";; + x86_64*|aarch64*) _scons_args+=" --wiredtiger=on";; + *) _scons_args+=" --wiredtiger=off";; esac # ETOOHUGE nodebug=1 -nocross="http://build.voidlinux.eu/builders/armv7l_builder/builds/10684/steps/shell_3/logs/stdio" +#nocross="http://build.voidlinux.eu/builders/armv7l_builder/builds/10684/steps/shell_3/logs/stdio" do_configure() { find . -name SConstruct -print0 | xargs -0 sed -i "s/-Werror/-Wno-error/g"