From owner-svn-ports-head@FreeBSD.ORG Fri Jan 30 09:58:07 2015 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 14769218; Fri, 30 Jan 2015 09:58:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3DFEF5E; Fri, 30 Jan 2015 09:58:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t0U9w6HG027338; Fri, 30 Jan 2015 09:58:06 GMT (envelope-from kwm@FreeBSD.org) Received: (from kwm@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t0U9w4jr027319; Fri, 30 Jan 2015 09:58:04 GMT (envelope-from kwm@FreeBSD.org) Message-Id: <201501300958.t0U9w4jr027319@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kwm set sender to kwm@FreeBSD.org using -f From: Koop Mast Date: Fri, 30 Jan 2015 09:58:04 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r378144 - in head/lang/spidermonkey24: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jan 2015 09:58:07 -0000 Author: kwm Date: Fri Jan 30 09:58:04 2015 New Revision: 378144 URL: https://svnweb.freebsd.org/changeset/ports/378144 QAT: https://qat.redports.org/buildarchive/r378144/ Log: Fix the build on ARM [1] Add DTRACE option (default off) [2] PR: 197058 [1] PR: 192614 [2] Submitted by: sbruno@ [1], jbeich@ [2] Added: head/lang/spidermonkey24/files/ head/lang/spidermonkey24/files/patch-assembler_jit_ExecutableAllocator.h (contents, props changed) head/lang/spidermonkey24/files/patch-bug1041795 (contents, props changed) head/lang/spidermonkey24/files/patch-bug1046224 (contents, props changed) head/lang/spidermonkey24/files/patch-bug702179 (contents, props changed) head/lang/spidermonkey24/files/patch-jit_AsmJSSignalHandlers.cpp (contents, props changed) head/lang/spidermonkey24/files/patch-jit_arm_Architecture-arm.cpp (contents, props changed) Modified: head/lang/spidermonkey24/Makefile head/lang/spidermonkey24/pkg-plist Modified: head/lang/spidermonkey24/Makefile ============================================================================== --- head/lang/spidermonkey24/Makefile Fri Jan 30 09:34:03 2015 (r378143) +++ head/lang/spidermonkey24/Makefile Fri Jan 30 09:58:04 2015 (r378144) @@ -29,13 +29,15 @@ CONFIGURE_ARGS= --with-pthreads \ --with-system-nspr OPTIONS_DEFINE= DEBUG GCZEAL JEMALLOC METHODJIT OPTIMIZE READLINE \ - THREADSAFE TRACEJIT UTF8 \ - + THREADSAFE TRACEJIT UTF8 DTRACE OPTIONS_DEFAULT= METHODJIT OPTIMIZE READLINE THREADSAFE TRACEJIT +OPTIONS_SUB= yes DEBUG_DESC= Enable Debug build DEBUG_CONFIGURE_ENABLE= debug debug-symbols DEBUG_CONFIGURE_DISABLE=debug +DTRACE_CONFIGURE_ENABLE=dtrace profiling +DTRACE_LIBS= -lelf GCZEAL_DESC= Enable Zealous garbage collecting GCZEAL_CONFIGURE_ENABLE=gczeal JEMALLOC_DESC= Use jemalloc as memory allocator @@ -59,6 +61,10 @@ UTF8_CFLAGS= -DJS_C_STRINGS_ARE_UTF8 CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} .endif +.if ${PORT_OPTIONS:MDTRACE} && ${OSVERSION} < 1000510 +BROKEN= dtrace -G crashes with C++ object files +.endif + regression-test: build @${ECHO_MSG} -n "===> Running jstests.py: " @cd ${WRKSRC} && ${SETENV} TZ=PST8PDT ${PYTHON_CMD} tests/jstests.py \ @@ -71,7 +77,9 @@ regression-test: build post-install: ${LN} -s libmozjs-24.so ${STAGEDIR}${PREFIX}/lib/libmozjs-24.so.1 +.if ! ${PORT_OPTIONS:MDTRACE} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/js24 @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmozjs-24.* +.endif .include Added: head/lang/spidermonkey24/files/patch-assembler_jit_ExecutableAllocator.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/spidermonkey24/files/patch-assembler_jit_ExecutableAllocator.h Fri Jan 30 09:58:04 2015 (r378144) @@ -0,0 +1,14 @@ +--- assembler/jit/ExecutableAllocator.h.orig 2013-10-29 20:40:26 UTC ++++ assembler/jit/ExecutableAllocator.h +@@ -477,6 +477,11 @@ public: + { + sync_instruction_memory((caddr_t)code, size); + } ++#elif CPU(ARM_TRADITIONAL) && OS(FREEBSD) && COMPILER(CLANG) ++ static void cacheFlush(void* code, size_t size) ++ { ++ __clear_cache(code, reinterpret_cast(code) + size); ++ } + #endif + + private: Added: head/lang/spidermonkey24/files/patch-bug1041795 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/spidermonkey24/files/patch-bug1041795 Fri Jan 30 09:58:04 2015 (r378144) @@ -0,0 +1,35 @@ +diff --git js/src/config/rules.mk js/src/config/rules.mk +index 4d67eda..783942f 100644 +--- config/rules.mk ++++ config/rules.mk +@@ -858,7 +858,7 @@ ifdef DTRACE_PROBE_OBJ + ifndef DTRACE_LIB_DEPENDENT + NON_DTRACE_OBJS := $(filter-out $(DTRACE_PROBE_OBJ),$(OBJS)) + $(DTRACE_PROBE_OBJ): $(NON_DTRACE_OBJS) +- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS) ++ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS) + endif + endif + endif +@@ -876,7 +876,7 @@ ifndef INCREMENTAL_LINKER + endif + ifdef DTRACE_LIB_DEPENDENT + ifndef XP_MACOSX +- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS)) ++ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS)) + endif + $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(DTRACE_PROBE_OBJ) $(MOZILLA_PROBE_LIBS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(SHARED_LIBRARY_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) $(if $(LIB_IS_C_ONLY),,$(STLPORT_LIBS)) + @$(RM) $(DTRACE_PROBE_OBJ) +diff --git js/src/Makefile.in js/src/Makefile.in +index 28ca5e8..96793d7 100644 +--- Makefile.in ++++ Makefile.in +@@ -342,7 +342,7 @@ endif + + ifdef HAVE_DTRACE + $(CURDIR)/javascript-trace.h: $(srcdir)/devtools/javascript-trace.d +- dtrace -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in ++ dtrace -x nolibs -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in + sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \ + -e '/const/!s/char \*/const char */g' \ + javascript-trace.h.in > javascript-trace.h Added: head/lang/spidermonkey24/files/patch-bug1046224 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/spidermonkey24/files/patch-bug1046224 Fri Jan 30 09:58:04 2015 (r378144) @@ -0,0 +1,32 @@ +diff --git js/src/configure js/src/configure +index 59d69c7..779a50f 100644 +--- configure ++++ configure +@@ -10260,7 +10260,13 @@ cross_compiling=$ac_cv_prog_cc_cross + # Check whether --enable-dtrace or --disable-dtrace was given. + if test "${enable_dtrace+set}" = set; then + enableval="$enable_dtrace" +- enable_dtrace="yes" ++ if test "$enableval" = "yes"; then ++ enable_dtrace="yes" ++ elif test "$enableval" = "no"; then ++ : ++ else ++ { echo "configure: error: Option, dtrace, does not take an argument ($enableval)." 1>&2; exit 1; } ++ fi + fi + + if test "x$enable_dtrace" = "xyes"; then +diff --git js/src/configure.in js/src/configure.in +index 59d69c7..779a50f 100644 +--- configure.in ++++ configure.in +@@ -2153,7 +2153,7 @@ dnl Quota support + MOZ_CHECK_HEADERS(sys/quota.h) + MOZ_CHECK_HEADERS(linux/quota.h) + +-AC_ARG_ENABLE(dtrace, ++MOZ_ARG_ENABLE_BOOL(dtrace, + [ --enable-dtrace build with dtrace support if available (default=no)], + [enable_dtrace="yes"],) + if test "x$enable_dtrace" = "xyes"; then Added: head/lang/spidermonkey24/files/patch-bug702179 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/spidermonkey24/files/patch-bug702179 Fri Jan 30 09:58:04 2015 (r378144) @@ -0,0 +1,23 @@ +diff --git js/src/Makefile.in js/src/Makefile.in +index e28160a..28ca5e8 100644 +--- Makefile.in ++++ Makefile.in +@@ -35,7 +35,6 @@ ifdef JS_SHARED_LIBRARY + FORCE_SHARED_LIB = 1 + endif + FORCE_STATIC_LIB = 1 +-DIST_INSTALL = 1 + + ############################################### + # BEGIN include sources for low-level code shared with mfbt +@@ -584,8 +584,8 @@ install:: $(EXPORTS_mozilla) + install:: $(SCRIPTS) + $(SYSINSTALL) $^ $(DESTDIR)$(bindir) + +-install:: $(REAL_LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) +-ifneq (,$(REAL_LIBRARY)) ++install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) ++ifdef DIST_INSTALL + $(SYSINSTALL) $(REAL_LIBRARY) $(DESTDIR)$(libdir) + mv -f $(DESTDIR)$(libdir)/$(REAL_LIBRARY) $(subst $(STATIC_LIBRARY_NAME),$(LIBRARY_NAME),$(DESTDIR)$(libdir)/$(REAL_LIBRARY)) + endif Added: head/lang/spidermonkey24/files/patch-jit_AsmJSSignalHandlers.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/spidermonkey24/files/patch-jit_AsmJSSignalHandlers.cpp Fri Jan 30 09:58:04 2015 (r378144) @@ -0,0 +1,67 @@ +https://hg.mozilla.org/mozilla-central/rev/07ce4364fbec + +--- jit/AsmJSSignalHandlers.cpp.orig 2013-10-29 21:40:19.000000000 +0100 ++++ jit/AsmJSSignalHandlers.cpp 2015-01-25 11:23:43.104097667 +0100 +@@ -64,7 +64,6 @@ + # endif + # define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP]) + # define RIP_sig(p) ((p)->uc_mcontext.gregs[REG_RIP]) +-# define PC_sig(p) ((p)->uc_mcontext.arm_pc) + # define RAX_sig(p) ((p)->uc_mcontext.gregs[REG_RAX]) + # define RCX_sig(p) ((p)->uc_mcontext.gregs[REG_RCX]) + # define RDX_sig(p) ((p)->uc_mcontext.gregs[REG_RDX]) +@@ -80,7 +79,11 @@ + # define R12_sig(p) ((p)->uc_mcontext.gregs[REG_R12]) + # define R13_sig(p) ((p)->uc_mcontext.gregs[REG_R13]) + # define R14_sig(p) ((p)->uc_mcontext.gregs[REG_R14]) +-# define R15_sig(p) ((p)->uc_mcontext.gregs[REG_R15]) ++# if defined(__linux__) && defined(__arm__) ++# define R15_sig(p) ((p)->uc_mcontext.arm_pc) ++# else ++# define R15_sig(p) ((p)->uc_mcontext.gregs[REG_R15]) ++# endif + #elif defined(__NetBSD__) + # define XMM_sig(p,i) (((struct fxsave64 *)(p)->uc_mcontext.__fpregs)->fx_xmm[i]) + # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP]) +@@ -124,7 +127,11 @@ + # define R12_sig(p) ((p)->uc_mcontext.mc_r12) + # define R13_sig(p) ((p)->uc_mcontext.mc_r13) + # define R14_sig(p) ((p)->uc_mcontext.mc_r14) +-# define R15_sig(p) ((p)->uc_mcontext.mc_r15) ++# if defined(__FreeBSD__) && defined(__arm__) ++# define R15_sig(p) ((p)->uc_mcontext.__gregs[_REG_R15]) ++# else ++# define R15_sig(p) ((p)->uc_mcontext.mc_r15) ++# endif + #elif defined(XP_MACOSX) + // Mach requires special treatment. + #else +@@ -325,20 +332,20 @@ + # define CONTEXT ucontext_t + # endif + ++#if defined(JS_CPU_X64) ++# define PC_sig(p) RIP_sig(p) ++#elif defined(JS_CPU_X86) ++# define PC_sig(p) EIP_sig(p) ++#elif defined(JS_CPU_ARM) ++# define PC_sig(p) R15_sig(p) ++#endif ++ + # if !defined(XP_MACOSX) + static uint8_t ** + ContextToPC(CONTEXT *context) + { +-# if defined(JS_CPU_X64) +- JS_STATIC_ASSERT(sizeof(RIP_sig(context)) == sizeof(void*)); +- return reinterpret_cast(&RIP_sig(context)); +-# elif defined(JS_CPU_X86) +- JS_STATIC_ASSERT(sizeof(EIP_sig(context)) == sizeof(void*)); +- return reinterpret_cast(&EIP_sig(context)); +-# elif defined(JS_CPU_ARM) + JS_STATIC_ASSERT(sizeof(PC_sig(context)) == sizeof(void*)); + return reinterpret_cast(&PC_sig(context)); +-# endif + } + + # if defined(JS_CPU_X64) Added: head/lang/spidermonkey24/files/patch-jit_arm_Architecture-arm.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/spidermonkey24/files/patch-jit_arm_Architecture-arm.cpp Fri Jan 30 09:58:04 2015 (r378144) @@ -0,0 +1,11 @@ +--- jit/arm/Architecture-arm.cpp.orig 2013-10-29 20:40:20 UTC ++++ jit/arm/Architecture-arm.cpp +@@ -15,7 +15,7 @@ + + // lame check for kernel version + // see bug 586550 +-#if !(defined(ANDROID) || defined(MOZ_B2G)) ++#if !(defined(ANDROID) || defined(MOZ_B2G) || defined(__FreeBSD__)) + #include + #else + #define HWCAP_VFP (1<<0) Modified: head/lang/spidermonkey24/pkg-plist ============================================================================== --- head/lang/spidermonkey24/pkg-plist Fri Jan 30 09:34:03 2015 (r378143) +++ head/lang/spidermonkey24/pkg-plist Fri Jan 30 09:58:04 2015 (r378144) @@ -1,5 +1,6 @@ bin/js24 bin/js24-config +%%DTRACE%%include/mozjs-24/javascript-trace.h include/mozjs-24/js-config.h include/mozjs-24/js.msg include/mozjs-24/js/Anchor.h @@ -73,6 +74,7 @@ include/mozjs-24/mozilla/TypedEnum.h include/mozjs-24/mozilla/Types.h include/mozjs-24/mozilla/Util.h include/mozjs-24/mozilla/WeakPtr.h +@comment lib/libmozjs-24.a lib/libmozjs-24.so lib/libmozjs-24.so.1 libdata/pkgconfig/mozjs-24.pc