On Feb 12, 2014, at 10:09 AM, Steve Ellcey <[email protected]> wrote:
> The special sync_file_range handling is only needed for the O32 ABI > (regardless of whether it is on mips32 or mips64). The N32 (and N64) > ABI's should both use the standard code. This routine was using the > special code for the N32 ABI because that ABI has a word size of 32 bits > and that is wrong. This patch fixes it by checking the ABI used instead > of checking the word size. > > Signed-off-by: Steve Ellcey <[email protected]> > --- > libc/sysdeps/linux/common/sync_file_range.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libc/sysdeps/linux/common/sync_file_range.c > b/libc/sysdeps/linux/common/sync_file_range.c > index 66751c6..8d4ed92 100644 > --- a/libc/sysdeps/linux/common/sync_file_range.c > +++ b/libc/sysdeps/linux/common/sync_file_range.c > @@ -24,7 +24,7 @@ static int __NC(sync_file_range)(int fd, off64_t offset, > off64_t nbytes, unsigne > { > # if defined __powerpc__ && __WORDSIZE == 64 > return INLINE_SYSCALL(sync_file_range, 4, fd, offset, nbytes, flags); > -# elif defined __mips__ && __WORDSIZE == 32 > +# elif defined __mips__ && _MIPS_SIM == _ABIO32 > return INLINE_SYSCALL(sync_file_range, 7, fd, 0, > OFF64_HI_LO(offset), OFF64_HI_LO(nbytes), flags); This looks good to me. _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
