diff options
author | kwm <kwm@FreeBSD.org> | 2017-06-05 20:36:13 +0800 |
---|---|---|
committer | kwm <kwm@FreeBSD.org> | 2017-06-05 20:36:13 +0800 |
commit | 4c5840e432127af05cdb4acbee6d362e9aebd474 (patch) | |
tree | 860c30a0391f2cfc22e10c8339b7f89de252635e /lang | |
parent | d9d8e70e7a84a557e0bbf212ee9cba1d9ba5f1ca (diff) | |
download | freebsd-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')
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__) || \ |