aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/ezm3/Makefile2
-rw-r--r--lang/ezm3/files/extra-patch-fcntl35
2 files changed, 37 insertions, 0 deletions
diff --git a/lang/ezm3/Makefile b/lang/ezm3/Makefile
index 73df12deefec..6db914ac033b 100644
--- a/lang/ezm3/Makefile
+++ b/lang/ezm3/Makefile
@@ -52,8 +52,10 @@ PLIST_SUB+= AMD64="@comment "
.elif ${ARCH} == "amd64"
MAINTAINER= bzeeb+freebsdports@zabbadoz.net
PORTVERSION= 1.1
+PORTREVISION= 2
AMD64_PATCHES= p-amd64-common p-amd64-gcc p-amd64-gcc-321-322 p-amd64-gcchacks \
p-amd64-gccstatic p-amd64-m3 p-amd64-m3-except-sort p-amd64-newfiles
+EXTRA_PATCHES= ${PATCHDIR}/extra-patch-fcntl
TARGET= FBSD_AMD64
WORDSIZE= 64
ENDIANESS= le
diff --git a/lang/ezm3/files/extra-patch-fcntl b/lang/ezm3/files/extra-patch-fcntl
new file mode 100644
index 000000000000..dceda3c76358
--- /dev/null
+++ b/lang/ezm3/files/extra-patch-fcntl
@@ -0,0 +1,35 @@
+--- libs/m3core/src/runtime/FBSD_AMD64/RTHeapDepC.c.orig 2008-08-18 16:13:42.000000000 +0530
++++ libs/m3core/src/runtime/FBSD_AMD64/RTHeapDepC.c 2008-08-18 16:14:20.000000000 +0530
+@@ -1,2 +1,13 @@
++#include <fcntl.h>
++
+ void (*RTHeapRep_Fault)(char*);
+ void (*RTCSRC_FinishVM)();
++
++/*
++ * Translate between non-varargs and varargs calling conventions.
++ */
++int
++ufcntl(int fd, int cmd, long arg)
++{
++ return (fcntl(fd, cmd, arg));
++}
+--- libs/m3core/src/unix/freebsd-4.amd64/Unix.i3.orig 2008-08-18 16:13:42.000000000 +0530
++++ libs/m3core/src/unix/freebsd-4.amd64/Unix.i3 2008-08-18 16:15:09.000000000 +0530
+@@ -147,6 +147,7 @@
+ l_pid: pid_t := 0;
+ l_type: short; (* see below *)
+ l_whence: short;
++ l_sysid: int := 0;
+ END;
+ (* ok *)
+
+@@ -155,7 +156,7 @@
+ F_WRLCK = 3; (* Write lock *)
+ F_UNLCK = 2; (* Remove lock(s) *)
+
+-<*EXTERNAL*> PROCEDURE fcntl (fd, request: int; arg: long): int;
++<*EXTERNAL "ufcntl"*> PROCEDURE fcntl (fd, request: int; arg: long): int;
+ (* ok *)
+
+ (*** flock - apply or remove an advisory lock on an open file ***)