diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-02-05 12:19:37 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-02-11 17:32:01 +0000 |
commit | f4b7d9465834ab88e25190088512c1a46131b57d (patch) | |
tree | 993691863ee081e16ab5476b5fb9925f6ec83705 | |
parent | b731eff97e575dfc6673065eb61cf26bd7644f58 (diff) | |
download | mongo-f4b7d9465834ab88e25190088512c1a46131b57d.tar.gz |
SERVER-53744 Fix build on FreeBSD/powerpc64le.
Changes done:
1. Patch MozJS registers for R01_sig and R32_sig on FreeBSD/powerpc64le.
2. Add stanza for ppc64le/freebsd to extract script.
Signed-off-by: Andrew Morrow <acm@mongodb.com>
Closes #1390
-rwxr-xr-x | src/third_party/mozjs-60/extract.sh | 1 | ||||
-rwxr-xr-x | src/third_party/mozjs-60/gen-config.sh | 3 | ||||
-rw-r--r-- | src/third_party/mozjs-60/patches/freebsd-powerpc64le-fix.patch | 15 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/third_party/mozjs-60/extract.sh b/src/third_party/mozjs-60/extract.sh index 4ae30ee6a78..6c02d830ce0 100755 --- a/src/third_party/mozjs-60/extract.sh +++ b/src/third_party/mozjs-60/extract.sh @@ -220,3 +220,4 @@ patch -p4 < patches/big-endian-fixes.patch patch -p4 < patches/windows-Time.cpp-GetModuleHandle.patch patch -p4 < patches/JSGCConfig.patch patch -p4 < patches/struct-hasher.patch +patch -p4 < patches/freebsd-powerpc64le-fix.patch diff --git a/src/third_party/mozjs-60/gen-config.sh b/src/third_party/mozjs-60/gen-config.sh index 76533e49fc3..c1ad3efa546 100755 --- a/src/third_party/mozjs-60/gen-config.sh +++ b/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" ;; diff --git a/src/third_party/mozjs-60/patches/freebsd-powerpc64le-fix.patch b/src/third_party/mozjs-60/patches/freebsd-powerpc64le-fix.patch new file mode 100644 index 00000000000..ff065a7b8a4 --- /dev/null +++ b/src/third_party/mozjs-60/patches/freebsd-powerpc64le-fix.patch @@ -0,0 +1,15 @@ +diff --git a/src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp b/src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp +index b35461579c..0cd89e301d 100644 +--- a/src/third_party/mozjs-60/extract/js/src/wasm/WasmSignalHandlers.cpp ++++ b/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) |