From c4aeb1a8b7537b061fdf6c12ee7d4bc1d490c6ec Mon Sep 17 00:00:00 2001 From: John Polstra Date: Tue, 28 Apr 1998 22:20:55 +0000 Subject: 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. --- lang/modula-3-lib/files/patch-bk | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'lang/modula-3-lib/files/patch-bk') 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]; -- cgit v1.2.3