Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Nov 2011 09:59:56 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Kostik Belousov <kostikbel@gmail.com>, Adrian Chadd <adrian@freebsd.org>, freebsd-arch@freebsd.org, Warner Losh <imp@bsdimp.com>, Robert Millan <rmh@freebsd.org>
Subject:   Re: [PATCH] Detect GNU/kFreeBSD in user-visible kernel headers
Message-ID:  <201111170959.56767.jhb@freebsd.org>
In-Reply-To: <CAOfDtXMsmDa2XaZ0qmMKZxF5xagotw5EwaU=7y_GUxKLhaJ9OQ@mail.gmail.com>
References:  <CAOfDtXPX1Rv9T7%2B1jYQbkM14tRY7mqgCzPcUqvHxFaRObbwvEg@mail.gmail.com> <B188597B-4446-4EAB-A9BD-D9EBBEB8B1D7@bsdimp.com> <CAOfDtXMsmDa2XaZ0qmMKZxF5xagotw5EwaU=7y_GUxKLhaJ9OQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, November 17, 2011 1:46:33 am Robert Millan wrote:
> 2011/11/16 Warner Losh <imp@bsdimp.com>:
> > My second reaction was why not have
> >
> > #ifndef __FreeBSD_kernel__
> > #define __FreeBSD_kernel__ __FreeBSD__
> > #endif
> >
> > in sys/param.h and then just change __FreeBSD__ to __FreeBSD_kernel__ in the headers that are affected?  But I'm not quite sure what effects 
that would have on your environment.
> 
> I'm fine with this.
> 
> > Why do you think people wouldn't be fond of the __FreeBSD_kernel__ being defined?
> 
> See archived discussion:
> 
> http://lists.freebsd.org/pipermail/freebsd-hackers/2011-July/035721.html
> 
> particularly this mail in which you participated:
> 
> http://lists.freebsd.org/pipermail/freebsd-hackers/2011-July/035823.html

I recall the discussion from earlier.  I can't recall if I had replied to it
though. :-/  In my current opinion, I think it would be fine to define
__FreeBSD_kernel__ on FreeBSD and to do it in <sys/param.h> for now until all
the compilers we use have been updated to define it automatically (which may
be a long time).  I think it will also be fine to patch in-system headers to
use __FreeBSD_kernel__ once <sys/param.h> is defined.  Unfortunately headers
in 3rd party software are going to have to check for both __FreeBSD__ and
__FreeBSD_kernel__ to support both GNU/kFreeBSD and older FreeBSD for the
foreseeable future.  I think that is fine, but that the sooner we add
__FreeBSD_kernel__ on FreeBSD the sooner we get the clock started for a day
when those extra checks can go away.  I would also be fine with MFC'ing the
addition of __FreeBSD_kernel__ to older branches (at least 7 - 9) as well.

-- 
John Baldwin



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