public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* using kernel headers in libc headers
@ 2009-11-30 16:37 Ulrich Drepper
  2009-11-30 17:01 ` H. Peter Anvin
  0 siblings, 1 reply; 5+ messages in thread
From: Ulrich Drepper @ 2009-11-30 16:37 UTC (permalink / raw)
  To: Linux Kernel Mailing List, Linus Torvalds

The kernel headers nowadays are cleaned up to separate in-kernel
definitions from those that are exported.  That's of course good but
it's unfortunately not sufficient to use (most of) the headers in
glibc.

Take <linux/sched.h> for instance.  The <sched.h> header is defined in
POSIX and therefore the specify which symbols can be defined in which
configuration.  The <linux/sched.h> defines all kinds of symbols,
though, unconditionally.  If you compare it with the glibc header
you'd see that all the CLONE_* symbols and some of the SCHED_* symbols
are only defined in certain configurations (non-POSIX configurations).

It's likely in everybody's interest to get the kernel headers used.
But for this mode #ifdefs are needed.  I'm willing to do the work.
Easy enough to do when I'm going through the headers one-by-one to
enable them in glibc.  But I don't want to start this work unless it's
going to be accepted.  The symbols would be something like

  __USE_MISC

or

  __USE_GNU

These are not macros which the user must define.  The user sets macros
like _GNU_SOURCE etc which then set all the appropriate __USE_* macros
(see "info libc 'Feature Test Macros'" on machines with glibc
installed).  These names are somewhat glibc-specific but other libcs
can (or already have) adapt them.

So, what do you say?

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-11-30 17:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-30 16:37 using kernel headers in libc headers Ulrich Drepper
2009-11-30 17:01 ` H. Peter Anvin
2009-11-30 17:40   ` Chris Friesen
2009-11-30 17:43   ` Ulrich Drepper
2009-11-30 17:55     ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox