Subject: Re: kern/33026: is exported to userland
To: None <thorpej@shagadelic.org>
From: Simon Burge <simonb@wasabisystems.com>
List: netbsd-bugs
Date: 03/08/2006 08:52:09
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/