On Mon, Apr 11, 2005 at 01:48:59PM +0200, Enrico Scholz wrote: > Herbert Poetzl <[EMAIL PROTECTED]> 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? best, Herbert > Enrico > _______________________________________________ > 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
