Date: Tue, 23 Mar 2010 10:20:46 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Marcel Moolenaar <xcllnt@mac.com> Subject: Re: [PATCH] rename COMPAT_FREEBSD32 Message-ID: <201003231020.46887.jhb@freebsd.org> In-Reply-To: <18331E07-2DEA-43C7-A0BF-5B3A2E827FDB@mac.com> References: <E1Nr9jL-0000fx-Nj@clue.co.za> <20100322175213.GA87475@dragon.NUXI.org> <18331E07-2DEA-43C7-A0BF-5B3A2E827FDB@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003231020.46887.jhb>