FreeBSD Bugzilla – Attachment 228325 Details for
Bug 258846
devel/dyncall: Fix build on arm
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
devel/dyncall: unbreak on arm
0001-devel-dyncall-unbreak-on-armv7.patch (text/plain), 3.31 KB, created by
Robert Clausecker
on 2021-10-01 14:37:29 UTC
(
hide
)
Description:
devel/dyncall: unbreak on arm
Filename:
MIME Type:
Creator:
Robert Clausecker
Created:
2021-10-01 14:37:29 UTC
Size:
3.31 KB
patch
obsolete
>From 896e210fdd05600086013ed56cae702eb5aac966 Mon Sep 17 00:00:00 2001 >From: Robert Clausecker <fuz@fuz.su> >Date: Fri, 1 Oct 2021 16:32:57 +0200 >Subject: [PATCH] devel/dyncall: unbreak on armv7 > >--- > devel/dyncall/Makefile | 6 ++++++ > ...dyncall_dyncall__call__arm32__arm__armhf.S | 11 ++++++++++ > ...lback_dyncall__callback__arm32__arm__gas.S | 20 +++++++++++++++++++ > 3 files changed, 37 insertions(+) > create mode 100644 devel/dyncall/files/patch-dyncall_dyncall__call__arm32__arm__armhf.S > create mode 100644 devel/dyncall/files/patch-dyncallback_dyncall__callback__arm32__arm__gas.S > >diff --git a/devel/dyncall/Makefile b/devel/dyncall/Makefile >index 4dd29eb20c39..912f48c1c80f 100644 >--- a/devel/dyncall/Makefile >+++ b/devel/dyncall/Makefile >@@ -14,14 +14,20 @@ LICENSE= ISCL > BROKEN_riscv64= fails to compile: dyncall_callvm.c:75:4: unsupported platform > > HAS_CONFIGURE= yes >+TEST_TARGET= tests > > CFLAGS+= -fPIC > >+ > # There is no install target in the BSD makefile for this version of the dyncall > # library, so install it manually. > > .include <bsd.port.pre.mk> > >+post-patch: >+ # clang's assembler doesn't like % sigils on ARM >+ ${REINPLACE_CMD} -e 's/%//g' ${WRKSRC}/dyncallback/dyncall_callback_arm32_arm_gas.S >+ > do-install: > ${INSTALL_DATA} \ > ${WRKSRC}/dyncall/dyncall_value.h \ >diff --git a/devel/dyncall/files/patch-dyncall_dyncall__call__arm32__arm__armhf.S b/devel/dyncall/files/patch-dyncall_dyncall__call__arm32__arm__armhf.S >new file mode 100644 >index 000000000000..4369003273d2 >--- /dev/null >+++ b/devel/dyncall/files/patch-dyncall_dyncall__call__arm32__arm__armhf.S >@@ -0,0 +1,11 @@ >+--- dyncall/dyncall_call_arm32_arm_armhf.S.orig 2021-10-01 14:19:53 UTC >++++ dyncall/dyncall_call_arm32_arm_armhf.S >+@@ -59,7 +59,7 @@ ENTRY_C(dcCall_arm32_armhf) >+ add r5, r1, #16 /* r5 = stack args (after intreg ones) */ >+ >+ /* Load 16 single-precision registers (= 8 double-precision registers). */ >+- fldmiad r3, {d0-d7} >++ vldmia r3, {d0-d7} >+ >+ /* prep stack parameter area (includes room for spill area, callee spills if needed) */ >+ sub r13, r13, r2 >diff --git a/devel/dyncall/files/patch-dyncallback_dyncall__callback__arm32__arm__gas.S b/devel/dyncall/files/patch-dyncallback_dyncall__callback__arm32__arm__gas.S >new file mode 100644 >index 000000000000..509c46923a66 >--- /dev/null >+++ b/devel/dyncall/files/patch-dyncallback_dyncall__callback__arm32__arm__gas.S >@@ -0,0 +1,20 @@ >+--- dyncallback/dyncall_callback_arm32_arm_gas.S.orig 2021-10-01 14:21:06 UTC >++++ dyncallback/dyncall_callback_arm32_arm_gas.S >+@@ -56,7 +56,7 @@ dcCallbackThunkEntry: >+ #if defined(DC__ABI_ARM_HF) >+ stmdb %r13!, {%r4} /* Init freg_count and dreg_count to 0 */ >+ stmdb %r13!, {%r4} >+- fstmdbd %r13!, {d0-d7} /* Store all fp-registers in DCArgs' f[16] */ >++ vstmdb %r13!, {d0-d7} /* Store all fp-registers in DCArgs' f[16] */ >+ #endif >+ stmdb %r13!, {%r0-%r4, %r11} /* Spill first 4 args to DCArgs, along with reg_count (init to 0) and (stack) pointer to remaining args. */ >+ >+@@ -75,7 +75,7 @@ dcCallbackThunkEntry: >+ /* Return value. */ >+ ldmia %r13, {%r0, %r1} /* Load return value in r0 and r1. */ >+ #if defined(DC__ABI_ARM_HF) >+- fldmiad %r13, {%d0} /* Same for floating point return value (if any). */ >++ vldmia %r13, {%d0} /* Same for floating point return value (if any). */ >+ #endif >+ >+ /* Epilog. */ >-- >2.32.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
tphilipp
:
maintainer-approval-
Actions:
View
|
Diff
Attachments on
bug 258846
:
228325
|
228402
|
228477