aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdp <jdp@FreeBSD.org>1998-04-29 06:20:55 +0800
committerjdp <jdp@FreeBSD.org>1998-04-29 06:20:55 +0800
commitc986502eeed1e9ba0b926f9eeeb83f3f7d4b43fa (patch)
tree76514ef46ee13a97ed8e7cabb685d9e8c3995944
parent0aa473073a333ff25593a3220aaf6f614f8d9692 (diff)
downloadfreebsd-ports-gnome-c986502eeed1e9ba0b926f9eeeb83f3f7d4b43fa.tar.gz
freebsd-ports-gnome-c986502eeed1e9ba0b926f9eeeb83f3f7d4b43fa.tar.zst
freebsd-ports-gnome-c986502eeed1e9ba0b926f9eeeb83f3f7d4b43fa.zip
Fix an old bug in the runtime system which very rarely could cause
EFAULT to be generated on calls to open(2) or fcntl(2). Bump the shared libraries' major version numbers to guard against possible binary incompatibilities introduced by this fix.
-rw-r--r--lang/modula-3-lib/files/patch-ah2
-rw-r--r--lang/modula-3-lib/files/patch-bk32
-rw-r--r--lang/modula-3-lib/files/patch-bs18
-rw-r--r--lang/modula-3-lib/pkg-plist80
4 files changed, 88 insertions, 44 deletions
diff --git a/lang/modula-3-lib/files/patch-ah b/lang/modula-3-lib/files/patch-ah
index d01badcde98a..01c66c6a37e8 100644
--- a/lang/modula-3-lib/files/patch-ah
+++ b/lang/modula-3-lib/files/patch-ah
@@ -193,7 +193,7 @@ Update the m3build templates for FreeBSD-2.1 and later.
proc after_library_hooks(x) is
local lib_a = format ("lib%s.a", x)
- local lib_so = format ("lib%s.so.1.1", x)
-+ local lib_so = format ("lib%s.so.5.0", x)
++ local lib_so = format ("lib%s.so.6.0", x)
local dest = format ("%s%s%s%s%s", PKG_INSTALL, SL, BUILD_PACKAGE,
SL, BUILD_DIR)
diff --git a/lang/modula-3-lib/files/patch-bk b/lang/modula-3-lib/files/patch-bk
index f94316eb14ec..6d721061f979 100644
--- a/lang/modula-3-lib/files/patch-bk
+++ b/lang/modula-3-lib/files/patch-bk
@@ -1,8 +1,10 @@
Support for SOCKS wrappers in Unix.i3.
Also add some missing system call declarations.
+Also fix misdirected entries for "open" and "fcntl" which bypassed the
+VM wrappers.
--- m3/m3core/src/unix/freebsd-2/Unix.i3.orig Sat Jan 7 14:41:42 1995
-+++ m3/m3core/src/unix/freebsd-2/Unix.i3 Thu Jul 10 18:32:36 1997
++++ m3/m3core/src/unix/freebsd-2/Unix.i3 Thu Apr 23 22:09:54 1998
@@ -84,9 +84,10 @@
<*EXTERNAL*> PROCEDURE fchmod (fd, mode: mode_t): int;
(* ok *)
@@ -35,7 +37,18 @@ Also add some missing system call declarations.
(* ok *)
(*** execve - execute a file ***)
-@@ -773,6 +774,9 @@
+@@ -156,10 +157,7 @@
+ F_WRLCK = 3; (* Write lock *)
+ F_UNLCK = 2; (* Remove lock(s) *)
+
+-(* with vm use this
+ <*EXTERNAL "ufcntl"*> PROCEDURE fcntl (fd, request, arg: int): int;
+-*)
+-<*EXTERNAL "m3_fcntl"*> PROCEDURE fcntl (fd, request, arg: int): int;
+ (* ok *)
+
+ (*** flock - apply or remove an advisory lock on an open file ***)
+@@ -773,6 +771,9 @@
PROCEDURE lseek (d: int; offset: off_t; whence: int): off_t;
(* ok *)
@@ -45,7 +58,20 @@ Also add some missing system call declarations.
(*** mkdir - make a directory file ***)
<*EXTERNAL*> PROCEDURE mkdir (path: char_star; mode: mode_t): int;
(* ok *)
-@@ -892,7 +896,7 @@
+@@ -827,12 +828,8 @@
+
+ M3_NONBLOCK = O_NONBLOCK; (* -1 => would block, 0 => EOF *)
+
+-(* with vm use this
+ <*EXTERNAL "uopen" *> PROCEDURE open (name: char_star;
+ flags, mode: int): int;
+-*)
+-<*EXTERNAL "m3_open" *> PROCEDURE open (name: char_star;
+- flags, mode: int): int;
+ (* ok *)
+
+ (*** pipe - create an interprocess channel ***)
+@@ -892,7 +889,7 @@
TYPE
FDSet = SET OF [0 .. MAX_FDSET - 1];
diff --git a/lang/modula-3-lib/files/patch-bs b/lang/modula-3-lib/files/patch-bs
new file mode 100644
index 000000000000..a58a5f7de94c
--- /dev/null
+++ b/lang/modula-3-lib/files/patch-bs
@@ -0,0 +1,18 @@
+--- m3/m3core/src/unix/freebsd-2/off_t_wrap.c.orig Thu Jan 12 09:28:20 1995
++++ m3/m3core/src/unix/freebsd-2/off_t_wrap.c Thu Apr 23 22:08:58 1998
+@@ -33,15 +33,3 @@
+ off_t len = (off_t) length;
+ return ftruncate(fd, length);
+ }
+-
+-/* added to avoid problems with the ellipsis... */
+-
+-int m3_fcntl(int fd, int cmd, int arg)
+-{
+- return fcntl(fd, cmd, arg);
+-}
+-
+-int m3_open(const char *path, int flags, mode_t mode)
+-{
+- return open(path, flags, mode);
+-}
diff --git a/lang/modula-3-lib/pkg-plist b/lang/modula-3-lib/pkg-plist
index 9619b88c250f..561772a0d7c7 100644
--- a/lang/modula-3-lib/pkg-plist
+++ b/lang/modula-3-lib/pkg-plist
@@ -1,43 +1,43 @@
etc/rc.d/50.m3.sh
-lib/m3/FreeBSD2/libDiGraph.so.5.0
-lib/m3/FreeBSD2/libGeometry.so.5.0
-lib/m3/FreeBSD2/libImages.so.5.0
-lib/m3/FreeBSD2/libTempFiles.so.5.0
-lib/m3/FreeBSD2/libjvideo.so.5.0
-lib/m3/FreeBSD2/libm3.so.5.0
-lib/m3/FreeBSD2/libm3X11R4.so.5.0
-lib/m3/FreeBSD2/libm3core.so.5.0
-lib/m3/FreeBSD2/libm3formsvbt.so.5.0
-lib/m3/FreeBSD2/libm3formsvbtpixmaps.so.5.0
-lib/m3/FreeBSD2/libm3parseparams.so.5.0
-lib/m3/FreeBSD2/libm3tcp.so.5.0
-lib/m3/FreeBSD2/libm3tools.so.5.0
-lib/m3/FreeBSD2/libm3ui.so.5.0
-lib/m3/FreeBSD2/libm3vbtkit.so.5.0
-lib/m3/FreeBSD2/libset.so.5.0
-lib/m3/FreeBSD2/libtable-list.so.5.0
-lib/m3/FreeBSD2/libtcpextras.so.5.0
-lib/m3/FreeBSD2/libvideovbt.so.5.0
-lib/m3/FreeBSD2/libweb.so.5.0
-lib/m3/pkg/X11R4/FreeBSD2/libm3X11R4.so.5.0
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.so.5.0
-lib/m3/pkg/formsvbt/FreeBSD2/libm3formsvbt.so.5.0
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/libm3formsvbtpixmaps.so.5.0
-lib/m3/pkg/images/FreeBSD2/libImages.so.5.0
-lib/m3/pkg/jvideo/FreeBSD2/libjvideo.so.5.0
-lib/m3/pkg/libm3/FreeBSD2/libm3.so.5.0
-lib/m3/pkg/m3core/FreeBSD2/libm3core.so.5.0
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.so.5.0
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.so.5.0
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.so.5.0
-lib/m3/pkg/set/FreeBSD2/libset.so.5.0
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.so.5.0
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.so.5.0
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.so.5.0
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.so.5.0
-lib/m3/pkg/ui/FreeBSD2/libm3ui.so.5.0
-lib/m3/pkg/vbtkit/FreeBSD2/libm3vbtkit.so.5.0
-lib/m3/pkg/videovbt/FreeBSD2/libvideovbt.so.5.0
-lib/m3/pkg/web/FreeBSD2/libweb.so.5.0
+lib/m3/FreeBSD2/libDiGraph.so.6.0
+lib/m3/FreeBSD2/libGeometry.so.6.0
+lib/m3/FreeBSD2/libImages.so.6.0
+lib/m3/FreeBSD2/libTempFiles.so.6.0
+lib/m3/FreeBSD2/libjvideo.so.6.0
+lib/m3/FreeBSD2/libm3.so.6.0
+lib/m3/FreeBSD2/libm3X11R4.so.6.0
+lib/m3/FreeBSD2/libm3core.so.6.0
+lib/m3/FreeBSD2/libm3formsvbt.so.6.0
+lib/m3/FreeBSD2/libm3formsvbtpixmaps.so.6.0
+lib/m3/FreeBSD2/libm3parseparams.so.6.0
+lib/m3/FreeBSD2/libm3tcp.so.6.0
+lib/m3/FreeBSD2/libm3tools.so.6.0
+lib/m3/FreeBSD2/libm3ui.so.6.0
+lib/m3/FreeBSD2/libm3vbtkit.so.6.0
+lib/m3/FreeBSD2/libset.so.6.0
+lib/m3/FreeBSD2/libtable-list.so.6.0
+lib/m3/FreeBSD2/libtcpextras.so.6.0
+lib/m3/FreeBSD2/libvideovbt.so.6.0
+lib/m3/FreeBSD2/libweb.so.6.0
+lib/m3/pkg/X11R4/FreeBSD2/libm3X11R4.so.6.0
+lib/m3/pkg/digraph/FreeBSD2/libDiGraph.so.6.0
+lib/m3/pkg/formsvbt/FreeBSD2/libm3formsvbt.so.6.0
+lib/m3/pkg/formsvbtpixmaps/FreeBSD2/libm3formsvbtpixmaps.so.6.0
+lib/m3/pkg/images/FreeBSD2/libImages.so.6.0
+lib/m3/pkg/jvideo/FreeBSD2/libjvideo.so.6.0
+lib/m3/pkg/libm3/FreeBSD2/libm3.so.6.0
+lib/m3/pkg/m3core/FreeBSD2/libm3core.so.6.0
+lib/m3/pkg/m3tools/FreeBSD2/libm3tools.so.6.0
+lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.so.6.0
+lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.so.6.0
+lib/m3/pkg/set/FreeBSD2/libset.so.6.0
+lib/m3/pkg/table-list/FreeBSD2/libtable-list.so.6.0
+lib/m3/pkg/tcp/FreeBSD2/libm3tcp.so.6.0
+lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.so.6.0
+lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.so.6.0
+lib/m3/pkg/ui/FreeBSD2/libm3ui.so.6.0
+lib/m3/pkg/vbtkit/FreeBSD2/libm3vbtkit.so.6.0
+lib/m3/pkg/videovbt/FreeBSD2/libvideovbt.so.6.0
+lib/m3/pkg/web/FreeBSD2/libweb.so.6.0
share/modula-3-lib/COPYRIGHT
@exec /sbin/ldconfig -m %D/lib/m3/FreeBSD2