From: Kyle Moffett <mrmacman_g4@mac.com>
To: Rob Landley <rob@thyrsus.com>
Cc: Nix <nix@esperi.org.uk>, Mariusz Mazur <mmazur@kernel.pl>,
LKML Kernel <linux-kernel@vger.kernel.org>,
llh-discuss@lists.pld-linux.org
Subject: Re: State of userland headers
Date: Sat, 25 Mar 2006 01:27:15 -0500 [thread overview]
Message-ID: <8A5F3A58-F954-4BEC-A085-2FF3D380B2F6@mac.com> (raw)
In-Reply-To: <200603242219.54677.rob@landley.net>
On Mar 24, 2006, at 22:19:54, Rob Landley wrote:
> On Friday 24 March 2006 5:46 pm, Kyle Moffett wrote:
>> however. Since the kabi/*.h headers would not be kernel-version-
>> specific, they could be copied to a system running an older kernel
>> and reused there without problems.
>
> Since when is the kernel ABI not kernel version specific? You can
> use an older ABI on a newer kernel, but you can't use a newer ABI
> on an older kernel.
By the very definition of "ABI", it _must_ not be kernel version
specific. A program written for a newer ABI and compiled against it
_must_ be able to gracefully handle syscalls not existing when run on
an older kernel. The program may fail to work entirely because the
syscalls it needs are not present, but that's no different than a
"Kernel does not have feature CONFIG_FOO enabled" issue.
>> Even though some of the syscalls and ioctls referenced in the kabi
>> headers might not be present on the running kernel, portable
>> programs are expected to be able to sanely handle older kernels.
>
> At the source level, maybe. At the binary level? Not really.
The ABI must be compatible at both source and binary interfaces,
"Application _Binary_ Interface" is the name, after all. It's OK to
introduce new features so long as you can gracefully handle them not
being present. Look for example at what happens if I take V4L apps
and run them on a 2.4.0 kernel without V4L. They report that the
kernel is too old or missing features, but aside from V4L not being
present, everything just works.
As a result, I think that if we can clean up the headers in kernel,
we can reuse those same headers for compiling userspace everywhere,
even if the userspace is going to be run on an older kernel.
Cheers,
Kyle Moffett
next prev parent reply other threads:[~2006-03-25 6:27 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-14 15:19 [ANNOUNCE] linux-libc-headers dead Mariusz Mazur
2006-03-14 15:28 ` Ismail Donmez
2006-03-16 8:37 ` [llh-announce] " Nigel Kukard
2006-03-16 20:20 ` Jan Engelhardt
2006-03-16 20:42 ` Dan Kegel
2006-03-17 7:56 ` DervishD
2006-03-23 17:11 ` State of userland headers Mariusz Mazur
2006-03-23 23:04 ` Rob Landley
2006-03-26 13:12 ` Mariusz Mazur
2006-03-26 20:59 ` Rob Landley
2006-03-24 18:51 ` Kyle Moffett
2006-03-24 21:23 ` Rob Landley
[not found] ` <878xqzpl8g.fsf@hades.wkstn.nix>
2006-03-24 22:46 ` Kyle Moffett
2006-03-24 23:01 ` Randy.Dunlap
2006-03-25 6:48 ` Kyle Moffett
2006-03-28 20:17 ` Jim Gifford
2006-03-25 1:36 ` Jeff Dike
2006-03-25 6:33 ` Kyle Moffett
2006-03-25 16:03 ` Jeff Dike
2006-03-25 3:19 ` Rob Landley
2006-03-25 6:27 ` Kyle Moffett [this message]
2006-03-26 11:52 ` [RFC][PATCH 0/2] KABI example conversion and cleanup Kyle Moffett
2006-03-26 11:54 ` [RFC][PATCH 1/2] Create initial kernel ABI header infrastructure Kyle Moffett
2006-03-26 12:32 ` Arjan van de Ven
2006-03-26 12:50 ` Kyle Moffett
2006-03-26 12:59 ` Martin Mares
2006-03-26 13:14 ` Kyle Moffett
2006-03-26 15:38 ` Martin Mares
2006-03-26 16:16 ` Kyle Moffett
2006-03-26 14:39 ` Arjan van de Ven
2006-03-26 15:23 ` Kyle Moffett
2006-03-29 22:26 ` Pavel Machek
2006-04-02 0:22 ` Randy.Dunlap
2006-04-02 2:42 ` Kyle Moffett
2006-04-02 3:01 ` Arjan van de Ven
2006-04-02 5:53 ` Kyle Moffett
2006-04-02 13:09 ` Arjan van de Ven
2006-04-02 10:32 ` Pavel Machek
2006-04-02 11:16 ` Kyle Moffett
2006-03-26 20:05 ` Sam Ravnborg
2006-03-26 20:39 ` Kyle Moffett
2006-03-26 21:26 ` Sam Ravnborg
2006-03-27 0:27 ` Kyle Moffett
2006-03-26 11:55 ` [RFC][PATCH 2/2] Generalize fd_set handling across architectures Kyle Moffett
2006-03-26 12:06 ` [RFC][PATCH 0/2] KABI example conversion and cleanup Kyle Moffett
2006-03-26 13:43 ` Nix
2006-03-26 12:26 ` Arjan van de Ven
2006-03-26 12:30 ` Arjan van de Ven
2006-03-26 12:34 ` Kyle Moffett
2006-03-26 13:22 ` Giuseppe Bilotta
2006-03-26 13:29 ` Avi Kivity
2006-03-26 13:47 ` Kyle Moffett
2006-03-26 13:53 ` Giuseppe Bilotta
2006-03-26 14:30 ` Kyle Moffett
2006-03-26 14:45 ` Giuseppe Bilotta
2006-03-26 17:24 ` Avi Kivity
2006-03-26 17:29 ` Arjan van de Ven
2006-03-26 17:57 ` Avi Kivity
2006-03-26 18:32 ` Arjan van de Ven
2006-03-26 21:18 ` Rob Landley
2006-03-27 0:18 ` Kyle Moffett
2006-03-27 6:19 ` Avi Kivity
2006-03-27 19:48 ` Rob Landley
2006-03-28 20:04 ` Mariusz Mazur
2006-03-28 20:13 ` Kyle Moffett
2006-03-28 22:57 ` Rob Landley
2006-03-26 20:55 ` Rob Landley
2006-03-27 0:12 ` Kyle Moffett
2006-03-26 14:31 ` Eric Piel
2006-03-26 21:09 ` Rob Landley
2006-03-26 23:06 ` Eric Piel
2006-03-27 0:40 ` Kyle Moffett
2006-03-27 3:12 ` Jeff Dike
2006-03-28 14:20 ` Jan Engelhardt
2006-03-28 15:57 ` [OT] Non-GCC compilers used for linux userspace Kyle Moffett
2006-03-28 16:13 ` Eric Piel
2006-03-28 16:20 ` Kyle Moffett
2006-03-28 16:59 ` Jason L Tibbitts III
2006-03-28 17:13 ` Kyle Moffett
2006-03-28 17:28 ` Daniel Jacobowitz
2006-03-28 17:41 ` Kyle Moffett
2006-04-05 17:01 ` Bryan O'Sullivan
2006-03-28 17:08 ` Jan-Benedict Glaw
2006-03-28 17:56 ` Jesper Juhl
2006-03-28 21:47 ` Rob Landley
2006-03-29 21:23 ` Nix
2006-03-30 1:36 ` Rob Landley
2006-03-30 7:24 ` Nix
2006-03-30 20:26 ` Rob Landley
2006-03-30 22:02 ` Nix
2006-03-30 23:00 ` Harald Arnesen
2006-03-30 23:16 ` Rob Landley
2006-03-29 13:25 ` Mathieu Chouquet-Stringer
2006-03-28 18:44 ` Eric W. Biederman
2006-03-29 4:26 ` Peter Chubb
2006-03-30 15:15 ` Roger Heflin
2006-03-28 17:16 ` [RFC][PATCH 0/2] KABI example conversion and cleanup Ben Pfaff
2006-03-28 17:08 ` Catalin Marinas
2006-03-31 0:20 ` Arch-specific header inconsistency (asm-*/termios.h) Kyle Moffett
2006-04-02 17:58 ` [RFC][PATCH 0/2] KABI example conversion and cleanup Sam Ravnborg
2006-04-02 19:30 ` Kyle Moffett
2006-04-02 20:47 ` Arnd Bergmann
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=8A5F3A58-F954-4BEC-A085-2FF3D380B2F6@mac.com \
--to=mrmacman_g4@mac.com \
--cc=linux-kernel@vger.kernel.org \
--cc=llh-discuss@lists.pld-linux.org \
--cc=mmazur@kernel.pl \
--cc=nix@esperi.org.uk \
--cc=rob@thyrsus.com \
/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
all inboxes | Powered by JetHome®