Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jun 2017 12:36:13 +0000 (UTC)
From:      Koop Mast <kwm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r442611 - in head/lang/spidermonkey185: . files
Message-ID:  <201706051236.v55CaDXj091999@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kwm
Date: Mon Jun  5 12:36:13 2017
New Revision: 442611
URL: https://svnweb.freebsd.org/changeset/ports/442611

Log:
  Add patches to fix the build on armv6.
  
  PR:		212462
  Submitted by:	mikael.urankar@gmail.com
  Approved by:	maintainer (koobs@)

Added:
  head/lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h   (contents, props changed)
  head/lang/spidermonkey185/files/patch-assembler_wtf_Platform.h   (contents, props changed)
  head/lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp   (contents, props changed)
  head/lang/spidermonkey185/files/patch-nanojit_njcpudetect.h   (contents, props changed)
Modified:
  head/lang/spidermonkey185/Makefile
  head/lang/spidermonkey185/files/patch-configure.in

Modified: head/lang/spidermonkey185/Makefile
==============================================================================
--- head/lang/spidermonkey185/Makefile	Mon Jun  5 11:46:01 2017	(r442610)
+++ head/lang/spidermonkey185/Makefile	Mon Jun  5 12:36:13 2017	(r442611)
@@ -25,7 +25,6 @@ USE_PERL5=		build
 WRKSRC=			${WRKDIR}/js-${PORTVERSION}/js/src
 
 BROKEN_aarch64=		Does not compile: error: cacheFlush support is missing on this platform
-BROKEN_armv6=		Does not configure: error: compiler does not follow the C++ specification for temporary object destruction order
 BROKEN_mips64=		Does not compile: error: const union jsval_layout has no member named word
 BROKEN_sparc64=		Does not build: fails to link
 

Added: head/lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h	Mon Jun  5 12:36:13 2017	(r442611)
@@ -0,0 +1,14 @@
+--- assembler/jit/ExecutableAllocator.h.orig	2016-09-07 UTC
++++ assembler/jit/ExecutableAllocator.h
+@@ -391,6 +391,11 @@ public:
+     {
+         CacheRangeFlush(code, size, CACHE_SYNC_ALL);
+     }
++#elif WTF_CPU_ARM_TRADITIONAL && WTF_PLATFORM_FREEBSD
++    static void cacheFlush(void* code, size_t size)
++    {
++	__clear_cache(code, reinterpret_cast<char*>(code) + size);
++    }
+ #else
+     #error "The cacheFlush support is missing on this platform."
+ #endif

Added: head/lang/spidermonkey185/files/patch-assembler_wtf_Platform.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/spidermonkey185/files/patch-assembler_wtf_Platform.h	Mon Jun  5 12:36:13 2017	(r442611)
@@ -0,0 +1,18 @@
+--- ./assembler/wtf/Platform.h.orig	2016-09-07 UTC
++++ ./assembler/wtf/Platform.h
+@@ -213,6 +213,7 @@
+ #elif defined(__ARM_ARCH_6__) \
+    || defined(__ARM_ARCH_6J__) \
+    || defined(__ARM_ARCH_6K__) \
++   || defined(__ARM_ARCH_6KZ__) \
+    || defined(__ARM_ARCH_6Z__) \
+    || defined(__ARM_ARCH_6ZK__) \
+    || defined(__ARM_ARCH_6T2__) \
+@@ -243,6 +244,7 @@
+ 
+ #elif defined(__ARM_ARCH_6J__) \
+    || defined(__ARM_ARCH_6K__) \
++   || defined(__ARM_ARCH_6KZ__) \
+    || defined(__ARM_ARCH_6Z__) \
+    || defined(__ARM_ARCH_6ZK__) \
+    || defined(__ARM_ARCH_6M__)

Modified: head/lang/spidermonkey185/files/patch-configure.in
==============================================================================
--- head/lang/spidermonkey185/files/patch-configure.in	Mon Jun  5 11:46:01 2017	(r442610)
+++ head/lang/spidermonkey185/files/patch-configure.in	Mon Jun  5 12:36:13 2017	(r442611)
@@ -10,3 +10,27 @@
            VISIBILITY_FLAGS='-I$(DIST)/system_wrappers_js -include $(topsrcdir)/config/gcc_hidden.h'
            WRAP_SYSTEM_INCLUDES=1
            STL_FLAGS='-I$(DIST)/stl_wrappers'
+@@ -4656,6 +4657,9 @@ MOZ_ARG_HEADER(Individual module options
+ 
+ dnl Setup default CPU arch for arm target
+ case "$target_cpu" in
++  armv6*)
++    MOZ_ARM_ARCH=armv6
++  ;;
+   arm*)
+     MOZ_ARM_ARCH=armv7
+   ;;
+@@ -4716,6 +4720,13 @@ elif test "$MOZ_ARM_ARCH" = "armv7"; the
+   esac
+ else
+   case "$target_cpu" in
++    armv6*)
++      if test "$GNU_CC"; then
++        CFLAGS="$CFLAGS"
++        CXXFLAGS="$CXXFLAGS"
++        ASFLAGS="$ASFLAGS"
++      fi
++      ;;
+     arm*)
+       if test "$GNU_CC"; then
+         CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"

Added: head/lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp	Mon Jun  5 12:36:13 2017	(r442611)
@@ -0,0 +1,10 @@
+--- nanojit/CodeAlloc.cpp.orig	2016-09-07 UTC
++++ nanojit/CodeAlloc.cpp
+@@ -261,7 +261,6 @@ namespace nanojit
+ #endif
+ 
+ #if defined(AVMPLUS_UNIX) && defined(NANOJIT_ARM)
+-#include <asm/unistd.h>
+ extern "C" void __clear_cache(char *BEG, char *END);
+ #endif
+ 

Added: head/lang/spidermonkey185/files/patch-nanojit_njcpudetect.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/spidermonkey185/files/patch-nanojit_njcpudetect.h	Mon Jun  5 12:36:13 2017	(r442611)
@@ -0,0 +1,11 @@
+--- nanojit/njcpudetect.h.orig	2016-09-07 UTC
++++ nanojit/njcpudetect.h
+@@ -77,6 +77,8 @@
+ #elif   defined(__ARM_ARCH_6__) || \
+         defined(__ARM_ARCH_6J__) || \
+         defined(__ARM_ARCH_6T2__) || \
++        defined(__ARM_ARCH_6K__) || \
++        defined(__ARM_ARCH_6KZ__) || \
+         defined(__ARM_ARCH_6Z__) || \
+         defined(__ARM_ARCH_6ZK__) || \
+         defined(__ARM_ARCH_6M__) || \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706051236.v55CaDXj091999>