[klibc] [PATCH] build: Define __EXPORTED_HEADER__

Arnd Bergmann arnd at arndb.de
Fri Feb 25 02:40:46 PST 2011


On Friday 25 February 2011, Mike Waychison wrote:
> On Thu, Feb 24, 2011 at 6:19 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> > On Thursday 24 February 2011, Mike Waychison wrote:
> >> The kernel header guard to ensure that headers aren't included from
> >> userland moved in commit 69c8f52b.  This causes the following message to
> >> be emitted when building klibc (which is designed to use kernel headers
> >> explicitly):
> >>
> >> /usr/local/src/git/linux-2.6//include/linux/types.h:13:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders"
> >>
> >> In order to silence this warning, make sure we define
> >> __EXPORTED_HEADERS__ when building klibc userland.
> >>
> >> Signed-off-by: Mike Waychison <mikew at google.com>
> >
> > Well, klibc uses the kernel headers, but I don't think it's a good idea
> > to use them directly without make headers_install. Since klibc also
> > doesn't set -D__KERNEL__, the result should be the same, except that
> > it makes sure not to use any headers that are meant to be internal.
> 
> I'm not sure I follow.  The warning happens when __KERNEL__ isn't set.
> 
> Also, the build for klibc explicitly supports using kernel headers
> without installing them first via setting KLIBCKERNELSRC.

My point was that klibc should perhaps no longer support this. When klibc
was initially written, we did not have a way to install kernel headers and
distros shipped a set of hand-crafter modified kernel headers. This is no
longer the case since the kernel headers now work for all other libc
implementations after installing.

Is there still any benefit in allowing klibc to be built without
installing the headers?

For instance, it should be easy to change the klibc build process from
requiring to link to the kernel source to automatically installing the
kernel headers into the klibc object directory.

	Arnd



More information about the klibc mailing list