From: "H. Peter Anvin" <hpa@zytor.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
linux-kernel@vger.kernel.org
Subject: Re: Recent changes to sysctl.h breaks glibc
Date: Mon, 19 May 2003 18:09:19 -0700 [thread overview]
Message-ID: <3EC9803F.6010701@zytor.com> (raw)
In-Reply-To: <1053392095.21582.48.camel@imladris.demon.co.uk>
David Woodhouse wrote:
>
> To a large extent, however, it merely grows. And in a lot of cases when
> it grows due to new syscalls, new interfaces, etc., you have to add
> matching code to glibc to use them _anyway_, so it's no problem for
> glibc's version of the headers to lag behind until the appropriate
> support is added.
>
... unless you need the new feature, may it be an ioctl to support your
device driver, or whatnot.
Most ABI changes do not require
> You are, however, correct that the correct fix is to have completely
> separate headers which define the ABI. Then the real kernel headers in
> include/linux and include/asm can include them, and C libraries can also
> use them without contamination.
>
> This requires that someone sit down and cut'n'paste large amounts of
> structures and definitions from include/linux/*.h into the new header
> files. I've been tempted to do that on occasion but what's held me up
> has been the fact that there isn't yet a consensus on how it should be
> laid out.
I maintain the proposal I have given before:
<linux/abi/*.h> as the header file namespace;
<linux/*.h> <asm/*.h> namespaces reserved for compatibility (once the
migration is complete these are owned by the libc)
Types use the __kernel_* namespace *only*; structures use struct __kernel_*.
Some form of export of the expected syscall ABI as well as syscall
numbering.
> For compatibility with older libc, one approach would be to add a new
> directory to the include path which matches the existing layout
> (linux/usrinclude/linux, linux/usrinclude/asm-*), and use #include_next
> from the actual kernel headers to pull in those files.
>
> Alternatively, we could go further and take the opportunity to rearrange
> stuff further; I'm not sure what we really gain from that though other
> than extra pain.
I don't think the <linux/*.h> namespace as its currently laid out is
very functional for exporting ABIs, so I'd like to
A bigger issue is if this really should be done in C. A worthwhile
thought: if this is done correctly then most or all of the 64/32 compat
code (or any other arch1-on-arch2 compatibility) should be able to be
automatically generated. If not, it almost certainly isn't done
correctly...
> If Linus would approve a strategy for rearranging the headers such that
> people can work on it without suspecting that they're just wasting their
> time, I think it could get done for 2.6.
>
> It's not the kind of thing you do in private and present as a fait
> accomplis -- if it isn't quite right, you end up having to do the whole
> thing from scratch, afaict.
Agreed.
-hpa
next prev parent reply other threads:[~2003-05-20 0:57 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-18 20:21 Recent changes to sysctl.h breaks glibc Martin Schlemmer
2003-05-18 20:49 ` William Lee Irwin III
2003-05-18 21:12 ` Martin Schlemmer
2003-05-19 5:38 ` Christoph Hellwig
2003-05-19 10:43 ` Martin Schlemmer
2003-05-19 10:51 ` William Lee Irwin III
2003-05-19 11:14 ` Martin Schlemmer
2003-05-19 11:21 ` William Lee Irwin III
2003-05-19 11:33 ` Arjan van de Ven
2003-05-19 11:43 ` Christoph Hellwig
2003-05-19 12:52 ` Martin Schlemmer
2003-05-19 21:14 ` H. Peter Anvin
2003-05-19 22:44 ` William Lee Irwin III
2003-05-19 22:46 ` H. Peter Anvin
2003-05-19 22:56 ` William Lee Irwin III
2003-05-19 23:04 ` H. Peter Anvin
2003-05-20 6:06 ` Martin Schlemmer
2003-05-19 11:45 ` Christoph Hellwig
2003-05-19 12:56 ` Martin Schlemmer
2003-05-19 13:06 ` Christoph Hellwig
2003-05-19 16:56 ` Sam Ravnborg
2003-05-19 17:41 ` Linus Torvalds
2003-05-19 21:16 ` H. Peter Anvin
2003-05-19 22:18 ` Eric W. Biederman
2003-05-19 22:31 ` H. Peter Anvin
2003-05-19 22:20 ` Alan Cox
2003-05-19 23:28 ` Andries Brouwer
2003-05-20 10:35 ` Lionel Elie Mamane
2003-05-19 23:30 ` H. Peter Anvin
2003-05-19 23:05 ` Eric W. Biederman
2003-05-19 23:17 ` H. Peter Anvin
2003-05-19 23:55 ` Eric W. Biederman
2003-05-20 0:24 ` Valdis.Kletnieks
2003-05-20 0:40 ` Eric W. Biederman
2003-05-20 1:11 ` Valdis.Kletnieks
2003-05-20 22:10 ` H. Peter Anvin
2003-05-20 0:30 ` H. Peter Anvin
2003-05-20 0:54 ` David Woodhouse
2003-05-20 1:09 ` H. Peter Anvin [this message]
2003-05-20 1:42 ` Miles Bader
2003-05-20 4:12 ` H. Peter Anvin
2003-05-20 4:24 ` Miles Bader
2003-05-20 6:37 ` Eric W. Biederman
2003-05-20 7:24 ` H. Peter Anvin
2003-05-20 19:04 ` Eric W. Biederman
2003-05-20 7:44 ` Riley Williams
2003-05-20 14:01 ` Chris Friesen
2003-05-20 17:06 ` H. Peter Anvin
2003-05-21 4:39 ` Martin Schlemmer
2003-05-21 5:38 ` H. Peter Anvin
2003-05-21 5:58 ` Eric W. Biederman
2003-05-19 18:05 ` David Ford
2003-05-19 17:44 ` Alan Cox
2003-05-20 2:21 ` David Ford
2003-05-19 18:24 ` Christoph Hellwig
2003-05-19 17:59 ` David Ford
2003-05-19 18:06 ` Arjan van de Ven
2003-05-19 18:23 ` David Ford
2003-05-19 18:34 ` Arjan van de Ven
2003-05-19 19:43 ` Martin Schlemmer
2003-05-19 21:21 ` H. Peter Anvin
2003-05-19 21:35 ` Sam Ravnborg
2003-05-19 21:37 ` Arjan van de Ven
-- strict thread matches above, loose matches on Subject: below --
2003-05-19 19:54 Mudama, Eric
2003-05-19 20:36 ` Martin Schlemmer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3EC9803F.6010701@zytor.com \
--to=hpa@zytor.com \
--cc=dwmw2@infradead.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox