patches/glibc/ports-2.13/200-fadvise64_64.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Mar 12 21:19:26 2012 +0100 (2012-03-12)
branch1.13
changeset 2913 ce1a9c264de5
permissions -rw-r--r--
debug/strace: fix download URL

strace upstream location has slightly changed.

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