From owner-svn-src-head@freebsd.org Mon Mar 23 16:02:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 650B9266E9E; Mon, 23 Mar 2020 16:02:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48mJzZ1kHRz4GYg; Mon, 23 Mar 2020 16:02:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 33C471907D; Mon, 23 Mar 2020 16:02:02 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02NG22DJ054550; Mon, 23 Mar 2020 16:02:02 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02NG22Gi054549; Mon, 23 Mar 2020 16:02:02 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202003231602.02NG22Gi054549@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 23 Mar 2020 16:02:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359246 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 359246 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2020 16:02:02 -0000 Author: imp Date: Mon Mar 23 16:02:01 2020 New Revision: 359246 URL: https://svnweb.freebsd.org/changeset/base/359246 Log: Document when execl and execp entered unix. For this, things are complicated. The first mention in the manual was in the 4th edition manual (as an add on to exec(II)). The 2nd and 3rd editions didn't have these in the manual (either as a separate page, or as an add-on to exec(II)). We don't have good 1st, 2nd or 3rd edition distributions to look in. However, there's a tape labeled 'last1120c' that we do have. This tape contains the last version of the V2 edition of the C compiler on it (just after C got struct). On this tape there was a libc.sa archive that contains source for execl and execp. This source is sufficiently different from the V5 sources (which are the next ones we have sources for) and have a slightly different calling convention than later sources, suggesting that the early date for the last1120c tape is correct (in that era, the epoch changed every year, leading to a one or two year ambiguity on when the files could have been modified) and it should be though of as V2. Since this was also a time of compiler development, and the calling convetions are known to be under evolution, and since the rest of the sources in libc.sa are consistent, that's further evidence that V2 is likely. Finally, 2nd edition was the last version to fully support the 11/20 because it lacked many basic features and bell labs moved off it to the 11/45 as soon as they could afford to buy one, around this time era. The unix manuals make it sound like V3 might have supported the 11/20, but the same intro could also be read to mean it didn't, at all, and that V3 was the first rewrite for the 11/45 ahead of the rewrite in C that came with V4. Taken together, the evidence leans most heavily to V2 (90% IMHO), and slightly to V3 (8%) or possibly V4 (2%). I've not put all this in the man page, but have left it here in case someone notices in the future that V4 is the first manual page for it. Modified: head/lib/libc/gen/exec.3 Modified: head/lib/libc/gen/exec.3 ============================================================================== --- head/lib/libc/gen/exec.3 Mon Mar 23 15:39:42 2020 (r359245) +++ head/lib/libc/gen/exec.3 Mon Mar 23 16:02:01 2020 (r359246) @@ -316,6 +316,12 @@ The function appeared in .At v1 . The +.Fn execl +and +.Fn execv +functions appeared in +.At v2 . +The .Fn execvP function first appeared in .Fx 5.2 .