From owner-freebsd-current@FreeBSD.ORG Sun Mar 13 22:26:32 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E94B16A4CE for ; Sun, 13 Mar 2005 22:26:32 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id F225D43D2D for ; Sun, 13 Mar 2005 22:26:31 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.13.3/8.13.1) with ESMTP id j2DMQ5ak042948; Sun, 13 Mar 2005 15:26:06 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Sun, 13 Mar 2005 15:26:24 -0700 (MST) Message-Id: <20050313.152624.59920781.imp@bsdimp.com> To: mikej@rogers.com From: "M. Warner Losh" In-Reply-To: <2617.172.16.0.199.1110748478.squirrel@wettoast.dyndns.org> References: <2617.172.16.0.199.1110748478.squirrel@wettoast.dyndns.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-current@freebsd.org Subject: Re: COMPAT_43 ? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2005 22:26:32 -0000 In message: <2617.172.16.0.199.1110748478.squirrel@wettoast.dyndns.org> "Mike Jakubik" writes: : What does COMPAT_43 in the kernel really do? And is is really needed? Depending on the version of FreeBSD it is needed for the following things: (1) the Linux emulation layer has 4.3bsd like functions that this implements. (in fact, it appears this is still the case). (2) The svr4 emulation layer likewise. (3) The old signal handling code is under this, and is necessary to run FreeBSD 1, 2 and 3 binaries it seems. (4) There's an old mmap and getpagesize system call that's under it, which likely is there to run old BSD binaries (don't know if this is BSDI ones, or old FreeBSD ones too). (5) Translation of old ioctl interfaces for network layer interactions to new (this is why #1 depends on it) (6) The old creat, mknod, lseek, stat, truncate, getdirentries interface are covered by this as well (again, so old binaries can work, and likely there's some emulation code that depends on it). (7) A boatload of old ioctls for the tty system are 43 compat code (and are also under burn bridges). At one point in time, xterm required these calls. Now, that's no longer the case. (8) Old interfaces to sysv shared memory, getting the hostname (etc). There's likely a few more I overlooked. Warner