linux-embedded.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Enrico Weigelt <weigelt@metux.de>, linux-embedded@vger.kernel.org
Subject: Re: cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...)
Date: Mon, 16 Jun 2008 12:52:18 +0100	[thread overview]
Message-ID: <20080616115218.GF18857@shareable.org> (raw)
In-Reply-To: <1213614593.26255.691.camel@pmac.infradead.org>

David Woodhouse wrote:
> On Mon, 2008-06-16 at 11:49 +0100, Jamie Lokier wrote:
> > But here's the thing: do you really want every package have code
> > calling every different variation on a system call, at run time, until
> > it finds one that works?
> 
> No. That functionality lives in libc, if you want it at all.

Sometimes that's ok.

But sometimes libc can't do that, because the point of a newer
function is it addresses some inadequacy of an old function.  If libc
does a "compatibility" thing and uses old syscalls on old kernels,
sometimes that introduces bugs.

E.g. Calls to pread should _not_ be implemented as lseek+read+lseek on
old kernels which don't have pread.  That leads to race conditions and
corruption in some applications.  (I think this has really occurred,
but I'm unable to find it now).

The same applications are fine if pread returns ENOSYS and they know
what they need to do with lseek and read.

The same is true of the rsync example, with utimes and utime.  It's
wrong for libc to "emulate" utimes using utime on old kernels: they
aren't the same.  So the application does it instead: the application
has a policy that it's fine with the different functionality when
utimes returns ENOSYS.

-- Jamie

  reply	other threads:[~2008-06-16 11:52 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1209577322.25560.402.camel@pmac.infradead.org>
     [not found] ` <87bq3rgq40.fsf@basil.nowhere.org>
     [not found]   ` <1209582709.25560.441.camel@pmac.infradead.org>
     [not found]     ` <1209582709.25560.441.camel-ZP4jZrcIevRpWr+L1FloEB2eb7JE58TQ@public.gmane.org>
2008-05-28 21:52       ` [PATCH 0/1] Embedded Maintainer(s), linux-embedded@vger list Rob Landley
2008-06-09 21:27         ` Leon Woestenberg
2008-06-10  3:53           ` Rob Landley
2008-06-10  4:30             ` Sam Ravnborg
2008-06-10  6:55               ` Rob Landley
2008-06-10  7:54                 ` Sam Ravnborg
2008-06-10  9:09                   ` Wolfgang Denk
2008-06-10 13:12                     ` Jamie Lokier
2008-06-10 13:25                       ` Will Newton
2008-06-10 13:33                         ` David Woodhouse
2008-06-10 13:47                           ` Will Newton
2008-06-10 13:53                             ` David Woodhouse
2008-06-10 14:00                               ` Grant Likely
2008-06-10 14:01                             ` Wolfgang Denk
2008-06-10 14:29                               ` Jamie Lokier
2008-06-11  5:34                             ` Rob Landley
2008-06-10 13:49                         ` Wolfgang Denk
2008-06-11  5:25                           ` Rob Landley
2008-06-12 18:18                             ` Enrico Weigelt
2008-06-12 18:55                               ` Wolfgang Denk
2008-06-12 20:55                                 ` Enrico Weigelt
2008-06-15 21:48                               ` Rob Landley
2008-06-17 14:11                                 ` Enrico Weigelt
2008-06-10 13:47                       ` Wolfgang Denk
2008-06-10 10:20                   ` Jamie Lokier
2008-06-10 10:36                     ` Adrian Bunk
2008-06-10 10:50                     ` Sam Ravnborg
2008-06-11  5:28                       ` Paul Mundt
2008-06-10 17:36                   ` Tim Bird
2008-06-11  3:35                   ` Rob Landley
2008-06-11  5:47                     ` Greg Ungerer
2008-06-12  0:41                       ` Rob Landley
2008-06-12  7:55                         ` Jamie Lokier
2008-06-12 15:23                         ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Tim Bird
2008-06-12 15:50                           ` David Woodhouse
2008-06-12 16:05                             ` Mike Frysinger
2008-06-12 16:08                               ` David Woodhouse
2008-06-12 16:15                                 ` Mike Frysinger
2008-06-12 16:12                               ` Robert P. J. Day
2008-06-13  0:25                                 ` Rob Landley
2008-06-13  1:22                                   ` Bill Gatliff
2008-06-13  6:55                                   ` Alexander Neundorf
2008-06-13 15:06                                     ` Enrico Weigelt
2008-06-13  7:04                                   ` David Woodhouse
2008-06-13 15:02                                     ` linux-embedded-owner
2008-06-13 17:00                                       ` David Woodhouse
2008-06-13 17:12                                         ` Bill Traynor
2008-06-13 18:44                                           ` Tim Bird
2008-06-13 18:55                                             ` Sam Ravnborg
2008-06-13 19:00                                             ` Bill Traynor
2008-06-13 19:43                                             ` Johannes Stezenbach
2008-06-13 17:30                                       ` Makefile debugger linux-embedded-owner
2008-06-13  8:50                                   ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13  9:11                                     ` Alexander Neundorf
2008-06-13 14:51                                   ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Enrico Weigelt
2008-06-16  7:58                                     ` Alexander Neundorf
2008-06-16 16:00                                       ` Enrico Weigelt
2008-06-16 17:38                                         ` Adrian Bunk
2008-06-17 13:57                                           ` Enrico Weigelt
2008-06-13 11:14                                 ` Geert Uytterhoeven
2008-06-13 11:22                                 ` Bart Van Assche
2008-06-12 18:29                               ` Josh Boyer
2008-06-12 19:02                                 ` Mike Frysinger
2008-06-13 13:29                                   ` Josh Boyer
2008-06-13 13:59                                   ` Josh Boyer
2008-06-12 16:08                             ` Paul Mundt
2008-06-12 16:28                               ` Bill Gatliff
2008-06-12 16:31                                 ` Paul Mundt
2008-06-12 16:38                                   ` Mike Frysinger
2008-06-12 18:50                                     ` Bernhard Fischer
2008-06-12 17:14                                   ` Bill Gatliff
2008-06-12 17:22                                     ` Mike Frysinger
2008-06-12 17:23                                     ` Sam Ravnborg
2008-06-13 18:01                                     ` Rob Landley
2008-06-12 16:37                                 ` David Woodhouse
2008-06-12 17:01                                   ` Adrian Bunk
2008-06-12 17:19                                     ` Bill Gatliff
2008-06-12 17:17                                   ` Bill Gatliff
2008-06-13 11:15                                   ` Geert Uytterhoeven
2008-06-13 11:17                                     ` David Woodhouse
2008-06-12 18:34                                 ` Enrico Weigelt
2008-06-12 19:00                                   ` Bill Gatliff
2008-06-15 21:51                                   ` Rob Landley
2008-06-12 18:30                               ` Enrico Weigelt
2008-06-12 18:57                                 ` Wolfgang Denk
2008-06-12 16:23                             ` Tim Bird
2008-06-12 18:37                               ` Enrico Weigelt
2008-06-13 18:45                                 ` Robert Schwebel
2008-06-15 23:12                                   ` Enrico Weigelt
2008-06-16  8:02                                     ` Alexander Neundorf
2008-06-16  8:28                                       ` cross-compiling alternatives Bernd Petrovitsch
2008-06-16  9:25                                         ` Alexander Neundorf
2008-06-13  1:25                               ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Rob Landley
2008-06-13  1:28                                 ` Robert P. J. Day
2008-06-13  1:29                                 ` Mike Frysinger
2008-06-13  6:30                                   ` Alexander Neundorf
2008-06-13 18:51                                     ` Robert Schwebel
2008-06-13 22:25                                       ` Jamie Lokier
2008-06-13 23:19                                         ` Robert Schwebel
2008-06-14  0:07                                           ` Jamie Lokier
2008-06-14 11:26                                             ` Robert Schwebel
2008-06-16 11:39                                               ` Jamie Lokier
2008-06-16 12:06                                                 ` Alexander Neundorf
2008-06-16 13:32                                                   ` Jamie Lokier
2008-06-16 16:28                                                     ` Bernhard Fischer
2008-06-16 22:28                                                       ` Jamie Lokier
2008-06-16 22:44                                                         ` Adrian Bunk
2008-06-16  5:11                                             ` Enrico Weigelt
2008-06-16 11:33                                               ` Jamie Lokier
2008-06-16  8:33                                             ` cross-compiling alternatives Bernd Petrovitsch
2008-06-16 11:17                                               ` Jamie Lokier
2008-06-16 11:43                                                 ` Bernd Petrovitsch
2008-06-16  7:55                                           ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Alexander Neundorf
2008-06-16 15:15                                             ` Enrico Weigelt
2008-06-17  6:27                                               ` Alexander Neundorf
2008-06-17 13:46                                                 ` Enrico Weigelt
2008-06-17 14:22                                                   ` Alexander Neundorf
2008-06-16  4:57                                         ` Enrico Weigelt
2008-06-16 11:44                                           ` Jamie Lokier
2008-06-16  4:31                                       ` Enrico Weigelt
2008-06-16  8:13                                       ` Alexander Neundorf
2008-06-16  8:21                                       ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13  3:11                                 ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Sam Ravnborg
2008-06-13 18:47                                   ` Robert Schwebel
2008-06-13  6:43                             ` Alexander Neundorf
2008-06-13  8:38                               ` Bernd Petrovitsch
2008-06-13  9:06                                 ` Alexander Neundorf
2008-06-13  9:12                                   ` David Woodhouse
2008-06-13  9:32                                     ` Alexander Neundorf
2008-06-13 15:28                                       ` Enrico Weigelt
2008-06-14  0:31                                         ` Jamie Lokier
2008-06-16  4:23                                           ` Enrico Weigelt
2008-06-16 10:49                                             ` Jamie Lokier
2008-06-16 11:09                                               ` David Woodhouse
2008-06-16 11:52                                                 ` Jamie Lokier [this message]
2008-06-16 11:59                                                   ` David Woodhouse
2008-06-16 16:43                                                   ` Bernhard Fischer
2008-06-13 10:03                                   ` cross-compiling alternatives Bernd Petrovitsch
2008-06-13 11:24                                     ` Alexander Neundorf
2008-06-13 13:17                                     ` Jamie Lokier
2008-06-13 13:28                                       ` Bernd Petrovitsch
2008-06-13 13:40                                       ` Alexander Neundorf
2008-06-13 13:56                                         ` Matthieu CASTET
2008-06-13 14:41                                           ` Enrico Weigelt
2008-06-13 14:49                                             ` Jamie Lokier
2008-06-13 14:51                                               ` Enrico Weigelt
2008-06-13 14:55                                       ` Enrico Weigelt
2008-06-13 15:16                                     ` Enrico Weigelt
2008-06-13 18:45                                       ` Bernd Petrovitsch
2008-06-13 19:10                                         ` Robert Schwebel
2008-06-16  4:08                                         ` Enrico Weigelt
2008-06-16  7:31                                           ` Peter Korsgaard
2008-06-16 14:33                                             ` Enrico Weigelt
2008-06-16 16:45                                               ` Bernhard Fischer
2008-06-13 19:14                                   ` cross-compiling alternatives (was Re: [PATCH 0/1] Embedded Maintainer(s)...) Rob Landley
2008-06-13 15:25                               ` Enrico Weigelt
2008-06-12 18:25                         ` [PATCH 0/1] Embedded Maintainer(s), linux-embedded@vger list Enrico Weigelt
2008-06-12 21:11                           ` David VomLehn
2008-06-12 21:42                             ` James Chapman
2008-06-12 21:46                               ` Mike Frysinger
2008-06-12 21:53                                 ` Tim Bird
2008-06-12 21:56                                   ` Mike Frysinger
2008-06-13  8:39                                     ` James Chapman
2008-06-13  9:02                                       ` Daniel THOMPSON
2008-06-13 11:28                                         ` James Chapman
2008-06-12 22:02                                 ` Jim Freeman
2008-06-13 13:14                                   ` Samuel Robb
2008-06-13 14:36                                     ` Enrico Weigelt
2008-06-13 14:26                                   ` Enrico Weigelt
2008-06-13 22:24                               ` David VomLehn
2008-06-15 15:39                         ` Leon Woestenberg
2008-06-15 21:43                           ` Rob Landley
2008-06-23 17:22     ` Denys Vlasenko
2008-06-23 18:57       ` Sam Ravnborg
2008-06-23 19:12         ` Denys Vlasenko
2008-06-23 19:33           ` Sam Ravnborg
     [not found] ` <1209636171.25560.508.camel@pmac.infradead.org>
     [not found]   ` <20080501104158.GM20451@one.firstfloor.org>
2008-06-23 17:28     ` Denys Vlasenko
2008-06-23 17:45       ` Adrian Bunk
2008-06-23 18:19         ` Denys Vlasenko
2008-06-23 19:05         ` Tim Bird
2008-06-25  9:50         ` James Chapman
2008-06-25 15:41           ` Adrian Bunk

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=20080616115218.GF18857@shareable.org \
    --to=jamie@shareable.org \
    --cc=dwmw2@infradead.org \
    --cc=linux-embedded@vger.kernel.org \
    --cc=weigelt@metux.de \
    /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;
as well as URLs for NNTP newsgroup(s).