From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Mon 11 Apr 2005 - 16:02:21 BST
On Mon, Apr 11, 2005 at 01:48:59PM +0200, Enrico Scholz wrote:
> Herbert Poetzl <herbert_at_13thfloor.at> writes:
> >> > no, thanks I already figured it, the dietlibc needs
> >> > patching as the syscall(2) for x86_64 isn't implemented
> >> >
> >> > .o( I wonder _what_ is running on your machine ;)
> >> I guess it was using _syscall3() instead of syscall(). Shouldn't it?
> > yes, after I read your 'other' email ... this makes
> > some sense ... I just wondered because I didn't know
> > that it is available on x86_64 (headers)
> To clearify things:
> util-vserver prefers to use _syscall3() (which is called 'fast'
> syscall invocation method in the ./configure output) when it is
> available. _syscall3() is often implemented with inline assembler
> in <asm/unistd.h>. But at least on i386, it can not be used in
> combination with dynamic linking as it writes to the %ebx register
> which is reserved for PIC addressing.
> Therefore, most glibc kernel-headers do not provide the _syscallX()
> functions overall and the 'traditional' syscall(2) must be used.
what if we implement the _syscall3 for all known platforms
in a proper way, and feed them back to glibc/kernel headers
as well as integrate them into dietlibc and/or util-vserver?
this way we should solve this issue once and for all, no?
> Vserver mailing list
Vserver mailing list