summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2011-11-17 12:55:06 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2011-11-17 12:55:06 +0000
commitcaa6f3501017614097a9b107f76361844bc77f55 (patch)
tree55b9f57b32940913c3d9123694a226a161ab4831
parent2b63cadef46650bf5cdbec3a97d285d1ef1215a8 (diff)
Fix HISTORY:
Mention the predecessor exec() in v1, and remove the bogus "appeared in 3BSD", just leave "execve() appeared in v7", because: (1) There is a direct line of inheritance from v7 (Bell, Jan 1979) via 32v (Bell, May 1979) to 3BSD (UCB, Feb 1980), and it goes without saying that children include code from their grandparents. (2) It is impossible that there was parallel development of execve() at Bell and UCB. The only UCB release before v7 was 1BSD (May 1978), and even 2BSD (May 1979) did not include any kernel parts but fully relied on the Bell v6 kernel. When Bell released 32v, the UCB did not even own a VAX, and Bill Joy was still are pure userland hacker. Only after the original UCBVAX arrived at Berkeley, Richard Fateman involved Domenico Ferrari who involved Ozalp Babaoglu who started kernel work at UCB, based on Bell 32v, later involving Bill Joy. (3) Genetic analysis of the source code confirms this. All kernel code involved is in sys1.c. Regarding this file, the first two UCB releases, VAX 3BSD (based on Bell 32v) and PDP-11 2.8BSD (Dec 1981, based on Bell v7) are more similar to their respective Bell parents than to each other. The Berkeley versions are cousins, not siblings: v7 -> 32v: 523 +71 -60 = 534 v7 -> 2.8: 523 +305 -24 = 804 32v -> 3: 534 +169 -110 = 593 3 -> 2.8: 593 +413 -202 = 804 References: http://oreilly.com/catalog/opensources/book/kirkmck.html http://minnie.tuhs.org/cgi-bin/utree.pl?file=32V http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/sys/sys/sys1.c http://minnie.tuhs.org/cgi-bin/utree.pl?file=32V/usr/src/sys/sys/sys1.c http://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/sys/sys/sys1.c https://www.mckusick.com/csrg/ - /cdrom1/2.8/usr/kernel/sys/sys/sys1.c facts checked and ok sobrado@, style and formatting ok jmc@
-rw-r--r--lib/libc/sys/execve.214
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/libc/sys/execve.2 b/lib/libc/sys/execve.2
index fb10ff55a0e..b3f5980c0d7 100644
--- a/lib/libc/sys/execve.2
+++ b/lib/libc/sys/execve.2
@@ -1,4 +1,4 @@
-.\" $OpenBSD: execve.2,v 1.37 2011/10/24 19:31:56 schwarze Exp $
+.\" $OpenBSD: execve.2,v 1.38 2011/11/17 12:55:05 schwarze Exp $
.\" $NetBSD: execve.2,v 1.9 1995/02/27 12:32:25 cgd Exp $
.\"
.\" Copyright (c) 1980, 1991, 1993
@@ -30,7 +30,7 @@
.\"
.\" @(#)execve.2 8.3 (Berkeley) 1/24/94
.\"
-.Dd $Mdocdate: October 24 2011 $
+.Dd $Mdocdate: November 17 2011 $
.Dt EXECVE 2
.Os
.Sh NAME
@@ -322,12 +322,14 @@ The
.Fn exect
function should not be used in portable applications.
.Sh HISTORY
+The predecessor of these functions, the former
+.Fn exec
+system call, first appeared in
+.At v1 .
The
.Fn execve
-function call first appeared in
-.At v7
-and
-.Bx 3 .
+function first appeared in
+.At v7 .
.Sh CAVEATS
If a program is
.Em setuid