aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2017-06-05 20:36:13 +0800
committerkwm <kwm@FreeBSD.org>2017-06-05 20:36:13 +0800
commit4c5840e432127af05cdb4acbee6d362e9aebd474 (patch)
tree860c30a0391f2cfc22e10c8339b7f89de252635e /lang
parentd9d8e70e7a84a557e0bbf212ee9cba1d9ba5f1ca (diff)
downloadfreebsd-ports-gnome-4c5840e432127af05cdb4acbee6d362e9aebd474.tar.gz
freebsd-ports-gnome-4c5840e432127af05cdb4acbee6d362e9aebd474.tar.zst
freebsd-ports-gnome-4c5840e432127af05cdb4acbee6d362e9aebd474.zip
Add patches to fix the build on armv6.
PR: 212462 Submitted by: mikael.urankar@gmail.com Approved by: maintainer (koobs@)
Diffstat (limited to 'lang')
-rw-r--r--lang/spidermonkey185/Makefile1
-rw-r--r--lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h14
-rw-r--r--lang/spidermonkey185/files/patch-assembler_wtf_Platform.h18
-rw-r--r--lang/spidermonkey185/files/patch-configure.in24
-rw-r--r--lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp10
-rw-r--r--lang/spidermonkey185/files/patch-nanojit_njcpudetect.h11
6 files changed, 77 insertions, 1 deletions
diff --git a/lang/spidermonkey185/Makefile b/lang/spidermonkey185/Makefile
index ed17c47d6932..a4831dade9b8 100644
--- a/lang/spidermonkey185/Makefile
+++ b/lang/spidermonkey185/Makefile
@@ -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
diff --git a/lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h b/lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h
new file mode 100644
index 000000000000..94770e435051
--- /dev/null
+++ b/lang/spidermonkey185/files/patch-assembler_jit_ExecutableAllocator.h
@@ -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
diff --git a/lang/spidermonkey185/files/patch-assembler_wtf_Platform.h b/lang/spidermonkey185/files/patch-assembler_wtf_Platform.h
new file mode 100644
index 000000000000..9556c0f7e638
--- /dev/null
+++ b/lang/spidermonkey185/files/patch-assembler_wtf_Platform.h
@@ -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__)
diff --git a/lang/spidermonkey185/files/patch-configure.in b/lang/spidermonkey185/files/patch-configure.in
index 2193569022d1..c8910057a423 100644
--- a/lang/spidermonkey185/files/patch-configure.in
+++ b/lang/spidermonkey185/files/patch-configure.in
@@ -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"
diff --git a/lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp b/lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp
new file mode 100644
index 000000000000..52c65c0e9624
--- /dev/null
+++ b/lang/spidermonkey185/files/patch-nanojit_CodeAlloc.cpp
@@ -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
+
diff --git a/lang/spidermonkey185/files/patch-nanojit_njcpudetect.h b/lang/spidermonkey185/files/patch-nanojit_njcpudetect.h
new file mode 100644
index 000000000000..4a26a07ab688
--- /dev/null
+++ b/lang/spidermonkey185/files/patch-nanojit_njcpudetect.h
@@ -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__) || \