[PATCH] Fix sync_file_range.c for MIPS64 N32 ABI builds.

Khem Raj raj.khem at gmail.com
Wed Feb 12 18:14:13 UTC 2014


On Feb 12, 2014, at 10:09 AM, Steve Ellcey <sellcey at mips.com> 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 <sellcey at 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);

This looks good to me.




More information about the uClibc mailing list