Re: COMPAT_43 ?

From: M. Warner Losh <imp_at_bsdimp.com>
Date: Sun, 13 Mar 2005 15:26:24 -0700 (MST)
In message: <2617.172.16.0.199.1110748478.squirrel_at_wettoast.dyndns.org>
            "Mike Jakubik" <mikej_at_rogers.com> 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
	
	
Received on Sun Mar 13 2005 - 21:26:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:29 UTC