Browse Source

Stub out pread and pwrite when not available

Eric Andersen 23 years ago
parent
commit
9b4cbe2e11
1 changed files with 16 additions and 0 deletions
  1. 16 0
      libc/sysdeps/linux/common/syscalls.c

+ 16 - 0
libc/sysdeps/linux/common/syscalls.c

@@ -1370,6 +1370,7 @@ int sigsuspend (const sigset_t *mask)
 #endif
 
 //#define __NR_pread                    180
+#ifdef __NR_pread
 #ifdef L___libc_pread
 #define _XOPEN_SOURCE 500
 #include <unistd.h>
@@ -1377,8 +1378,16 @@ int sigsuspend (const sigset_t *mask)
 _syscall4(ssize_t, __libc_pread, int, fd, void *, buf, size_t, count, __off_t, offset);
 weak_alias (__libc_pread, pread)
 #endif
+#else
+ssize_t pread(int fd, void *buf, size_t count, off_t offset)                                                
+{                                                                                                           
+	__set_errno(ENOSYS);                                                                                    
+	return -1;                                                                                              
+}                                                                                                           
+#endif
 
 //#define __NR_pwrite                   181
+#ifdef __NR_pwrite
 #ifdef L___libc_pwrite
 #define _XOPEN_SOURCE 500
 #include <unistd.h>
@@ -1386,6 +1395,13 @@ weak_alias (__libc_pread, pread)
 _syscall4(ssize_t, __libc_pwrite, int, fd, const void *, buf, size_t, count, __off_t, offset);
 weak_alias (__libc_pwrite, pwrite)
 #endif
+#else
+ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset)                                         
+{                                                                                                           
+	__set_errno(ENOSYS);                                                                                    
+	return -1;                                                                                              
+}                                                                                                           
+#endif
 
 //#define __NR_chown                    182
 #ifdef L_chown