|
@@ -1,5 +1,5 @@
|
|
|
|
|
|
-
|
|
|
+
|
|
|
* posix_fadvise64() for uClibc
|
|
|
* http:
|
|
|
*
|
|
@@ -17,12 +17,13 @@
|
|
|
#include <sys/syscall.h>
|
|
|
#include <fcntl.h>
|
|
|
|
|
|
-#if defined __UCLIBC_HAS_LFS__ && defined __NR_fadvise64_64
|
|
|
+#ifdef __UCLIBC_HAS_LFS__
|
|
|
+#ifdef __NR_fadvise64_64
|
|
|
#define __NR___syscall_fadvise64_64 __NR_fadvise64_64
|
|
|
|
|
|
|
|
|
#if __WORDSIZE == 64
|
|
|
-_syscall4(int, __syscall_fadvise64_64, int, fd, __off64_t, offset,
|
|
|
+_syscall4(int, __syscall_fadvise64_64, int, fd, __off64_t, offset,
|
|
|
__off64_t, len, int, advice);
|
|
|
int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)
|
|
|
{
|
|
@@ -34,9 +35,9 @@ weak_alias(__libc_posix_fadvise64, posix_fadvise64);
|
|
|
#elif __WORDSIZE == 32
|
|
|
|
|
|
#ifdef _syscall6
|
|
|
-_syscall6(int, __syscall_fadvise64_64, int, fd,
|
|
|
- unsigned long, high_offset, unsigned long, low_offset,
|
|
|
- unsigned long, high_len, unsigned long, low_len,
|
|
|
+_syscall6(int, __syscall_fadvise64_64, int, fd,
|
|
|
+ unsigned long, high_offset, unsigned long, low_offset,
|
|
|
+ unsigned long, high_len, unsigned long, low_len,
|
|
|
int, advice);
|
|
|
int __libc_posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)
|
|
|
{
|
|
@@ -54,4 +55,14 @@ weak_alias(__libc_posix_fadvise64, posix_fadvise64);
|
|
|
#error your machine is neither 32 bit or 64 bit ... it must be magical
|
|
|
#endif
|
|
|
|
|
|
-#endif
|
|
|
+#elif !defined __NR_fadvise64
|
|
|
+
|
|
|
+ * is defined.
|
|
|
+ */
|
|
|
+int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)
|
|
|
+{
|
|
|
+ __set_errno(ENOSYS);
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+#endif
|
|
|
+#endif
|