patches/glibc/ports-2.13/200-fadvise64_64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 03 00:19:56 2011 +0200 (2011-05-03)
changeset 2438 2ba5655f6297
permissions -rw-r--r--
libc/glibc: add 2.13

Patchset provided by "Ioannis E. Venetis" <venetis@mail.capsl.udel.edu>
http://sourceware.org/ml/crossgcc/2011-04/msg00072.html
http://sourceware.org/ml/crossgcc/2011-04/msg00073.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 ripped from Debian
     2 
     3  sysdeps/unix/sysv/linux/posix_fadvise.c |   13 +++++++++++++
     4  1 file changed, 13 insertions(+)
     5 
     6 diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c
     7 --- glibc-2.13.orig/sysdeps/unix/sysv/linux/posix_fadvise.c	2003-08-17 02:36:22.000000000 +0200
     8 +++ glibc-2.13/sysdeps/unix/sysv/linux/posix_fadvise.c	2009-11-13 00:50:03.000000000 +0100
     9 @@ -35,6 +35,19 @@
    10      return INTERNAL_SYSCALL_ERRNO (ret, err);
    11    return 0;
    12  #else
    13 +# ifdef __NR_fadvise64_64
    14 +  INTERNAL_SYSCALL_DECL (err);  
    15 +  int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
    16 +			      __LONG_LONG_PAIR ((long) (offset >> 31),
    17 +						(long) offset),
    18 +			      __LONG_LONG_PAIR ((long) (len >> 31),
    19 +						(long) len),
    20 +			      advise);
    21 +  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
    22 +    return INTERNAL_SYSCALL_ERRNO (ret, err);
    23 +  return 0;
    24 +# else
    25    return ENOSYS;
    26 +# endif
    27  #endif
    28  }