aboutsummaryrefslogtreecommitdiff
path: root/lang/mono
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2023-03-18 13:42:19 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2023-03-18 14:09:58 +0000
commit8d2f58feb60d5cedc3ebec12cb9e4571dd9ecc2b (patch)
tree36a99b6f8f03a38a8a86870f54cce822746a1469 /lang/mono
parent94c3887a35b0154dd3eacfcbe6c05a419984d1e8 (diff)
downloadports-8d2f58feb60d5cedc3ebec12cb9e4571dd9ecc2b.tar.gz
ports-8d2f58feb60d5cedc3ebec12cb9e4571dd9ecc2b.zip
lang/mono: fix build on powerpc* with LLVM 15
exceptions-ppc.c:812:23: error: incompatible pointer to integer conversion assigning to 'unsigned long' from 'gpointer' (aka 'void *') [-Wint-conversion]
Diffstat (limited to 'lang/mono')
-rw-r--r--lang/mono/Makefile2
-rw-r--r--lang/mono/files/patch-mono_mini_exceptions-ppc.c11
2 files changed, 12 insertions, 1 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile
index a9aba0f6fb7f..4bf1de8ceb26 100644
--- a/lang/mono/Makefile
+++ b/lang/mono/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mono
PORTVERSION= 5.10.1.57
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang
MASTER_SITES= https://download.mono-project.com/sources/mono/
DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
diff --git a/lang/mono/files/patch-mono_mini_exceptions-ppc.c b/lang/mono/files/patch-mono_mini_exceptions-ppc.c
new file mode 100644
index 000000000000..477ff908793e
--- /dev/null
+++ b/lang/mono/files/patch-mono_mini_exceptions-ppc.c
@@ -0,0 +1,11 @@
+--- mono/mini/exceptions-ppc.c.orig 2023-03-18 12:46:51 UTC
++++ mono/mini/exceptions-ppc.c
+@@ -809,7 +809,7 @@ mono_arch_setup_async_callback (MonoContext *ctx, void
+ {
+ uintptr_t sp = (uintptr_t) MONO_CONTEXT_GET_SP(ctx);
+ sp -= PPC_MINIMAL_STACK_SIZE;
+- *(unsigned long *)sp = MONO_CONTEXT_GET_SP(ctx);
++ *(unsigned long *)sp = (unsigned long)MONO_CONTEXT_GET_SP(ctx);
+ MONO_CONTEXT_SET_BP(ctx, sp);
+ MONO_CONTEXT_SET_IP(ctx, (unsigned long) async_cb);
+ }