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 <sell...@mips.com>
---
 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);
 #  else
-- 
1.7.9.5


_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to