From: jw schultz <jw@pegasys.ws>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Header files and the kernel ABI
Date: Thu, 25 Jul 2002 19:37:19 -0700 [thread overview]
Message-ID: <20020726023719.GA32764@pegasys.ws> (raw)
In-Reply-To: <3D406A09.37CE334@kegel.com>
On Thu, Jul 25, 2002 at 02:13:45PM -0700, dank@kegel.com wrote:
> Oliver Xymoron <oxymoron@waste.org> wrote:
> >
> > On Thu, 25 Jul 2002, Erik Andersen wrote:
> >
> > > On Thu Jul 25, 2002 at 09:31:23AM -0700, H. Peter Anvin wrote:
> > > > Oliver Xymoron wrote:
> > > > >
> > > > >Ideally, the ABI layer would be maintained and packaged separately from
> > > > >both the kernel and glibc to avoid gratuitous changes from either side.
> > > >
> > > > I disagree. The ABI is a product of the kernel and should be attached
> > > > to it. It is *not* a product of glibc -- glibc is a consumer of it, as
> > > > are any other libcs.
> > >
> > > Agreed. I maintain a libc and I certainly do not want to
> > > have to maintain the kernel ABI of the day headers. That
> > > is clearly a job for the kernel.
> >
> > The idea of maintaining them separately is that people won't be able to
> > touch the ABI without explicitly going through a gatekeeper whose job is
> > to minimize breakage. Linus usually catches ABI changes but not always.
> >
> > I explicitly did _not_ suggest making it the job of libc maintainers. And
> > the whole point of the exercise is to avoid ABI of the day anyway. The ABI
> > should change less frequently than the kernel or libc. It's more analogous
> > to something like modutils.
>
> IMHO it should live with the kernel, at least for now.
> The ABI .h files can live in a walled-off area that stays as stable as possible.
> Anyone building glibc should be able to grab the ABI .h files from a
> recent linux kernel source tarball without much effort. (Maybe we'd
> add a 'install headers_install' make target to install the ABI .h files
> to make it obvious how to get them.)
>
> Imagine what would happen if the base ABI .h files were maintained
> as part of a future Linux Standard Base, with the kernel only maintaining
> .h files for extensions to the base ABI. You'd need to install the ABI .h
> files before you could build the kernel! That might be the right way to
> go, but let's not propose it until the ABI .h files exist and are useful.
I'd say it should be maintained with the kernel. The lib
building process would include specifying the ABI headers
which would be copied to /usr/include as part of the libc
install. I'd rather keep this in the hands of the kernel
maintainers than have a new standards committee slowing
progress.
Building the kernel would reference the ABI headers in
/usr/include so the kernel built would match the libs.
Backward compatibility could be supported with by build-time
checks. In essence this would make the kernel ABI against
which the libc was built act as a set of implied kernel
build options. The kernel build process could eventually
detect incompatabilities for ABI changes via version
assertions. (what do you think Kieth?)
A CML option CONFIG_ABI would default to /usr/include/...
to allow building kernels for other systems or in
anticipation of a libc rebuild. (a shot in the foot)
This way kernel builds could leave out deprecated
interfaces as soon as the local libc stopped relying on
them.
--
________________________________________________________________
J.W. Schultz Pegasystems Technologies
email address: jw@pegasys.ws
Remember Cernan and Schmitt
next prev parent reply other threads:[~2002-07-26 2:34 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-25 21:13 Header files and the kernel ABI dank
2002-07-26 2:37 ` jw schultz [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-07-25 6:28 H. Peter Anvin
2002-07-25 6:51 ` Andreas Dilger
2002-07-25 7:07 ` H. Peter Anvin
2002-07-25 7:32 ` Andreas Dilger
2002-07-25 16:29 ` Oliver Xymoron
2002-07-25 16:31 ` H. Peter Anvin
2002-07-25 18:19 ` Erik Andersen
2002-07-25 20:03 ` Oliver Xymoron
2002-07-27 11:29 ` Eric W. Biederman
2002-07-25 16:30 ` H. Peter Anvin
2002-07-25 8:00 ` DervishD
2002-07-25 13:08 ` Brad Hards
2002-07-25 16:09 ` DervishD
2002-07-25 16:17 ` H. Peter Anvin
2002-07-25 18:22 ` Erik Andersen
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=20020726023719.GA32764@pegasys.ws \
--to=jw@pegasys.ws \
--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