aboutsummaryrefslogtreecommitdiff
path: root/databases/mongodb42
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2020-11-25 16:58:19 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2020-11-25 16:58:19 +0000
commit01c8a66438f8bf4206472f1d094d309a354fd3df (patch)
treeaf800029cc147897e437761ee2d1a4f42b619fda /databases/mongodb42
parent17194f8621f7e61efca65f0c6183c1b968bf0806 (diff)
downloadports-01c8a66438f8bf4206472f1d094d309a354fd3df.tar.gz
ports-01c8a66438f8bf4206472f1d094d309a354fd3df.zip
databases/mongodb42: backport powerpc64le support to 42
Notes
Notes: svn path=/head/; revision=556297
Diffstat (limited to 'databases/mongodb42')
-rw-r--r--databases/mongodb42/Makefile7
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp13
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_gen-config.sh24
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src0.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src1.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src10.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src11.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src12.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src13.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src14.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src15.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src16.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src17.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src18.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src19.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src2.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src20.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src21.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src22.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src23.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src24.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src25.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src26.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src27.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src28.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src29.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src3.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src30.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src31.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src32.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src33.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src34.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src35.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src36.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src37.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src38.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src39.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src4.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src40.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src41.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src42.cpp23
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src5.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src6.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src7.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src8.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src9.cpp59
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_js-confdefs.h81
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_include_js-config.h64
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_dist_filelist11
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_crc32.S14
-rw-r--r--databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_ppc-asm.h393
51 files changed, 3106 insertions, 2 deletions
diff --git a/databases/mongodb42/Makefile b/databases/mongodb42/Makefile
index 59385f96a49c..11e4e748f6f4 100644
--- a/databases/mongodb42/Makefile
+++ b/databases/mongodb42/Makefile
@@ -73,8 +73,8 @@ SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS=""
SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment "
.endif
-.if ${ARCH} == aarch64
-EXTRA_PATCHES= ${FILESDIR}/aarch64
+.if ${ARCH} == aarch64 || ${ARCH} == powerpc64le
+EXTRA_PATCHES= ${FILESDIR}/${ARCH}
.endif
ALL_TARGET= core
@@ -83,6 +83,9 @@ PORTSCOUT= limitw:1,even
CPE_PRODUCT= mongodb
+pre-patch:
+ ${MV} ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.sx ${WRKSRC}/src/third_party/wiredtiger/src/checksum/power8/crc32.S
+
post-install:
.for f in mongo mongod mongos
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp
new file mode 100644
index 000000000000..7041fb8157a7
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_extract_js_src_wasm_WasmSignalHandlers.cpp
@@ -0,0 +1,13 @@
+--- src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp.orig 2020-11-24 21:49:40 UTC
++++ src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp
+@@ -263,6 +263,10 @@ struct AutoSignalHandler
+ # define EPC_sig(p) ((p)->uc_mcontext.mc_pc)
+ # define RFP_sig(p) ((p)->uc_mcontext.mc_regs[30])
+ # endif
++# if defined(__FreeBSD__) && defined(__powerpc64__)
++# define R01_sig(p) ((p)->uc_mcontext.mc_frame[1])
++# define R32_sig(p) ((p)->uc_mcontext.mc_srr0)
++# endif
+ #elif defined(XP_DARWIN)
+ # define EIP_sig(p) ((p)->uc_mcontext->__ss.__eip)
+ # define EBP_sig(p) ((p)->uc_mcontext->__ss.__ebp)
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_gen-config.sh b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_gen-config.sh
new file mode 100644
index 000000000000..046501068238
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_gen-config.sh
@@ -0,0 +1,24 @@
+--- src/third_party/mozjs-60/gen-config.sh.orig 2020-11-25 13:19:42 UTC
++++ src/third_party/mozjs-60/gen-config.sh
+@@ -31,6 +31,9 @@ case "$_Path" in
+ "platform/aarch64/linux")
+ _CONFIG_OPTS="--host=aarch64-linux"
+ ;;
++ "platform/ppc64le/freebsd")
++ _CONFIG_OPTS="--host=ppc64le-freebsd"
++ ;;
+ "platform/ppc64le/linux")
+ _CONFIG_OPTS="--host=ppc64le-linux"
+ ;;
+@@ -82,9 +85,9 @@ esac
+ cd mozilla-release/js/src
+ rm config.cache || true
+
+-PYTHON=python ./configure --without-intl-api --enable-posix-nspr-emulation --disable-trace-logging --disable-js-shell --disable-tests "$_CONFIG_OPTS"
++PYTHON=python2.7 ./configure --without-intl-api --enable-posix-nspr-emulation --disable-trace-logging --disable-js-shell --disable-tests "$_CONFIG_OPTS"
+
+-make recurse_export
++gmake recurse_export
+
+ cd ../../..
+
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src0.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src0.cpp
new file mode 100644
index 000000000000..e98d92ce22e3
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src0.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src0.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src0.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/DataViewObject.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/DataViewObject.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/DataViewObject.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/JSON.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/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 "builtin/JSON.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/ModuleObject.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/ModuleObject.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/ModuleObject.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src1.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src1.cpp
new file mode 100644
index 000000000000..73a4afcb3c5b
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src1.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src1.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src1.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/Promise.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/Promise.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/Promise.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/Reflect.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/Reflect.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/Reflect.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/ReflectParse.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/ReflectParse.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/ReflectParse.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src10.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src10.cpp
new file mode 100644
index 000000000000..ac0b01bf919c
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src10.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src10.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src10.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/AliasAnalysisShared.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/AliasAnalysisShared.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/AliasAnalysisShared.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/AlignmentMaskAnalysis.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/AlignmentMaskAnalysis.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/AlignmentMaskAnalysis.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src11.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src11.cpp
new file mode 100644
index 000000000000..0fd01bd3892d
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src11.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src11.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src11.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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
++#include "jit/BaselineCacheIRCompiler.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/BaselineCacheIRCompiler.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/BaselineCacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src12.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src12.cpp
new file mode 100644
index 000000000000..f5c544cfec07
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src12.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src12.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src12.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src13.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src13.cpp
new file mode 100644
index 000000000000..f0a2c6fc3965
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src13.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src13.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src13.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/CacheIR.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/CacheIR.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/CacheIR.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/CacheIRCompiler.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/CacheIRCompiler.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/CacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/CacheIRSpewer.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/CacheIRSpewer.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/CacheIRSpewer.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src14.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src14.cpp
new file mode 100644
index 000000000000..ca5e42d58f62
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src14.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src14.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src14.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/EagerSimdUnbox.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/EagerSimdUnbox.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/EagerSimdUnbox.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
++#include "jit/FlowAliasAnalysis.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/FlowAliasAnalysis.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/FlowAliasAnalysis.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src15.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src15.cpp
new file mode 100644
index 000000000000..a15d8fb5f012
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src15.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src15.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src15.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "jit/FoldLinearArithConstants.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/FoldLinearArithConstants.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/FoldLinearArithConstants.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/InstructionReordering.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/InstructionReordering.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/InstructionReordering.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#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/IonCacheIRCompiler.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/IonCacheIRCompiler.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/IonCacheIRCompiler.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src16.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src16.cpp
new file mode 100644
index 000000000000..b8e483979145
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src16.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src16.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src16.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "jit/IonControlFlow.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/IonControlFlow.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/IonControlFlow.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/IonIC.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/IonIC.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/IonIC.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/JSJitFrameIter.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/JSJitFrameIter.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/JSJitFrameIter.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/Jit.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/Jit.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/Jit.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src17.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src17.cpp
new file mode 100644
index 000000000000..3b604bf23e19
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src17.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src17.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src17.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src18.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src18.cpp
new file mode 100644
index 000000000000..7b9b354581de
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src18.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src18.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src18.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "jit/Linker.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/Linker.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/Linker.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
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src19.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src19.cpp
new file mode 100644
index 000000000000..f67b77e0a7b3
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src19.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src19.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src19.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/ProcessExecutableMemory.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/ProcessExecutableMemory.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/ProcessExecutableMemory.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src2.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src2.cpp
new file mode 100644
index 000000000000..48af4435ee55
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src2.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src2.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src2.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "builtin/Stream.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/Stream.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/Stream.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/String.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/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 "builtin/String.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/Symbol.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/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 "builtin/Symbol.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/WeakMapObject.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/WeakMapObject.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/WeakMapObject.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src20.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src20.cpp
new file mode 100644
index 000000000000..886f831e464d
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src20.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src20.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src20.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/SharedIC.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/SharedIC.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/SharedIC.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src21.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src21.cpp
new file mode 100644
index 000000000000..2f70a4a54368
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src21.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src21.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src21.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src22.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src22.cpp
new file mode 100644
index 000000000000..c4b342f141d0
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src22.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src22.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src22.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/WasmBCE.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/WasmBCE.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/WasmBCE.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/none/Trampoline-none.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/none/Trampoline-none.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/none/Trampoline-none.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "jit/shared/Assembler-shared.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/shared/Assembler-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/Assembler-shared.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 a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src23.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src23.cpp
new file mode 100644
index 000000000000..d53f90d32a9b
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src23.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src23.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src23.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "jit/shared/Disassembler-shared.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "jit/shared/Disassembler-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/Disassembler-shared.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#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 "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 "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 "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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src24.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src24.cpp
new file mode 100644
index 000000000000..dc5fbe20141a
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src24.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src24.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src24.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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 "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 "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 "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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src25.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src25.cpp
new file mode 100644
index 000000000000..e1252834cbdf
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src25.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src25.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src25.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "proxy/OpaqueCrossCompartmentWrapper.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "proxy/OpaqueCrossCompartmentWrapper.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/OpaqueCrossCompartmentWrapper.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
++#include "proxy/ScriptedProxyHandler.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "proxy/ScriptedProxyHandler.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/ScriptedProxyHandler.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 "threading/Mutex.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "threading/Mutex.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 "threading/Mutex.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src26.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src26.cpp
new file mode 100644
index 000000000000..6797c9a971fb
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src26.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src26.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src26.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "threading/ProtectedData.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "threading/ProtectedData.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 "threading/ProtectedData.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "threading/posix/CpuCount.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "threading/posix/CpuCount.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 "threading/posix/CpuCount.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "threading/posix/Thread.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "threading/posix/Thread.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 "threading/posix/Thread.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "util/AllocPolicy.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "util/AllocPolicy.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 "util/AllocPolicy.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "util/NativeStack.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "util/NativeStack.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 "util/NativeStack.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "util/Printf.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "util/Printf.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 "util/Printf.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src27.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src27.cpp
new file mode 100644
index 000000000000..52810c7c9d69
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src27.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src27.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src27.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "util/StringBuffer.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "util/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 "util/StringBuffer.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "util/Text.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "util/Text.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 "util/Text.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "util/Unicode.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "util/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 "util/Unicode.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/AsyncFunction.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/AsyncFunction.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/AsyncFunction.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src28.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src28.cpp
new file mode 100644
index 000000000000..91be25909161
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src28.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src28.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src28.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "vm/AsyncIteration.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/AsyncIteration.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/AsyncIteration.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/BytecodeUtil.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/BytecodeUtil.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/BytecodeUtil.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/Caches.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Caches.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/Caches.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/CodeCoverage.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/CodeCoverage.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/CodeCoverage.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src29.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src29.cpp
new file mode 100644
index 000000000000..7aabe50eca82
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src29.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src29.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src29.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/EnvironmentObject.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/EnvironmentObject.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/EnvironmentObject.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src3.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src3.cpp
new file mode 100644
index 000000000000..6ee624b440ba
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src3.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src3.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src3.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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
++#include "builtin/intl/Collator.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/Collator.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/Collator.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/intl/CommonFunctions.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/CommonFunctions.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/CommonFunctions.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/intl/DateTimeFormat.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/DateTimeFormat.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/DateTimeFormat.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/intl/IntlObject.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/IntlObject.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/IntlObject.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/intl/NumberFormat.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/NumberFormat.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/NumberFormat.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src30.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src30.cpp
new file mode 100644
index 000000000000..ad2dbddad1d9
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src30.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src30.cpp.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src30.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "vm/ErrorReporting.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/ErrorReporting.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/ErrorReporting.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/GeckoProfiler.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/GeckoProfiler.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/GeckoProfiler.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
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src31.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src31.cpp
new file mode 100644
index 000000000000..b0767fabc340
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src31.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src31.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src31.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/Initialization.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Initialization.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/Initialization.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/Iteration.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/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 "vm/Iteration.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/JSCompartment.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/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 "vm/JSCompartment.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/JSContext.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/JSContext.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/JSContext.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/JSFunction.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/JSFunction.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/JSFunction.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src32.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src32.cpp
new file mode 100644
index 000000000000..29dea373c40d
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src32.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src32.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src32.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/JSONPrinter.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/JSONPrinter.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/JSONPrinter.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/JSObject.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/JSObject.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/JSObject.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/JSScript.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/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 "vm/JSScript.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/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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src33.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src33.cpp
new file mode 100644
index 000000000000..057cfb09434a
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src33.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src33.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src33.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/Printer.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Printer.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/Printer.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src34.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src34.cpp
new file mode 100644
index 000000000000..c1eba4e8d74f
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src34.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src34.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src34.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "vm/Realm.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Realm.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/Realm.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/ReceiverGuard.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/ReceiverGuard.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/ReceiverGuard.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/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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src35.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src35.cpp
new file mode 100644
index 000000000000..c097a69fc0b3
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src35.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src35.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src35.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "vm/Scope.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Scope.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/Scope.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/SharedImmutableStringsCache.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/SharedImmutableStringsCache.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/SharedImmutableStringsCache.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src36.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src36.cpp
new file mode 100644
index 000000000000..acffed21d717
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src36.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src36.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src36.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "vm/Stopwatch.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Stopwatch.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/Stopwatch.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/StringType.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/StringType.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/StringType.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/SymbolType.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/SymbolType.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/SymbolType.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/TaggedProto.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/TaggedProto.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/TaggedProto.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/Time.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/Time.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/Time.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src37.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src37.cpp
new file mode 100644
index 000000000000..bf5596c49070
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src37.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src37.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src37.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/UbiNodeCensus.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/UbiNodeCensus.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/UbiNodeCensus.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "vm/UbiNodeShortestPaths.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "vm/UbiNodeShortestPaths.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/UbiNodeShortestPaths.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src38.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src38.cpp
new file mode 100644
index 000000000000..68678ab7a5fd
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src38.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src38.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src38.cpp
+@@ -0,0 +1,55 @@
++#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/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
++#include "wasm/AsmJS.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/AsmJS.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 "wasm/AsmJS.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmBaselineCompile.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmBaselineCompile.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 "wasm/WasmBaselineCompile.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmBinaryIterator.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmBinaryIterator.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 "wasm/WasmBinaryIterator.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmBinaryToAST.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmBinaryToAST.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 "wasm/WasmBinaryToAST.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src39.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src39.cpp
new file mode 100644
index 000000000000..f5881eb0e9a0
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src39.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src39.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src39.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "wasm/WasmBinaryToText.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmBinaryToText.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 "wasm/WasmBinaryToText.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmBuiltins.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmBuiltins.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 "wasm/WasmBuiltins.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmCode.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmCode.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 "wasm/WasmCode.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmCompartment.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmCompartment.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 "wasm/WasmCompartment.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmCompile.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmCompile.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 "wasm/WasmCompile.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmDebug.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmDebug.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 "wasm/WasmDebug.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src4.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src4.cpp
new file mode 100644
index 000000000000..89b4a1b63ae1
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src4.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src4.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src4.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "builtin/intl/PluralRules.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/PluralRules.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/PluralRules.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/intl/RelativeTimeFormat.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/RelativeTimeFormat.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/RelativeTimeFormat.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "builtin/intl/SharedIntlData.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "builtin/intl/SharedIntlData.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/SharedIntlData.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#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/Bitmap.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "ds/Bitmap.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/Bitmap.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src40.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src40.cpp
new file mode 100644
index 000000000000..aa6405477bcd
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src40.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src40.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src40.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "wasm/WasmFrameIter.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmFrameIter.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 "wasm/WasmFrameIter.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmGenerator.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmGenerator.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 "wasm/WasmGenerator.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmInstance.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmInstance.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 "wasm/WasmInstance.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmIonCompile.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmIonCompile.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 "wasm/WasmIonCompile.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmJS.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmJS.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 "wasm/WasmJS.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmModule.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmModule.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 "wasm/WasmModule.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src41.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src41.cpp
new file mode 100644
index 000000000000..7c915d58149a
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src41.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src41.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src41.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "wasm/WasmProcess.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmProcess.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 "wasm/WasmProcess.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmSignalHandlers.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmSignalHandlers.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 "wasm/WasmSignalHandlers.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmStubs.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmStubs.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 "wasm/WasmStubs.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmTable.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmTable.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 "wasm/WasmTable.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmTextToBinary.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmTextToBinary.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 "wasm/WasmTextToBinary.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmTextUtils.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmTextUtils.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 "wasm/WasmTextUtils.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src42.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src42.cpp
new file mode 100644
index 000000000000..d2244553adb0
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src42.cpp
@@ -0,0 +1,23 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src42.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src42.cpp
+@@ -0,0 +1,19 @@
++#define MOZ_UNIFIED_BUILD
++#include "wasm/WasmTypes.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmTypes.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 "wasm/WasmTypes.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "wasm/WasmValidate.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "wasm/WasmValidate.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 "wasm/WasmValidate.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src5.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src5.cpp
new file mode 100644
index 000000000000..faf1d28cc02f
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src5.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src5.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src5.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#include "ds/MemoryProtectionExceptionHandler.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "ds/MemoryProtectionExceptionHandler.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/MemoryProtectionExceptionHandler.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/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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src6.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src6.cpp
new file mode 100644
index 000000000000..e8536a3bfefd
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src6.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src6.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src6.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/Allocator.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/Allocator.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/Allocator.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "gc/AtomMarking.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/AtomMarking.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/AtomMarking.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/GC.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/GC.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/GC.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src7.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src7.cpp
new file mode 100644
index 000000000000..daf3e28f9f1a
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src7.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src7.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src7.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/PublicIterators.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/PublicIterators.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/PublicIterators.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
++#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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src8.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src8.cpp
new file mode 100644
index 000000000000..bce289ac0055
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src8.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src8.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src8.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/WeakMap.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/WeakMap.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/WeakMap.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
++#include "gc/WeakMapPtr.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/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 "gc/WeakMapPtr.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 "gc/ZoneGroup.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "gc/ZoneGroup.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/ZoneGroup.cpp defines INITGUID, so it cannot be built in unified mode."
++#undef INITGUID
++#endif
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src9.cpp b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src9.cpp
new file mode 100644
index 000000000000..3db79fe94816
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_Unified__cpp__js__src9.cpp
@@ -0,0 +1,59 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src9.cpp.orig 2020-11-25 14:27:56 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/Unified_cpp_js_src9.cpp
+@@ -0,0 +1,55 @@
++#define MOZ_UNIFIED_BUILD
++#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/RegExpCharacters.cpp"
++#ifdef PL_ARENA_CONST_ALIGN_MASK
++#error "irregexp/RegExpCharacters.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/RegExpCharacters.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
+\ No newline at end of file
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_js-confdefs.h b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_js-confdefs.h
new file mode 100644
index 000000000000..dc00035b30ef
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_build_js-confdefs.h
@@ -0,0 +1,81 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/build/js-confdefs.h.orig 2020-11-25 14:27:55 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/build/js-confdefs.h
+@@ -0,0 +1,78 @@
++/* 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
++
++// Expands to all the defines from configure.
++#define CPP_THROW_NEW throw()
++#define CROSS_COMPILE
++#define EDITLINE 1
++#define HAVE_64BIT_BUILD 1
++#define HAVE_CLOCK_MONOTONIC 1
++#define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1
++#define HAVE_DIRENT_H 1
++#define HAVE_DLOPEN 1
++#define HAVE_GETC_UNLOCKED 1
++#define HAVE_GETOPT_H 1
++#define HAVE_GMTIME_R 1
++#define HAVE_INTTYPES_H 1
++#define HAVE_LANGINFO_CODESET 1
++#define HAVE_LIBM 1
++#define HAVE_LOCALECONV 1
++#define HAVE_LOCALTIME_R 1
++#define HAVE_MALLOC_H 1
++#define HAVE_MALLOC_USABLE_SIZE 1
++#define HAVE_MEMALIGN 1
++#define HAVE_NETINET_IN_H 1
++#define HAVE_NL_TYPES_H 1
++#define HAVE_POSIX_FADVISE 1
++#define HAVE_POSIX_FALLOCATE 1
++#define HAVE_POSIX_MEMALIGN 1
++#define HAVE_PTHREAD_GETNAME_NP 1
++#define HAVE_RES_NINIT 1
++#define HAVE_SINCOS 1
++#define HAVE_SSIZE_T 1
++#define HAVE_STDINT_H 1
++#define HAVE_STRNDUP 1
++#define HAVE_SYS_MOUNT_H 1
++#define HAVE_SYS_QUEUE_H 1
++#define HAVE_SYS_STATVFS_H 1
++#define HAVE_SYS_TYPES_H 1
++#define HAVE_THREAD_TLS_KEYWORD 1
++#define HAVE_TM_ZONE_TM_GMTOFF 1
++#define HAVE_UNISTD_H 1
++#define HAVE_VALLOC 1
++#define HAVE_VA_COPY 1
++#define HAVE_VISIBILITY_ATTRIBUTE 1
++#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
++#define HAVE___CXA_DEMANGLE 1
++#define JS_64BIT 1
++#define JS_CODEGEN_NONE 1
++#define JS_DEFAULT_JITREPORT_GRANULARITY 3
++#define JS_POSIX_NSPR 1
++#define JS_PUNBOX64 1
++#define JS_STANDALONE 1
++#define MALLOC_H <malloc.h>
++#define MALLOC_USABLE_SIZE_CONST_PTR const
++#define MOZILLA_UAVERSION "60.0"
++#define MOZILLA_VERSION "60.3.0"
++#define MOZILLA_VERSION_U 60.3.0
++#define MOZJS_MAJOR_VERSION 60
++#define MOZJS_MINOR_VERSION 3
++#define MOZ_BUILD_APP js
++#define MOZ_DLL_SUFFIX ".so"
++#define MOZ_UPDATE_CHANNEL default
++#define NO_NSPR_10_SUPPORT 1
++#define RELEASE_OR_BETA 1
++#define STDC_HEADERS 1
++#define VA_COPY va_copy
++#define XP_UNIX 1
++#define _REENTRANT 1
++#define _THREAD_SAFE 1
++
++#include "js/RequiredDefines.h"
++
++#endif /* js_confdefs_h */
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_include_js-config.h b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_include_js-config.h
new file mode 100644
index 000000000000..54067136fd77
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_mozjs-60_platform_ppc64le_freebsd_include_js-config.h
@@ -0,0 +1,64 @@
+--- src/third_party/mozjs-60/platform/ppc64le/freebsd/include/js-config.h.orig 2020-11-25 14:27:30 UTC
++++ src/third_party/mozjs-60/platform/ppc64le/freebsd/include/js-config.h
+@@ -0,0 +1,61 @@
++/* -*- 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 */
++
++/*
++ * NB: We have a special case for rust-bindgen, which wants to be able to
++ * generate both debug and release bindings on a single objdir.
++ */
++#ifdef JS_DEBUG
++#if !defined(DEBUG) && !defined(RUST_BINDGEN)
++# error "SpiderMonkey was configured with --enable-debug, so DEBUG must be defined when including this header"
++# endif
++#else
++# if defined(DEBUG) && !defined(RUST_BINDGEN)
++# error "SpiderMonkey was configured with --disable-debug, so DEBUG must be not defined when including this header"
++# endif
++#endif
++
++/* 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 SpiderMonkey is in NUNBOX32 mode. */
++/* #undef JS_NUNBOX32 */
++
++/* Define to 1 if SpiderMonkey is in PUNBOX64 mode. */
++#define JS_PUNBOX64 1
++
++/* MOZILLA JSAPI version number components */
++#define MOZJS_MAJOR_VERSION 60
++#define MOZJS_MINOR_VERSION 3
++
++#endif /* js_config_h */
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_dist_filelist b/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_dist_filelist
new file mode 100644
index 000000000000..6964d23f0932
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_dist_filelist
@@ -0,0 +1,11 @@
+--- src/third_party/wiredtiger/dist/filelist.orig 2020-11-25 14:29:56 UTC
++++ src/third_party/wiredtiger/dist/filelist
+@@ -51,7 +51,7 @@ src/btree/row_modify.c
+ src/btree/row_srch.c
+ src/cache/cache_las.c
+ src/checksum/arm64/crc32-arm64.c ARM64_HOST
+-src/checksum/power8/crc32.sx POWERPC_HOST
++src/checksum/power8/crc32.S POWERPC_HOST
+ src/checksum/power8/crc32_wrapper.c POWERPC_HOST
+ src/checksum/software/checksum.c
+ src/checksum/x86/crc32-x86.c X86_HOST
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_crc32.S b/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_crc32.S
new file mode 100644
index 000000000000..fe2e707d16a7
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_crc32.S
@@ -0,0 +1,14 @@
+--- src/third_party/wiredtiger/src/checksum/power8/crc32.S.orig 2020-09-02 06:34:58 UTC
++++ src/third_party/wiredtiger/src/checksum/power8/crc32.S
+@@ -26,7 +26,11 @@
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
++#ifdef __clang__
++#include "ppc-asm.h"
++#else
+ #include <ppc-asm.h>
++#endif
+ #include "ppc-opcode.h"
+
+ #undef toc
diff --git a/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_ppc-asm.h b/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_ppc-asm.h
new file mode 100644
index 000000000000..7cd3eb43c89c
--- /dev/null
+++ b/databases/mongodb42/files/powerpc64le/patch-src_third__party_wiredtiger_src_checksum_power8_ppc-asm.h
@@ -0,0 +1,393 @@
+--- src/third_party/wiredtiger/src/checksum/power8/ppc-asm.h.orig 2020-11-25 13:26:22 UTC
++++ src/third_party/wiredtiger/src/checksum/power8/ppc-asm.h
+@@ -0,0 +1,390 @@
++/* PowerPC asm definitions for GNU C.
++
++Copyright (C) 2002-2020 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify it under
++the terms of the GNU General Public License as published by the Free
++Software Foundation; either version 3, or (at your option) any later
++version.
++
++GCC is distributed in the hope that it will be useful, but WITHOUT ANY
++WARRANTY; without even the implied warranty of MERCHANTABILITY or
++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++for more details.
++
++Under Section 7 of GPL version 3, you are granted additional
++permissions described in the GCC Runtime Library Exception, version
++3.1, as published by the Free Software Foundation.
++
++You should have received a copy of the GNU General Public License and
++a copy of the GCC Runtime Library Exception along with this program;
++see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++<http://www.gnu.org/licenses/>. */
++
++/* Under winnt, 1) gas supports the following as names and 2) in particular
++ defining "toc" breaks the FUNC_START macro as ".toc" becomes ".2" */
++
++#define r0 0
++#define sp 1
++#define toc 2
++#define r3 3
++#define r4 4
++#define r5 5
++#define r6 6
++#define r7 7
++#define r8 8
++#define r9 9
++#define r10 10
++#define r11 11
++#define r12 12
++#define r13 13
++#define r14 14
++#define r15 15
++#define r16 16
++#define r17 17
++#define r18 18
++#define r19 19
++#define r20 20
++#define r21 21
++#define r22 22
++#define r23 23
++#define r24 24
++#define r25 25
++#define r26 26
++#define r27 27
++#define r28 28
++#define r29 29
++#define r30 30
++#define r31 31
++
++#define cr0 0
++#define cr1 1
++#define cr2 2
++#define cr3 3
++#define cr4 4
++#define cr5 5
++#define cr6 6
++#define cr7 7
++
++#define f0 0
++#define f1 1
++#define f2 2
++#define f3 3
++#define f4 4
++#define f5 5
++#define f6 6
++#define f7 7
++#define f8 8
++#define f9 9
++#define f10 10
++#define f11 11
++#define f12 12
++#define f13 13
++#define f14 14
++#define f15 15
++#define f16 16
++#define f17 17
++#define f18 18
++#define f19 19
++#define f20 20
++#define f21 21
++#define f22 22
++#define f23 23
++#define f24 24
++#define f25 25
++#define f26 26
++#define f27 27
++#define f28 28
++#define f29 29
++#define f30 30
++#define f31 31
++
++#ifdef __VSX__
++#define f32 32
++#define f33 33
++#define f34 34
++#define f35 35
++#define f36 36
++#define f37 37
++#define f38 38
++#define f39 39
++#define f40 40
++#define f41 41
++#define f42 42
++#define f43 43
++#define f44 44
++#define f45 45
++#define f46 46
++#define f47 47
++#define f48 48
++#define f49 49
++#define f50 50
++#define f51 51
++#define f52 52
++#define f53 53
++#define f54 54
++#define f55 55
++#define f56 56
++#define f57 57
++#define f58 58
++#define f59 59
++#define f60 60
++#define f61 61
++#define f62 62
++#define f63 63
++#endif
++
++#ifdef __ALTIVEC__
++#define v0 0
++#define v1 1
++#define v2 2
++#define v3 3
++#define v4 4
++#define v5 5
++#define v6 6
++#define v7 7
++#define v8 8
++#define v9 9
++#define v10 10
++#define v11 11
++#define v12 12
++#define v13 13
++#define v14 14
++#define v15 15
++#define v16 16
++#define v17 17
++#define v18 18
++#define v19 19
++#define v20 20
++#define v21 21
++#define v22 22
++#define v23 23
++#define v24 24
++#define v25 25
++#define v26 26
++#define v27 27
++#define v28 28
++#define v29 29
++#define v30 30
++#define v31 31
++#endif
++
++#ifdef __VSX__
++#define vs0 0
++#define vs1 1
++#define vs2 2
++#define vs3 3
++#define vs4 4
++#define vs5 5
++#define vs6 6
++#define vs7 7
++#define vs8 8
++#define vs9 9
++#define vs10 10
++#define vs11 11
++#define vs12 12
++#define vs13 13
++#define vs14 14
++#define vs15 15
++#define vs16 16
++#define vs17 17
++#define vs18 18
++#define vs19 19
++#define vs20 20
++#define vs21 21
++#define vs22 22
++#define vs23 23
++#define vs24 24
++#define vs25 25
++#define vs26 26
++#define vs27 27
++#define vs28 28
++#define vs29 29
++#define vs30 30
++#define vs31 31
++#define vs32 32
++#define vs33 33
++#define vs34 34
++#define vs35 35
++#define vs36 36
++#define vs37 37
++#define vs38 38
++#define vs39 39
++#define vs40 40
++#define vs41 41
++#define vs42 42
++#define vs43 43
++#define vs44 44
++#define vs45 45
++#define vs46 46
++#define vs47 47
++#define vs48 48
++#define vs49 49
++#define vs50 50
++#define vs51 51
++#define vs52 52
++#define vs53 53
++#define vs54 54
++#define vs55 55
++#define vs56 56
++#define vs57 57
++#define vs58 58
++#define vs59 59
++#define vs60 60
++#define vs61 61
++#define vs62 62
++#define vs63 63
++#endif
++
++/*
++ * Macros to glue together two tokens.
++ */
++
++#ifdef __STDC__
++#define XGLUE(a,b) a##b
++#else
++#define XGLUE(a,b) a/**/b
++#endif
++
++#define GLUE(a,b) XGLUE(a,b)
++
++/*
++ * Macros to begin and end a function written in assembler. If -mcall-aixdesc
++ * or -mcall-nt, create a function descriptor with the given name, and create
++ * the real function with one or two leading periods respectively.
++ */
++
++#if defined(__powerpc64__) && _CALL_ELF == 2
++
++/* Defining "toc" above breaks @toc in assembler code. */
++#undef toc
++
++#define FUNC_NAME(name) GLUE(__USER_LABEL_PREFIX__,name)
++#ifdef __PCREL__
++#define JUMP_TARGET(name) GLUE(FUNC_NAME(name),@notoc)
++#define FUNC_START(name) \
++ .type FUNC_NAME(name),@function; \
++ .globl FUNC_NAME(name); \
++FUNC_NAME(name): \
++ .localentry FUNC_NAME(name),1
++#else
++#define JUMP_TARGET(name) FUNC_NAME(name)
++#define FUNC_START(name) \
++ .type FUNC_NAME(name),@function; \
++ .globl FUNC_NAME(name); \
++FUNC_NAME(name): \
++0: addis 2,12,(.TOC.-0b)@ha; \
++ addi 2,2,(.TOC.-0b)@l; \
++ .localentry FUNC_NAME(name),.-FUNC_NAME(name)
++#endif /* !__PCREL__ */
++
++#define HIDDEN_FUNC(name) \
++ FUNC_START(name) \
++ .hidden FUNC_NAME(name);
++
++#define FUNC_END(name) \
++ .size FUNC_NAME(name),.-FUNC_NAME(name)
++
++#elif defined (__powerpc64__)
++
++#define FUNC_NAME(name) GLUE(.,name)
++#define JUMP_TARGET(name) FUNC_NAME(name)
++#define FUNC_START(name) \
++ .section ".opd","aw"; \
++name: \
++ .quad GLUE(.,name); \
++ .quad .TOC.@tocbase; \
++ .quad 0; \
++ .previous; \
++ .type GLUE(.,name),@function; \
++ .globl name; \
++ .globl GLUE(.,name); \
++GLUE(.,name):
++
++#define HIDDEN_FUNC(name) \
++ FUNC_START(name) \
++ .hidden name; \
++ .hidden GLUE(.,name);
++
++#define FUNC_END(name) \
++GLUE(.L,name): \
++ .size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
++
++#elif defined(_CALL_AIXDESC)
++
++#ifdef _RELOCATABLE
++#define DESC_SECTION ".got2"
++#else
++#define DESC_SECTION ".got1"
++#endif
++
++#define FUNC_NAME(name) GLUE(.,name)
++#define JUMP_TARGET(name) FUNC_NAME(name)
++#define FUNC_START(name) \
++ .section DESC_SECTION,"aw"; \
++name: \
++ .long GLUE(.,name); \
++ .long _GLOBAL_OFFSET_TABLE_; \
++ .long 0; \
++ .previous; \
++ .type GLUE(.,name),@function; \
++ .globl name; \
++ .globl GLUE(.,name); \
++GLUE(.,name):
++
++#define HIDDEN_FUNC(name) \
++ FUNC_START(name) \
++ .hidden name; \
++ .hidden GLUE(.,name);
++
++#define FUNC_END(name) \
++GLUE(.L,name): \
++ .size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
++
++#else
++
++#define FUNC_NAME(name) GLUE(__USER_LABEL_PREFIX__,name)
++#if defined __PIC__ || defined __pic__
++#define JUMP_TARGET(name) FUNC_NAME(name@plt)
++#else
++#define JUMP_TARGET(name) FUNC_NAME(name)
++#endif
++#define FUNC_START(name) \
++ .type FUNC_NAME(name),@function; \
++ .globl FUNC_NAME(name); \
++FUNC_NAME(name):
++
++#define HIDDEN_FUNC(name) \
++ FUNC_START(name) \
++ .hidden FUNC_NAME(name);
++
++#define FUNC_END(name) \
++GLUE(.L,name): \
++ .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
++#endif
++
++#ifdef IN_GCC
++/* For HAVE_GAS_CFI_DIRECTIVE. */
++#include "auto-host.h"
++
++#ifdef HAVE_GAS_CFI_DIRECTIVE
++# define CFI_STARTPROC .cfi_startproc
++# define CFI_ENDPROC .cfi_endproc
++# define CFI_OFFSET(reg, off) .cfi_offset reg, off
++# define CFI_DEF_CFA_REGISTER(reg) .cfi_def_cfa_register reg
++# define CFI_RESTORE(reg) .cfi_restore reg
++#else
++# define CFI_STARTPROC
++# define CFI_ENDPROC
++# define CFI_OFFSET(reg, off)
++# define CFI_DEF_CFA_REGISTER(reg)
++# define CFI_RESTORE(reg)
++#endif
++#endif
++
++#if defined __linux__ && !defined __powerpc64__
++ .section .note.GNU-stack
++ .previous
++#endif