Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 2012 07:13:57 +0100
From:      "Julian H. Stacey" <jhs@berklix.com>
To:        "Conrad J. Sabatier" <conrads@cox.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: COMPAT_* kernel config options -- some housecleaning overdue? 
Message-ID:  <201201160614.q0G6DvjH012679@fire.js.berklix.net>
In-Reply-To: Your message "Sun, 15 Jan 2012 19:13:34 CST." <20120115191334.385bd3eb@cox.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
"Conrad J. Sabatier" wrote:
> I've been wondering for a while now about the accuracy of some of the
> comments in /sys/conf/NOTES re: the various COMPAT_* options, and now,
> with 9.0-RELEASE already out the door and 10.0-CURRENT as the current
> development branch, it seems even more relevant to ask just how
> necessary or useful some of these options are anymore.
> 
> Let me preface the following by saying that I just recently built a
> 10.0-CURRENT kernel with no COMPAT_* options besides COMPAT_FREEBSD32
> and COMPAT_LINUX32, and everything seems to be working just fine (yes,
> including Linux emulation).
> 
> First and foremost, the comment re: COMPAT_43: "You probably do NOT
> want to remove this as much current code still relies on the 4.3
> emulation."

This might not be just refering to code runing on FreeBSD, but
perhaps also code running on older other legacy net machines ?  I suspect
I may have needed it to talk to eg my Symmetric 375 (a 4.2BSD Bill Jollitz
product pre 386BSD pre FreeBSD http://www.berklix.com/~jhs/symmetric/
) (Not that I put that comment in), it might be an ifdef
that allows adaptive detection of logic low & high for TCP broadcast
address ? 

Whatever, searching & updated comments on what they all do would be nice.
Feel free to search the source with find & grep
& use send-pr to update the comments, would be useful :-)

cd /usr/src 
vi -c/COMPAT_43TTY `find . -type f -exec grep -l COMPAT_43TTY {} \;`
dmesg ....


> This would appear to no longer be true.  And similarly,
> how relevant or viable is COMPAT_43TTY anymore?  Why would one want to
> use this?  

To support legacy code/ apps. Warning "There be dragons" as it says
on old maps ;-)  ie tty in Unix has traditionaly been a complex
place to mess around, personaly I'd stear clear & leave it to those
willing to futz about with tty :-).


> I suspect that neither of these options has any real effect
> anymore and both may, in fact, be essentially NOOPs.  How close to the
> real picture is that?

> 
> It is my understanding that, on 64-bit platforms, COMPAT_FREEBSD32
> *is* necessary if COMPAT_LINUX32 is enabled, which seems perfectly
> reasonable.  However, the comment accompanying COMPAT_LINUX32 states
> that COMPAT_43 is also required, which simply is not true.
> And speaking of Linux compatibility, we still have an erroneous reference to
> COMPAT_LINUX instead of COMPAT_LINUX32 accompanying 'device tdfx'.

dmesg then 

> Then, of course, there are the various COMPAT_FREEBSD[4-7] options,
> each accompanied by a comment which merely states the obvious but
> offers no real clue as to whether or not any of them are actually
> necessary.

was mentioned on another list in last few days

> I don't know, this whole COMPAT area just seems really messy to me -- 
> disorganized, unclearly documented and probably suffering from no small
> amount of bit rot and neglect.  I really do think it's time for some
> cleaning up.
> 
> Hope I didn't ruffle any feathers, but I just hate this type of gray
> fuzziness.  Clarification (maybe even some deprecation?) seems to be in
> order here.

Yup, certainly needs clearer comments ... find ... grep ... vi ... dmesg :-)

Cheers,
Julian
-- 
Julian Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
 Reply below not above, cumulative like a play script, & indent with "> ".
 Format: Plain text. Not HTML, multipart/alternative, base64, quoted-printable.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201160614.q0G6DvjH012679>