lkml.org 
[lkml]   [2009]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
Subjectusing kernel headers in libc headers
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?


\
 
 \ /
  Last update: 2009-11-30 17:39    [W:0.030 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site