[PATCH] Fix MIPS N64 build.

Steve Ellcey sellcey at mips.com
Thu Feb 13 22:33:03 UTC 2014


Uclibc is not building for MIPS N64 because pread is trying to use the
pread/pwrite system calls instead of pread64/pwrite64.  This patch fixes
the problem and was tested with LFS enabled and disabled.

Signed-off-by: Steve Ellcey <sellcey at mips.com>
---
 libc/sysdeps/linux/mips/pread_write.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libc/sysdeps/linux/mips/pread_write.c b/libc/sysdeps/linux/mips/pread_write.c
index 3dc97c9..1220fec 100644
--- a/libc/sysdeps/linux/mips/pread_write.c
+++ b/libc/sysdeps/linux/mips/pread_write.c
@@ -13,14 +13,14 @@
 /* We should generalize this for 32bit userlands w/64bit regs.  This applies
  * to the x86_64 x32 and the mips n32 ABIs.  */
 #if _MIPS_SIM == _MIPS_SIM_NABI32
-# define __NR___syscall_pread __NR_pread
+# define __NR___syscall_pread __NR_pread64
 static _syscall4(ssize_t, __syscall_pread, int, fd, void *, buf, size_t, count, off_t, offset)
 # define MY_PREAD(fd, buf, count, offset) \
 	__syscall_pread(fd, buf, count, offset)
 # define MY_PREAD64(fd, buf, count, offset) \
 	__syscall_pread(fd, buf, count, offset)
 
-# define __NR___syscall_pwrite __NR_pwrite
+# define __NR___syscall_pwrite __NR_pwrite64
 static _syscall4(ssize_t, __syscall_pwrite, int, fd, const void *, buf, size_t, count, off_t, offset)
 # define MY_PWRITE(fd, buf, count, offset) \
 	__syscall_pwrite(fd, buf, count, offset)
-- 
1.7.9.5




More information about the uClibc mailing list