NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/43063: Please delete __NetBSD_Prereq__() from <sys/param.h>
The following reply was made to PR kern/43063; it has been noted by GNATS.
From: Robert Elz <kre%munnari.OZ.AU@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/43063: Please delete __NetBSD_Prereq__() from <sys/param.h>
Date: Sun, 28 Mar 2010 16:50:58 +0700
Date: Sat, 27 Mar 2010 19:35:02 +0000 (UTC)
From: David Holland <dholland-bugs%NetBSD.org@localhost>
Message-ID: <20100327193502.6F2DF63B11D%www.NetBSD.org@localhost>
| > if there realy is a need for such a test in pkgsrc world. Pkgsrc
folks?
|
| In general I don't think there is.
I certainly don't mind if some new macros are added, but I thought all this
stuff was for LKMs (originally) and, I guess, for modules now.
It really makes no sense for pkgsrc (or any application) to test to see what
kernel version is running - that's useless information, aside from the odd
ioctl (and similar) for which it is easier to test to see if the ioctl name
is defined, knowing what kernel is running is of no interest if the userland
API to the kernel is older - I have run a NetBSD 5 kernel with NetBSD 3.* based
libc, and NetBSD current (5.99.*) kernels with NetBSD 4 based libc - and
all of that is supposed to and (some threading issues aside) does work.
An application that looks at __NetBSD_Version__ from <sys/param.h> and
decides that means it is 5.99.* and so "just knows" that time_t is 64 bits,
or whatever else current has that's different from older systems is then
going to get a shock when time() (and all the time fields in kernel interface
structs) keep on being 32 bits using the compat interfaces into the kernel.
I really don't think we ought to be doing anything to encourage pkgsrc
(or any applications, aside perhaps from a few kernel monitoring type) from
ever finding out what kernel version happens to be running.
LKMs are dead, so we don't have to worry about those any more.
That just leaves modules, and I think the people building those are
quite able to create a macro to do whatever test on __NetBSD_Version__
that might need, if they ever need one.
So, for now, I think I'd suggest just deleting the worse than useless
__NetBSD_Prereq__ macro, and just wait to see if anything else is needed
rather than presuming that something will be.
kre
Home |
Main Index |
Thread Index |
Old Index