patches/glibc/ports-2.13/200-fadvise64_64.patch
changeset 2438 2ba5655f6297
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/ports-2.13/200-fadvise64_64.patch	Tue May 03 00:19:56 2011 +0200
     1.3 @@ -0,0 +1,28 @@
     1.4 +ripped from Debian
     1.5 +
     1.6 + sysdeps/unix/sysv/linux/posix_fadvise.c |   13 +++++++++++++
     1.7 + 1 file changed, 13 insertions(+)
     1.8 +
     1.9 +diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c
    1.10 +--- glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c	2003-08-17 02:36:22.000000000 +0200
    1.11 ++++ glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c	2009-11-13 00:50:03.000000000 +0100
    1.12 +@@ -35,6 +35,19 @@
    1.13 +     return INTERNAL_SYSCALL_ERRNO (ret, err);
    1.14 +   return 0;
    1.15 + #else
    1.16 ++# ifdef __NR_fadvise64_64
    1.17 ++  INTERNAL_SYSCALL_DECL (err);  
    1.18 ++  int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
    1.19 ++			      __LONG_LONG_PAIR ((long) (offset >> 31),
    1.20 ++						(long) offset),
    1.21 ++			      __LONG_LONG_PAIR ((long) (len >> 31),
    1.22 ++						(long) len),
    1.23 ++			      advise);
    1.24 ++  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
    1.25 ++    return INTERNAL_SYSCALL_ERRNO (ret, err);
    1.26 ++  return 0;
    1.27 ++# else
    1.28 +   return ENOSYS;
    1.29 ++# endif
    1.30 + #endif
    1.31 + }