mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-27 08:12:30 +00:00
29 lines
937 B
Diff
29 lines
937 B
Diff
|
ripped from Debian
|
||
|
|
||
|
sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++
|
||
|
1 file changed, 13 insertions(+)
|
||
|
|
||
|
diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c
|
||
|
--- glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200
|
||
|
+++ glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-11-13 00:50:03.000000000 +0100
|
||
|
@@ -35,6 +35,19 @@
|
||
|
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
||
|
return 0;
|
||
|
#else
|
||
|
+# ifdef __NR_fadvise64_64
|
||
|
+ INTERNAL_SYSCALL_DECL (err);
|
||
|
+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
|
||
|
+ __LONG_LONG_PAIR ((long) (offset >> 31),
|
||
|
+ (long) offset),
|
||
|
+ __LONG_LONG_PAIR ((long) (len >> 31),
|
||
|
+ (long) len),
|
||
|
+ advise);
|
||
|
+ if (INTERNAL_SYSCALL_ERROR_P (ret, err))
|
||
|
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
|
||
|
+ return 0;
|
||
|
+# else
|
||
|
return ENOSYS;
|
||
|
+# endif
|
||
|
#endif
|
||
|
}
|