RE: pread() and pwrite() system calls

2012-05-30 Thread David Laight
We have a system with linux 2.6.32 and the somewhat archaic uClibc 0.9.27 (but I'm not sure the current version is any better, and I think there are binary compatibility if we update). I've just discovered that pread() is 'implemented' by using 3 lseek() system calls and read().

RE: pread() and pwrite() system calls

2012-05-29 Thread David Laight
A special pread/pwrite asm stub that just copies r7 to r0 could be used. Would it be enough to do: syscall_pread_pwrite: mov 0,7 sc blr and handle the -ve - errno in C? Huh? Won't fly, r0 is used for the system call number! I was copying that from r7! Actually I

RE: pread() and pwrite() system calls

2012-05-29 Thread Michael Ellerman
On Tue, 2012-05-29 at 09:28 +0100, David Laight wrote: A special pread/pwrite asm stub that just copies r7 to r0 could be used. Would it be enough to do: syscall_pread_pwrite: mov 0,7 sc blr and handle the -ve - errno in C? Huh? Won't fly, r0 is used for the

Re: pread() and pwrite() system calls

2012-05-25 Thread Gabriel Paubert
On Fri, May 25, 2012 at 02:29:06PM +0100, David Laight wrote: We have a system with linux 2.6.32 and the somewhat archaic uClibc 0.9.27 (but I'm not sure the current version is any better, and I think there are binary compatibility if we update). I've just discovered that pread() is