pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/spidermonkey52 spidermonkey52: Add support for Su...
details: https://anonhg.NetBSD.org/pkgsrc/rev/008605f066d9
branches: trunk
changeset: 380096:008605f066d9
user: jperkin <jperkin%pkgsrc.org@localhost>
date: Fri May 11 19:18:35 2018 +0000
description:
spidermonkey52: Add support for SunOS.
Works well enough to only produce 7 minor failures out of 6679
regression tests.
diffstat:
lang/spidermonkey52/Makefile | 12 +++-
lang/spidermonkey52/PLIST | 8 +-
lang/spidermonkey52/distinfo | 13 +++-
lang/spidermonkey52/patches/patch-build_moz.configure_init.configure | 15 ++++
lang/spidermonkey52/patches/patch-js_src_gc_Memory.cpp | 36 ++++++++++
lang/spidermonkey52/patches/patch-js_src_jsnativestack.cpp | 23 ++++++
lang/spidermonkey52/patches/patch-js_src_old-configure | 17 ++++
lang/spidermonkey52/patches/patch-js_src_threading_posix_Thread.cpp | 15 ++++
lang/spidermonkey52/patches/patch-js_src_wasm_WasmSignalHandlers.cpp | 20 +++++
lang/spidermonkey52/patches/patch-memory_mozalloc_mozalloc__abort.cpp | 18 +++++
lang/spidermonkey52/patches/patch-mfbt_Poison.cpp | 18 +++++
lang/spidermonkey52/patches/patch-mfbt_tests_TestPoisonArea.cpp | 18 +++++
lang/spidermonkey52/patches/patch-modules_fdlibm_src_math__private.h | 15 ++++
lang/spidermonkey52/patches/patch-python_mozbuild_mozbuild_configure_constants.py | 30 ++++++++
14 files changed, 252 insertions(+), 6 deletions(-)
diffs (truncated from 344 to 300 lines):
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/Makefile
--- a/lang/spidermonkey52/Makefile Fri May 11 15:10:38 2018 +0000
+++ b/lang/spidermonkey52/Makefile Fri May 11 19:18:35 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2018/04/29 05:11:20 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2018/05/11 19:18:35 jperkin Exp $
DISTNAME= mozjs-52.7.4
PKGNAME= ${DISTNAME:S/mozjs/spidermonkey52/}
@@ -22,6 +22,16 @@
CONFIGURE_ARGS+= --with-system-zlib
CONFIGURE_ARGS+= --with-pthreads
+PLIST_VARS+= jemalloc
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "SunOS"
+CONFIGURE_ARGS+= --disable-jemalloc
+.else
+PLIST.jemalloc= yes
+.endif
+
CONFIGURE_DIRS= js/src
PKGCONFIG_OVERRIDE+= js/src/ctypes/libffi/libffi.pc.in
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/PLIST
--- a/lang/spidermonkey52/PLIST Fri May 11 15:10:38 2018 +0000
+++ b/lang/spidermonkey52/PLIST Fri May 11 19:18:35 2018 +0000
@@ -1,8 +1,8 @@
-@comment $NetBSD: PLIST,v 1.1 2018/04/29 05:11:00 wiz Exp $
+@comment $NetBSD: PLIST,v 1.2 2018/05/11 19:18:35 jperkin Exp $
bin/js52
bin/js52-config
include/mozjs-52/fdlibm.h
-include/mozjs-52/jemalloc_types.h
+${PLIST.jemalloc}include/mozjs-52/jemalloc_types.h
include/mozjs-52/js-config.h
include/mozjs-52/js.msg
include/mozjs-52/js/CallArgs.h
@@ -155,8 +155,8 @@
include/mozjs-52/mozilla/mozalloc_abort.h
include/mozjs-52/mozilla/mozalloc_oom.h
include/mozjs-52/mozilla/utils.h
-include/mozjs-52/mozmemory.h
-include/mozjs-52/mozmemory_wrap.h
+${PLIST.jemalloc}include/mozjs-52/mozmemory.h
+${PLIST.jemalloc}include/mozjs-52/mozmemory_wrap.h
lib/libjs_static.ajs
lib/libmozjs-52.so
lib/pkgconfig/mozjs-52.pc
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/distinfo
--- a/lang/spidermonkey52/distinfo Fri May 11 15:10:38 2018 +0000
+++ b/lang/spidermonkey52/distinfo Fri May 11 19:18:35 2018 +0000
@@ -1,8 +1,19 @@
-$NetBSD: distinfo,v 1.1 2018/04/29 05:11:00 wiz Exp $
+$NetBSD: distinfo,v 1.2 2018/05/11 19:18:35 jperkin Exp $
SHA1 (mozjs-52.7.4.tar.bz2) = ff009853040bb46017204fda4ed69a79484fd321
RMD160 (mozjs-52.7.4.tar.bz2) = 71ee71c2444d8b6a1b2b3c744c9f52a2b7129879
SHA512 (mozjs-52.7.4.tar.bz2) = 7381f251ca9a4983d181eee2198f89b30505a0de636020e52c0c5b174f4d5cd19ca851222b6d8013bb657f2f1ce1ffcb54816eb928e481be2c9242f918d0125e
Size (mozjs-52.7.4.tar.bz2) = 30494311 bytes
+SHA1 (patch-build_moz.configure_init.configure) = 63ed71d4269e8fbf990f44eecadca796991d5c1f
SHA1 (patch-intl_icu_source_configure) = 1ff1be8ca68566e153219e15b8db696afd08b746
+SHA1 (patch-js_src_gc_Memory.cpp) = b1bb0c3045163d586c0b4d731d0ed7c23f339f3c
+SHA1 (patch-js_src_jsnativestack.cpp) = 3d0b06ccc3e24b408b97d01faa7758353f2edc85
+SHA1 (patch-js_src_old-configure) = f9a32ee234f7962c038a10f2b085c0a6fcbcfd8a
SHA1 (patch-js_src_tests_update-test262.sh) = 10d73d95f4b849090bccb8fe656df79cbcea89f3
+SHA1 (patch-js_src_threading_posix_Thread.cpp) = e490d04ed28ffd8b2e9901a24739ad19fe6759e0
+SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = fd9b836d35d71103c3d8b628a6fe7c446bd4c7da
+SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 610f7457f6a1993d26fcccd5730113bb48926d99
+SHA1 (patch-mfbt_Poison.cpp) = f4560e4552beeb70d0564e3fdfd908c5e0bd94c4
+SHA1 (patch-mfbt_tests_TestPoisonArea.cpp) = 054441d4618bf630be6d6e71babdcdaa884f533a
+SHA1 (patch-modules_fdlibm_src_math__private.h) = afa40802bfdb917d7906de486eb8882da426c9cf
+SHA1 (patch-python_mozbuild_mozbuild_configure_constants.py) = aed1c08cecc29e29edc8ccee98d032546814d6e4
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-build_moz.configure_init.configure
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-build_moz.configure_init.configure Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-build_moz.configure_init.configure,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- build/moz.configure/init.configure.orig 2018-04-28 01:04:01.000000000 +0000
++++ build/moz.configure/init.configure
+@@ -336,6 +336,8 @@ def split_triplet(triplet):
+ canonical_os = canonical_kernel = 'NetBSD'
+ elif os.startswith('openbsd'):
+ canonical_os = canonical_kernel = 'OpenBSD'
++ elif os.startswith('solaris'):
++ canonical_os = canonical_kernel = 'SunOS'
+ else:
+ die('Unknown OS: %s' % os)
+
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-js_src_gc_Memory.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-js_src_gc_Memory.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,36 @@
+$NetBSD: patch-js_src_gc_Memory.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS/x86_64.
+
+--- js/src/gc/Memory.cpp.orig 2018-04-28 01:04:03.000000000 +0000
++++ js/src/gc/Memory.cpp
+@@ -501,7 +501,7 @@ static inline void*
+ MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE,
+ int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0)
+ {
+-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
++#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__) || (defined(__sun) && defined(__x86_64__))
+ MOZ_ASSERT((0xffff800000000000ULL & (uintptr_t(desired) + length - 1)) == 0);
+ #endif
+ void* region = mmap(desired, length, prot, flags, fd, offset);
+@@ -551,7 +551,7 @@ MapMemory(size_t length, int prot = PROT
+ return nullptr;
+ }
+ return region;
+-#elif defined(__aarch64__)
++#elif defined(__aarch64__) || (defined(__sun) && defined(__x86_64__))
+ /*
+ * There might be similar virtual address issue on arm64 which depends on
+ * hardware and kernel configurations. But the work around is slightly
+@@ -763,7 +763,11 @@ MarkPagesUnused(void* p, size_t size)
+ return false;
+
+ MOZ_ASSERT(OffsetFromAligned(p, pageSize) == 0);
++#ifdef __sun
++ int result = posix_madvise(p, size, MADV_DONTNEED);
++#else
+ int result = madvise(p, size, MADV_DONTNEED);
++#endif
+ return result != -1;
+ }
+
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-js_src_jsnativestack.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-js_src_jsnativestack.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,23 @@
+$NetBSD: patch-js_src_jsnativestack.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- js/src/jsnativestack.cpp.orig 2018-04-28 01:04:03.000000000 +0000
++++ js/src/jsnativestack.cpp
+@@ -59,7 +59,7 @@ js::GetNativeStackBaseImpl()
+ # endif
+ }
+
+-#elif defined(SOLARIS)
++#elif defined(__sun)
+
+ #include <ucontext.h>
+
+@@ -105,6 +105,7 @@ js::GetNativeStackBaseImpl()
+ # elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
+ /* e.g. on FreeBSD 4.8 or newer, neundorf%kde.org@localhost */
+ pthread_attr_get_np(thread, &sattr);
++# elif defined(__sun)
+ # else
+ /*
+ * FIXME: this function is non-portable;
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-js_src_old-configure
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-js_src_old-configure Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-js_src_old-configure,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- js/src/old-configure.orig 2018-04-28 01:04:49.000000000 +0000
++++ js/src/old-configure
+@@ -5445,6 +5445,10 @@ EOF
+ fi
+ ;;
+
++*-solaris*)
++ MOZ_FIX_LINK_PATHS=
++ ;;
++
+ esac
+
+ cat >> confdefs.pytmp <<EOF
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-js_src_threading_posix_Thread.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-js_src_threading_posix_Thread.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-js_src_threading_posix_Thread.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- js/src/threading/posix/Thread.cpp.orig 2018-04-28 01:04:03.000000000 +0000
++++ js/src/threading/posix/Thread.cpp
+@@ -159,6 +159,8 @@ js::ThisThread::SetName(const char* name
+ rv = 0;
+ #elif defined(__NetBSD__)
+ rv = pthread_setname_np(pthread_self(), "%s", (void*)name);
++#elif defined(__sun)
++ rv = 0;
+ #else
+ rv = pthread_setname_np(pthread_self(), name);
+ #endif
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-js_src_wasm_WasmSignalHandlers.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-js_src_wasm_WasmSignalHandlers.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-js_src_wasm_WasmSignalHandlers.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- js/src/wasm/WasmSignalHandlers.cpp.orig 2018-04-28 01:04:03.000000000 +0000
++++ js/src/wasm/WasmSignalHandlers.cpp
+@@ -130,11 +130,12 @@ class AutoSetHandlingSegFault
+ # define EPC_sig(p) ((p)->sc_pc)
+ # define RFP_sig(p) ((p)->sc_regs[30])
+ # endif
+-#elif defined(__linux__) || defined(SOLARIS)
++#elif defined(__linux__) || defined(__sun)
+ # if defined(__linux__)
+ # define XMM_sig(p,i) ((p)->uc_mcontext.fpregs->_xmm[i])
+ # define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP])
+ # else
++# include <sys/regset.h>
+ # define XMM_sig(p,i) ((p)->uc_mcontext.fpregs.fp_reg_set.fpchip_state.xmm[i])
+ # define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_PC])
+ # endif
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-memory_mozalloc_mozalloc__abort.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-memory_mozalloc_mozalloc__abort.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,18 @@
+$NetBSD: patch-memory_mozalloc_mozalloc__abort.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- memory/mozalloc/mozalloc_abort.cpp.orig 2018-04-28 01:04:04.000000000 +0000
++++ memory/mozalloc/mozalloc_abort.cpp
+@@ -68,7 +68,11 @@ void fillAbortMessage(char (&msg)[N], ui
+ //
+ // That segmentation fault will be interpreted as another bug by ASan and as a
+ // result, ASan will just exit(1) instead of aborting.
++#ifdef __sun
++void std::abort(void)
++#else
+ void abort(void)
++#endif
+ {
+ #ifdef MOZ_WIDGET_ANDROID
+ char msg[64] = {};
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-mfbt_Poison.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-mfbt_Poison.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,18 @@
+$NetBSD: patch-mfbt_Poison.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- mfbt/Poison.cpp.orig 2018-04-28 01:04:05.000000000 +0000
++++ mfbt/Poison.cpp
+@@ -129,7 +129,11 @@ ReleaseRegion(void* aRegion, uintptr_t a
+ static bool
+ ProbeRegion(uintptr_t aRegion, uintptr_t aSize)
+ {
++#ifdef __sun
++ if (posix_madvise(reinterpret_cast<void*>(aRegion), aSize, MADV_NORMAL)) {
++#else
+ if (madvise(reinterpret_cast<void*>(aRegion), aSize, MADV_NORMAL)) {
++#endif
+ return true;
+ } else {
+ return false;
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-mfbt_tests_TestPoisonArea.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-mfbt_tests_TestPoisonArea.cpp Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,18 @@
+$NetBSD: patch-mfbt_tests_TestPoisonArea.cpp,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- mfbt/tests/TestPoisonArea.cpp.orig 2018-04-28 01:04:05.000000000 +0000
++++ mfbt/tests/TestPoisonArea.cpp
+@@ -266,7 +266,11 @@ ReleaseRegion(void* aPage)
+ static bool
+ ProbeRegion(uintptr_t aPage)
+ {
++#ifdef __sun
++ return !!posix_madvise(reinterpret_cast<void*>(aPage), PageSize(), MADV_NORMAL);
++#else
+ return !!madvise(reinterpret_cast<void*>(aPage), PageSize(), MADV_NORMAL);
++#endif
+ }
+
+ static int
diff -r f5a80b9e7106 -r 008605f066d9 lang/spidermonkey52/patches/patch-modules_fdlibm_src_math__private.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/spidermonkey52/patches/patch-modules_fdlibm_src_math__private.h Fri May 11 19:18:35 2018 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-modules_fdlibm_src_math__private.h,v 1.1 2018/05/11 19:18:35 jperkin Exp $
+
+Support SunOS.
+
+--- modules/fdlibm/src/math_private.h.orig 2018-04-28 01:04:05.000000000 +0000
Home |
Main Index |
Thread Index |
Old Index