lkml.org 
[lkml]   [2005]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateSat, 03 Sep 2005 08:19:17 -0700
From"H. Peter Anvin" <>
SubjectRe: [RFC] Splitting out kernel<=>userspace ABI headers
Erik Andersen wrote:
>
> That is certainly not what I was proposing. Why are you bringing
> sys/stat.h into this? The contents of sys/stat.h are entirely up
> to SUSv3 and the C library to worry about. Nobody has proposed
> mucking with that. I dunno about your C library, but mine
> doesn't include linux/* header files (not even sys/stat.h). And
> I'd really like to fix uClibc to not use any asm/* either, since
> much of it is entirely unsuitable for user space.
>

That's the whole problem here, isn't it, so let's fix it the sane way
instead of putting Descartes before Dehorse.

Anyway, to answer your implied question is: since I explicitly don't
have to worry about forward ABI compatibility, I expose the kernel ABI
raw. Thus I want to be able to use the kernel ABI directly, including
for things like struct stat. It poses a particularly interesting
problem, actually, because the real stat system call is called stat64 on
most platforms.

Thus, an ABIzed <linux/abi/stat.h> or whatever it's called might export
"struct __kabi_stat" and "struct __kabi_stat64" with the expectation
that the caller would "#define __kabi_stat64 stat" if that is the
version they want. A typedef isn't good enough for C, since you can't
typedef struct tags.

-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-03 17:25    [from the cache]
©2003-2010