mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Andi Kleen <ak@suse.de>
Cc: David Miller <davem@davemloft.net>,
	arnd@arndb.de, linux-arch@vger.kernel.org, jdike@addtoit.com,
	B.Steinbrink@gmx.de, arjan@infradead.org,
	chase.venters@clientec.com, akpm@osdl.org,
	rmk+lkml@arm.linux.org.uk, rusty@rustcorp.com.au,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/7] remove all remaining _syscallX macros
Date: Mon, 28 Aug 2006 09:40:36 +0100	[thread overview]
Message-ID: <1156754436.5340.20.camel@pmac.infradead.org> (raw)
In-Reply-To: <200608281028.13652.ak@suse.de>

On Mon, 2006-08-28 at 10:28 +0200, Andi Kleen wrote:
> On Monday 28 August 2006 10:19, David Miller wrote:
> 
> > I see it as duplication because the person who writes the
> > kernel is the one who ends up writing the libc syscall
> > bits or explains to the libc person for that arch how
> > things work.  
> 
> And the way to explain it is to write the reference code.

That's a new and interesting thing to add to the list of things
that /usr/include/linux is _not_:

/usr/include/linux is _not_ a place to dump "reference code" in lieu of
documentation on using kernel interfaces.

Besides, the _syscallX implementations in the kernel were generally
unsuitable for use in that way anyway -- I'd be much more inclined to
rely on the libc version. The kernel version would do strange things
like break with PIC code by using an unavailable register (i386),
misalign 64-bit syscall arguments on 32-bit machines (MIPS), etc. 

> > And once one libc implmenetation of this 
> > exists, it can be used as a reference for other libc
> > variants.
> 
> At least on x86-64 various glibc versions had quite buggy
> syscall()s, that is why I never trusted it very much.

I assume these were very _early_ glibc in when the port was new? 

> > Finally, once it's done, it's done, and that's it.
> 
> Except if you still have to deal with old user land.

The limited subset of old userland which elected to use _syscallX()
instead of libc's syscall(), and which can be fixed fairly easily.

-- 
dwmw2


  reply	other threads:[~2006-08-28  8:40 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-27 21:47 [PATCH 0/7] kill __KERNEL_SYSCALLS__ Arnd Bergmann
2006-08-27 21:47 ` [PATCH 2/7] rename the provided execve functions to kernel_execve Arnd Bergmann
2006-08-28  2:20   ` Randy.Dunlap
2006-08-28  7:44     ` Arnd Bergmann
2006-08-27 21:47 ` [PATCH 3/7] provide kernel_execve on all architectures Arnd Bergmann
2006-08-29  2:22   ` Ralf Baechle
2006-08-27 21:47 ` [PATCH 4/7] Remove the use of _syscallX macros in UML Arnd Bergmann
2006-08-28  9:25   ` Andreas Schwab
2006-08-30  5:41   ` H. Peter Anvin
2006-08-30 12:38     ` Arnd Bergmann
2006-08-27 21:47 ` [PATCH 6/7] remove all remaining _syscallX macros Arnd Bergmann
2006-08-28  7:35   ` Andi Kleen
2006-08-28  7:41     ` Arnd Bergmann
2006-08-28  7:46       ` Arjan van de Ven
2006-08-28  8:09         ` Arnd Bergmann
2006-08-28  7:50       ` Andi Kleen
2006-08-28  8:01         ` Arnd Bergmann
2006-08-28  8:03           ` Andi Kleen
2006-08-28  8:09             ` David Miller
2006-08-28  8:15               ` Andi Kleen
2006-08-28  8:19                 ` David Miller
2006-08-28  8:28                   ` Andi Kleen
2006-08-28  8:40                     ` David Woodhouse [this message]
2006-08-28  8:53                       ` Andi Kleen
2006-08-28 10:00                         ` David Woodhouse
2006-08-28 10:37                           ` Arjan van de Ven
2006-08-28 10:58                             ` Andi Kleen
2006-08-28 14:05                           ` Arnd Bergmann
2006-08-28 14:42                             ` Andi Kleen
2006-08-28 15:46                               ` Adrian Bunk
2006-08-28 17:00                                 ` Andi Kleen
2006-08-30 17:45                                   ` Adrian Bunk
2006-08-28 20:20                               ` Horst H. von Brand
2006-08-28 21:23                                 ` Arnd Bergmann
2006-08-30  5:44                               ` H. Peter Anvin
2006-08-30  7:22                                 ` Andi Kleen
2006-08-27 21:47 ` [PATCH 7/7] remove the global errno from the kernel Arnd Bergmann
2006-08-27 22:00 ` [PATCH 5/7] sh64: remove the use of kernel syscalls Arnd Bergmann
2006-08-28  8:05   ` Paul Mundt
2006-08-27 22:01 ` [PATCH 1/7] introduce kernel_execve Arnd Bergmann
2006-08-29  9:12 ` [PATCH 0/7] kill __KERNEL_SYSCALLS__ David Howells
2006-08-29  9:37   ` Arnd Bergmann
2006-08-29  9:38   ` Haavard Skinnemoen
2006-08-29 17:21 ` [PATCH 3/7] provide kernel_execve on all architectures David Howells
2006-08-29 17:23 ` [PATCH 7/7] remove the global errno from the kernel David Howells

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=1156754436.5340.20.camel@pmac.infradead.org \
    --to=dwmw2@infradead.org \
    --cc=B.Steinbrink@gmx.de \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=arnd@arndb.de \
    --cc=chase.venters@clientec.com \
    --cc=davem@davemloft.net \
    --cc=jdike@addtoit.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk+lkml@arm.linux.org.uk \
    --cc=rusty@rustcorp.com.au \
    /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®