Re: [PATCH] rename COMPAT_FREEBSD32

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 23 Mar 2010 10:20:46 -0400
On Monday 22 March 2010 4:48:19 pm Marcel Moolenaar wrote:
> 
> On Mar 22, 2010, at 10:52 AM, David O'Brien wrote:
> 
> > On Mon, Mar 15, 2010 at 09:00:18AM -0700, Julian Elischer wrote:
> >> I certainly agree.. can it be changed please?
> > 
> > I've waited a while to see what other opinions would be expressed on this
> > topic.  I believe there is sufficient support to rename COMPAT_FREEBSD32
> > to something else based on responses in the mailing lists.
> > 
> > I am sorry if some may wish to label this a "bikeshead".  But we seem to
> > have many folks disliking "COMPAT_FREEBSD32".
> > 
> > 
> > Based on responses to the topic of COMPAT_FREEBSD32, the following
> > were the suggestions offered:
> >    COMPAT_ARCH32, COMPAT_ARCH_32BIT, COMPAT_32BIT_ARCH, COMPAT_32BIT,
> >    COMPAT_FREEBSD32BIT
> 
> There's probably a bigger problem than just how we name it. The option
> really encodes 2 independent aspects:
> 1.  Support for a 32-bit ABI (i.e. ILP32)
> 2.  Support for a particular OS in ILP32.
> 
> Of course 2 implies 1.
> 
> For example:
> COMPAT_IA32 in sys/ia64/ia64/machdep.c enabled code to save and restore
> IA32 registers as part of cpu_switch(). In this context COMPAT_IA32 was
> perfectly named. It's now called COMPAT_FREEBSD32, which doesn't make a
> lot of sense because what if I only want to support Linux/ia32 and not
> FreeBSD/ia32 (or vice-versa if you club them under a single COMPAT_*32)?

For amd64 I think COMPAT_LINUX32 requires COMPAT_FREEBSD32 in practice for 
this reason.  If you did make them independent, I would prefer that the code 
use things like '#if defined(COMPAT_FREEBSD32) || defined(COMPAT_LINUX32)' 
instead of requiring the user to specify both COMPAT_IA32 and 
COMPAT_(FREEBSD32|LINUX32).

BTW, in that context COMPAT_FREEBSD32 looks far more consistent than other 
alternatives suggested.  I think all of the names have various pros and cons 
and that changing it is more hassle than its worth.  My one suggestion to 
Nathan was to move COMPAT_FREEBSD32 in GENERIC on amd64 so it is not 
immediately next to COMPAT_FREEBSD<n> to reduce confusion.

-- 
John Baldwin
Received on Tue Mar 23 2010 - 13:28:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:02 UTC