1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/glibc/2.9/260-fadvise64_64.patch Fri Nov 18 11:32:50 2011 +0800
1.3 @@ -0,0 +1,30 @@
1.4 +Original patch from: gentoo/src/patchsets/glibc/2.9/1070_all_glibc-fadvise64_64.patch
1.5 +
1.6 +-= BEGIN original header =-
1.7 +ripped from Debian
1.8 +
1.9 +-= END original header =-
1.10 +
1.11 +diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c
1.12 +--- glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200
1.13 ++++ glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-02-02 22:00:58.000000000 +0100
1.14 +@@ -35,6 +35,19 @@
1.15 + return INTERNAL_SYSCALL_ERRNO (ret, err);
1.16 + return 0;
1.17 + #else
1.18 ++# ifdef __NR_fadvise64_64
1.19 ++ INTERNAL_SYSCALL_DECL (err);
1.20 ++ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
1.21 ++ __LONG_LONG_PAIR ((long) (offset >> 31),
1.22 ++ (long) offset),
1.23 ++ __LONG_LONG_PAIR ((long) (len >> 31),
1.24 ++ (long) len),
1.25 ++ advise);
1.26 ++ if (INTERNAL_SYSCALL_ERROR_P (ret, err))
1.27 ++ return INTERNAL_SYSCALL_ERRNO (ret, err);
1.28 ++ return 0;
1.29 ++# else
1.30 + return ENOSYS;
1.31 ++# endif
1.32 + #endif
1.33 + }