is exported to userland
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Simon Burge <simonb@wasabisystems.com>
List: netbsd-bugs
Date: 03/07/2006 21:55:02
The following reply was made to PR kern/33026; it has been noted by GNATS.
From: Simon Burge <simonb@wasabisystems.com>
To: thorpej@shagadelic.org
Cc: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/33026: <sys/systm.h> is exported to userland
Date: Wed, 08 Mar 2006 08:52:09 +1100
Simon Burge wrote:
> thorpej@shagadelic.org 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.
Simon.
--
Simon Burge <simonb@wasabisystems.com>
NetBSD Support and Service: http://www.wasabisystems.com/