Unbreak on arm. Use arm_sync_icache(2) instead of __clear_cache.
This commit is contained in:
parent
41bfda032e
commit
5ba7ddb564
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.30 2016/03/20 16:12:24 naddy Exp $
|
||||
# $OpenBSD: Makefile,v 1.31 2017/01/01 09:29:09 jca Exp $
|
||||
|
||||
# old version that does not get updates; should be rm'd at some point
|
||||
PORTROACH= ignore:1
|
||||
@ -53,8 +53,11 @@ CONFIGURE_ARGS = --with-pthreads \
|
||||
--enable-ctypes \
|
||||
--enable-threadsafe
|
||||
|
||||
.if ${MACHINE_ARCH} == "arm"
|
||||
MD_LIBS += -larm
|
||||
.endif
|
||||
CONFIGURE_ENV += SO_VERSION="${SO_VERSION}" \
|
||||
LIBS=-lncurses \
|
||||
LIBS="-lncurses ${MD_LIBS}" \
|
||||
MOZILLA_VERSION="${MOZILLA_VERSION}" \
|
||||
CPPFLAGS=-DJS_C_STRINGS_ARE_UTF8
|
||||
|
||||
|
30
lang/spidermonkey/patches/patch-nanojit_CodeAlloc_cpp
Normal file
30
lang/spidermonkey/patches/patch-nanojit_CodeAlloc_cpp
Normal file
@ -0,0 +1,30 @@
|
||||
$OpenBSD: patch-nanojit_CodeAlloc_cpp,v 1.1 2017/01/01 09:29:09 jca Exp $
|
||||
--- js/src/nanojit/CodeAlloc.cpp.orig Tue Mar 6 15:45:30 2012
|
||||
+++ js/src/nanojit/CodeAlloc.cpp Fri Dec 30 02:57:57 2016
|
||||
@@ -242,9 +242,13 @@ namespace nanojit
|
||||
}
|
||||
|
||||
#if defined(AVMPLUS_UNIX) && defined(NANOJIT_ARM)
|
||||
+#if defined(AVMPLUS_LINUX)
|
||||
#include <asm/unistd.h>
|
||||
extern "C" void __clear_cache(char *BEG, char *END);
|
||||
+#elif defined(__OpenBSD__)
|
||||
+#include <machine/sysarch.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#ifdef AVMPLUS_SPARC
|
||||
#ifdef __linux__
|
||||
@@ -318,6 +322,12 @@ extern "C" void sync_instruction_memory(caddr_t v, u_
|
||||
cacheflush((int)b->start(), (int)b->start()+b->size(), 0);
|
||||
}
|
||||
}
|
||||
+ #elif defined(NANOJIT_ARM) && defined(__OpenBSD__)
|
||||
+ void CodeAlloc::flushICache(CodeList* &blocks) {
|
||||
+ for (CodeList *b = blocks; b != 0; b = b->next) {
|
||||
+ arm_sync_icache((u_int)b->start(), (int)b->size());
|
||||
+ }
|
||||
+ }
|
||||
#else
|
||||
// fixme: __clear_cache is a libgcc feature, test for libgcc or gcc
|
||||
void CodeAlloc::flushICache(CodeList* &blocks) {
|
Loading…
Reference in New Issue
Block a user