patches/glibc/2.9/260-fadvise64_64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Mar 28 13:34:41 2009 +0000 (2009-03-28)
changeset 1273 33f0fcab7f03
parent 1201 patches/glibc/2_9/260-fadvise64_64.patch@c9967a6e3b25
permissions -rw-r--r--
Rename patch dir for glibc-2.9: version string is 2.9, not 2_9.
yann@1201
     1
Original patch from: gentoo/src/patchsets/glibc/2.9/1070_all_glibc-fadvise64_64.patch
yann@1201
     2
yann@1201
     3
-= BEGIN original header =-
yann@1201
     4
ripped from Debian
yann@1201
     5
yann@1201
     6
-= END original header =-
yann@1201
     7
yann@1201
     8
diff -durN glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c
yann@1201
     9
--- glibc-2_9.orig/sysdeps/unix/sysv/linux/posix_fadvise.c	2003-08-17 02:36:22.000000000 +0200
yann@1201
    10
+++ glibc-2_9/sysdeps/unix/sysv/linux/posix_fadvise.c	2009-02-02 22:00:58.000000000 +0100
yann@1201
    11
@@ -35,6 +35,19 @@
yann@1201
    12
     return INTERNAL_SYSCALL_ERRNO (ret, err);
yann@1201
    13
   return 0;
yann@1201
    14
 #else
yann@1201
    15
+# ifdef __NR_fadvise64_64
yann@1201
    16
+  INTERNAL_SYSCALL_DECL (err);  
yann@1201
    17
+  int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
yann@1201
    18
+			      __LONG_LONG_PAIR ((long) (offset >> 31),
yann@1201
    19
+						(long) offset),
yann@1201
    20
+			      __LONG_LONG_PAIR ((long) (len >> 31),
yann@1201
    21
+						(long) len),
yann@1201
    22
+			      advise);
yann@1201
    23
+  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
yann@1201
    24
+    return INTERNAL_SYSCALL_ERRNO (ret, err);
yann@1201
    25
+  return 0;
yann@1201
    26
+# else
yann@1201
    27
   return ENOSYS;
yann@1201
    28
+# endif
yann@1201
    29
 #endif
yann@1201
    30
 }