View | Details | Raw Unified | Return to bug 237960 | Differences between
and this patch

Collapse All | Expand All

(-)b/Makefile (-4 / +20 lines)
Lines 23-29 Link Here
23
USE_RC_SUBR=	epmd
23
USE_RC_SUBR=	epmd
24
24
25
GNU_CONFIGURE=	yes
25
GNU_CONFIGURE=	yes
26
MAKE_JOBS_UNSAFE=yes
27
26
28
OPTIONS_SUB=	yes
27
OPTIONS_SUB=	yes
29
SUB_FILES=	pkg-message
28
SUB_FILES=	pkg-message
Lines 64-71 Link Here
64
OPTIONS_EXCLUDE_DragonFly=	HIPE NATIVE SCTP
63
OPTIONS_EXCLUDE_DragonFly=	HIPE NATIVE SCTP
65
# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
64
# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
66
OPTIONS_EXCLUDE_aarch64=	DTRACE
65
OPTIONS_EXCLUDE_aarch64=	DTRACE
67
OPTIONS_EXCLUDE_armv6=		DTRACE
66
OPTIONS_EXCLUDE_armv6=		DTRACE SMP NATIVE
68
OPTIONS_EXCLUDE_armv7=		DTRACE
67
OPTIONS_EXCLUDE_armv7=		DTRACE NATIVE
69
OPTIONS_EXCLUDE_i386=		DTRACE
68
OPTIONS_EXCLUDE_i386=		DTRACE
70
69
71
# If you run Erlang and get a message resembling "WARNING: number of
70
# If you run Erlang and get a message resembling "WARNING: number of
Lines 111-116 Link Here
111
MAKE_ARGS+=	ARCH=arm
110
MAKE_ARGS+=	ARCH=arm
112
.endif
111
.endif
113
112
113
.if ${ARCH} == armv6
114
#CFLAGS+=	-O0
115
BUILD_DEPENDS+=	${LOCALBASE}/bin/clang80:devel/llvm80
116
RUN_DEPENDS+= 	${LOCALBASE}/bin/clang80:devel/llvm80
117
CONFIGURE_ENV=  CC=${LOCALBASE}/bin/clang80 \
118
		CXX=${LOCALBASE}/bin/clang++80 \
119
		CPP=${LOCALBASE}/bin/clang-cpp80
120
.endif
121
114
pre-configure:
122
pre-configure:
115
	@cd ${WRKSRC} && ./otp_build autoconf
123
	@cd ${WRKSRC} && ./otp_build autoconf
116
124
Lines 142-148 Link Here
142
	@${ECHO_CMD} "MANPATH ${PREFIX}/lib/erlang/man" > ${WRKDIR}/erlang.conf
150
	@${ECHO_CMD} "MANPATH ${PREFIX}/lib/erlang/man" > ${WRKDIR}/erlang.conf
143
	${INSTALL_DATA} ${WRKDIR}/erlang.conf ${STAGEDIR}${PREFIX}/etc/man.d/erlang.conf
151
	${INSTALL_DATA} ${WRKDIR}/erlang.conf ${STAGEDIR}${PREFIX}/etc/man.d/erlang.conf
144
	for SECTION in 1 3 4 6 7; do \
152
	for SECTION in 1 3 4 6 7; do \
145
		${MKDIR} -p ${STAGEDIR}${PREFIX}/lib/erlang/man/man$${SECTION}; \
153
		${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/man/man$${SECTION}; \
146
	  	${FIND} ${WRKSRC}/erts ${WRKSRC}/lib -type f | ${GREP} doc/man$${SECTION} \
154
	  	${FIND} ${WRKSRC}/erts ${WRKSRC}/lib -type f | ${GREP} doc/man$${SECTION} \
147
			| ${XARGS} -J % ${CP} -v % ${STAGEDIR}${PREFIX}/lib/erlang/man/man$${SECTION}; \
155
			| ${XARGS} -J % ${CP} -v % ${STAGEDIR}${PREFIX}/lib/erlang/man/man$${SECTION}; \
148
	done
156
	done
Lines 178-181 Link Here
178
	@cd ${STAGEDIR}${PREFIX}; ${FIND} ${DOCSDIR_REL}/* -name \*.pdf \
186
	@cd ${STAGEDIR}${PREFIX}; ${FIND} ${DOCSDIR_REL}/* -name \*.pdf \
179
		| ${SORT} >> ${TMPPLIST}
187
		| ${SORT} >> ${TMPPLIST}
180
188
189
test:
190
	if [ ! -e ${WRKDIR}/.tests_build_done ] ; then ERL_TOP=${WRKSRC} && \
191
		export ERL_TOP && ${MAKE_CMD} -C ${WRKSRC} tests && \
192
		touch ${WRKDIR}/.tests_build_done ; fi
193
	cd ${WRKSRC}/release/tests/test_server && \
194
		${WRKSRC}/bin/erl -noshell -s ts install -s ts run all_tests \
195
		-s init stop
196
181
.include <bsd.port.post.mk>
197
.include <bsd.port.post.mk>
(-)b/files/patch-erts_emulator_hipe_hipe_arm.c (+37 lines)
Added Link Here
1
--- erts/emulator/hipe/hipe_arm.c.orig	2019-01-08 14:39:47.000000000 +0100
2
+++ erts/emulator/hipe/hipe_arm.c	2019-05-21 17:32:44.470563000 +0200
3
@@ -34,7 +34,17 @@
4
 /* Flush dcache and invalidate icache for a range of addresses. */
5
 void hipe_flush_icache_range(void *address, unsigned int nbytes)
6
 {
7
-#if defined(__ARM_EABI__)
8
+#if defined(__FreeBSD__)
9
+# if defined(__clang__)
10
+    void __clear_cache(void *start, void *end);
11
+    __clear_cache(address, address+nbytes);
12
+# elif defined(__GNUC__)
13
+    __builtin__clear_cache(address, address+nbytes);
14
+# else
15
+#  error "compiler is not supported"
16
+# endif
17
+#else
18
+# if defined(__ARM_EABI__)
19
     register unsigned long beg __asm__("r0") = (unsigned long)address;
20
     register unsigned long end __asm__("r1") = (unsigned long)address + nbytes;
21
     register unsigned long flg __asm__("r2") = 0;
22
@@ -42,13 +52,14 @@
23
     __asm__ __volatile__("swi 0"	/* sys_cacheflush() */
24
 			 : "=r"(beg)
25
 			 : "0"(beg), "r"(end), "r"(flg), "r"(scno));
26
-#else
27
+# else
28
     register unsigned long beg __asm__("r0") = (unsigned long)address;
29
     register unsigned long end __asm__("r1") = (unsigned long)address + nbytes;
30
     register unsigned long flg __asm__("r2") = 0;
31
     __asm__ __volatile__("swi 0x9f0002"	/* sys_cacheflush() */
32
 			 : "=r"(beg)
33
 			 : "0"(beg), "r"(end), "r"(flg));
34
+# endif
35
 #endif
36
 }
37
 

Return to bug 237960