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

Collapse All | Expand All

(-)b/devel/dyncall/Makefile (+6 lines)
Lines 14-27 LICENSE= ISCL Link Here
14
BROKEN_riscv64=		fails to compile: dyncall_callvm.c:75:4: unsupported platform
14
BROKEN_riscv64=		fails to compile: dyncall_callvm.c:75:4: unsupported platform
15
15
16
HAS_CONFIGURE=	yes
16
HAS_CONFIGURE=	yes
17
TEST_TARGET=	tests
17
18
18
CFLAGS+=	-fPIC
19
CFLAGS+=	-fPIC
19
20
21
20
# There is no install target in the BSD makefile for this version of the dyncall
22
# There is no install target in the BSD makefile for this version of the dyncall
21
# library, so install it manually.
23
# library, so install it manually.
22
24
23
.include <bsd.port.pre.mk>
25
.include <bsd.port.pre.mk>
24
26
27
post-patch:
28
	# clang's assembler doesn't like % sigils on ARM
29
	${REINPLACE_CMD} -e 's/%//g' ${WRKSRC}/dyncallback/dyncall_callback_arm32_arm_gas.S
30
25
do-install:
31
do-install:
26
	${INSTALL_DATA} \
32
	${INSTALL_DATA} \
27
		${WRKSRC}/dyncall/dyncall_value.h \
33
		${WRKSRC}/dyncall/dyncall_value.h \
(-)b/devel/dyncall/files/patch-dyncall_dyncall__call__arm32__arm__armhf.S (+11 lines)
Added Link Here
1
--- dyncall/dyncall_call_arm32_arm_armhf.S.orig	2021-10-01 14:19:53 UTC
2
+++ dyncall/dyncall_call_arm32_arm_armhf.S
3
@@ -59,7 +59,7 @@ ENTRY_C(dcCall_arm32_armhf)
4
 	add r5,  r1, #16 /* r5 = stack args (after intreg ones) */
5
 
6
 	/* Load 16 single-precision registers (= 8 double-precision registers). */
7
-	fldmiad r3, {d0-d7}
8
+	vldmia r3, {d0-d7}
9
 
10
 	/* prep stack parameter area (includes room for spill area, callee spills if needed) */
11
 	sub r13, r13, r2
(-)b/devel/dyncall/files/patch-dyncallback_dyncall__callback__arm32__arm__gas.S (-1 / +20 lines)
Added Link Here
0
- 
1
--- dyncallback/dyncall_callback_arm32_arm_gas.S.orig	2021-10-01 14:21:06 UTC
2
+++ dyncallback/dyncall_callback_arm32_arm_gas.S
3
@@ -56,7 +56,7 @@ dcCallbackThunkEntry:
4
 #if defined(DC__ABI_ARM_HF)
5
 	stmdb	%r13!, {%r4}					/* Init freg_count and dreg_count to 0 */
6
 	stmdb	%r13!, {%r4}
7
-	fstmdbd	%r13!, {d0-d7}					/* Store all fp-registers in DCArgs' f[16] */
8
+	vstmdb	%r13!, {d0-d7}					/* Store all fp-registers in DCArgs' f[16] */
9
 #endif
10
 	stmdb	%r13!, {%r0-%r4, %r11}			/* Spill first 4 args to DCArgs, along with reg_count (init to 0) and (stack) pointer to remaining args. */
11
 
12
@@ -75,7 +75,7 @@ dcCallbackThunkEntry:
13
 	/* Return value. */
14
 	ldmia	%r13, {%r0, %r1}				/* Load return value in r0 and r1. */
15
 #if defined(DC__ABI_ARM_HF)
16
-	fldmiad	%r13, {%d0}						/* Same for floating point return value (if any). */
17
+	vldmia	%r13, {%d0}						/* Same for floating point return value (if any). */
18
 #endif
19
 
20
 	/* Epilog. */

Return to bug 258846