From: Ryan Underwood <nemesis-lists@icequake.net>
To: linux-msdos@vger.kernel.org
Subject: Re: bcc dpmi ver1.2.0
Date: Mon, 14 Jun 2004 05:27:24 -0500 [thread overview]
Message-ID: <20040614102724.GA6493@dbz.icequake.net> (raw)
In-Reply-To: <Pine.LNX.4.58.0406140037320.969@hani.compact.bogus>
[-- Attachment #1: Type: text/plain, Size: 2261 bytes --]
On Mon, Jun 14, 2004 at 01:00:44AM -0500, R.L. Horn wrote:
> On Mon, 14 Jun 2004, Stas Sergeev wrote:
>
> > Are you sure you are upgrading glibc with patches?
>
> The kernel. <linux/*> are kernel headers, not part of glibc, but the
> distributors appear to have muddied the waters considerably. (So, what
> else is new?)
[..]
> It sounds as though the distributors are maintaining multiple, possibly
> disparate, copies of the kernel headers.
There's a good reason for this. Building userspace applications against
kernel headers creates the very real possibility that a kernel upgrade
may break binary compatibility, because the interfaces may change from
kernel to kernel. The purpose of /usr/include/linux is to provide a
stable set of headers for compiling applications that does not include
things that might break as the structure of the kernel changes. It
also means that the structure of the developer and user's machine with
respect to compiling applications will be the same, which is obviously
a good thing for QA and bug-reports.
The userspace headers are almost always behind the kernel ones in terms
of what interfaces are supported, so if you have something that is
building against the version 234 interface of ioctl xyz, you should
probably add the header to the source of your application.
#including a kernel header directly instead is a hack; not only will
your binary potentially not work on a different kernel version, but that
interface may not be available in that kernel header on the user's
machine (if they even have a kernel source installed).
Think of the stable headers as a convenience measure; it is convenient
to be able to run the same binary with any kernel and for a user to be
able to compile your application no matter if he has a full kernel
source installed or if he is running a different kernel version or not.
They are not intended to be an annoyance or source of confusion (though
they are frequently perceived as such by people who misunderstand the
intent). It is fortunate that the bad old days of /usr/include/linux ->
/usr/src/linux/include are mostly gone, but some systems still do that
anyway (Slackware?).
--
Ryan Underwood, <nemesis@icequake.net>
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-06-14 10:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-13 22:58 bcc dpmi ver1.2.0 Stas Sergeev
2004-06-14 6:00 ` R.L. Horn
2004-06-14 10:27 ` Ryan Underwood [this message]
2004-06-15 3:00 ` James B. Hiller
2004-06-15 3:31 ` Patrick J. Volkerding
-- strict thread matches above, loose matches on Subject: below --
2004-06-14 11:05 Stas Sergeev
2004-06-14 10:45 Stas Sergeev
2004-06-15 3:26 ` R.L. Horn
2004-06-15 17:35 ` Stas Sergeev
2004-06-16 3:20 ` R.L. Horn
2004-06-12 8:29 Stas Sergeev
2004-06-13 3:55 ` R.L. Horn
2004-06-13 19:11 ` Bart Oldeman
2004-06-13 21:47 ` R.L. Horn
2004-06-11 19:54 David Stevenson
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=20040614102724.GA6493@dbz.icequake.net \
--to=nemesis-lists@icequake.net \
--cc=linux-msdos@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