patches/glibc/2.9/260-fadvise64_64.patch
branchnewlib
changeset 1365 c4d124ed9f8e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/2.9/260-fadvise64_64.patch	Sun Apr 19 16:17:11 2009 +0000
     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 + }