On Wed, Oct 13, 2010 at 06:16:34PM +0400, Alexander Gordeev wrote: >В Thu, 7 Oct 2010 18:54:24 +0400 >Alexander Gordeev <[email protected]> пишет: > >> If there was an error during syscall then after it's completion a3 >> register holds a non-zero value and v0 holds an actual error code which >> should be saved in errno. This can be achieved by calling >> __syscall_error with the value from v0 as a parameter. So this value >> should be stored in a0, but the appropriate assembly instructions are >> missing. Fixed this now by adding "move a0, v0". >> >> I think it was once fixed by 58c5f8ba4cdf62342d05a546d15404cbbb3c4e07 >> but then something went wrong. Again... >> >> Signed-off-by: Alexander Gordeev <[email protected]> >[snip] > >Nobody interested?
It sounds a bit heavy to me, but i'm applying it as a workaround. What abi are you using? Perhaps someone with a mips setup can look into this some more since it adds up to every syscall.. Dan, you seem to have added that move a0,v0 initially as a uClibc specific workaround. PS: and it would be nice to get rid of libc/string/mips/sysdep.h PPS: i'm sorry for the long delay PPPS: that move should use the MOVE macro instead _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
