| Original patch from: gentoo/src/patchsets/glibc/2.9/1070_all_glibc-fadvise64_64.patch |
| |
| -= BEGIN original header =- |
| ripped from Debian |
| |
| -= END original header =- |
| |
| diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c |
| --- glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200 |
| +++ glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-02-02 22:00:58.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 |
| } |