|
|
The following reply was made to PR kern/33026; it has been noted by GNATS.
From: christos@xxxxxxxxxx (Christos Zoulas)
To: Simon Burge <simonb@xxxxxxxxxxxxxxxxx>, thorpej@xxxxxxxxxxxxxx
Cc: gnats-bugs@xxxxxxxxxx, kern-bug-people@xxxxxxxxxx,
gnats-admin@xxxxxxxxxx, netbsd-bugs@xxxxxxxxxx
Subject: Re: kern/33026: <sys/systm.h> is exported to userland
Date: Tue, 7 Mar 2006 17:15:49 -0500
On Mar 8, 8:52am, simonb@xxxxxxxxxxxxxxxxx (Simon Burge) wrote:
-- Subject: Re: kern/33026: <sys/systm.h> is exported to userland
| Simon Burge wrote:
|
| > thorpej@xxxxxxxxxxxxxx wrote:
| >
| > > >Number: 33026
| > > >Category: kern
| > > >Synopsis: <sys/systm.h> is exported to userland
| > > >Description:
| > > <sys/systm.h> is exported to userland. This kernel-only header
| > > contains nothing of value outside that context, and changes to
| > > that header file (which were totally appropriate for a kernel
| > > environment) recently broke compilation of the NetBSD userland.
| > >
| > > >How-To-Repeat:
| > > N/A
| > > >Fix:
| > > <sys/systm.h> should be removed from the collection of userland
| > > headers and added to the obsolete list.
| >
| > It's uglier than that even. Latish last year I changed it so that
| > <sys/systm.h> _wasn't_ installed in userland, but libc uses -I${src}/sys
| > and some libc code uses <sys/systm.h>.
|
| All the uses of <sys/systm.h> appear to be to get the SCARG macro. As a
| fix, do we find another header for this macro? <sys/syscallargs.h> seems
| best at a quick glance, except that it's autogenerated. It wouldn't be
| too hard to get makesyscalls.sh to add these macros at the bottom of the
| header.
The only thing that uses SCARG() in libc is the clockctl stuff. I suggest
that we just break it (clockctl) and use a sane API with it. So what, ntp
will need to be recompiled if it uses clockctl or run as root.
christos
|
|