[git commit] libc: Fix sync_file_range.c for MIPS64 N32 ABI

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Sat Feb 15 10:09:00 UTC 2014

commit: http://git.uclibc.org/uClibc/commit/?id=4721ac5f837481ef9bfec853a2326c0aa1948011
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

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 <sellcey at mips.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
 libc/sysdeps/linux/common/sync_file_range.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

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

More information about the uClibc-cvs mailing list