On Mon, Apr 11, 2005 at 05:37:42PM +0200, Enrico Scholz wrote:
> Herbert Poetzl <[EMAIL PROTECTED]> writes:
> 
> >> >> I guess it was using _syscall3() instead of syscall().
> >> ...
> >> 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?
> 
> The kernel (resp. projects like [1] which provide sanitized
> headers) would be the right place for such changes. But there
> will pass much time before you can rely on it. These headers
> are/should not be provided by libc implementations.

okay, so the natural solution to that is to put them
into the util-vserver tools, which will have immediate
effect by reducing dependancies to libc ...

thanks for the clarification,
Herbert

> Enrico
> 
> Footnotes: 
> [1]  http://ep09.pld-linux.org/~mmazur/linux-libc-headers/


> _______________________________________________
> Vserver mailing list
> [email protected]
> http://list.linux-vserver.org/mailman/listinfo/vserver

_______________________________________________
Vserver mailing list
[email protected]
http://list.linux-vserver.org/mailman/listinfo/vserver

Reply via email to