patches/glibc/ports-2.12.1/200-fadvise64_64.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 08 10:52:21 2011 +0200 (2011-05-08)
changeset 2440 79947df7ec4b
permissions -rw-r--r--
cc/gcc: fix complibs dependency

Since the gcc configuration changes, the way to select the
dependent companion libraries has changed. The addToolVersion
script was not updated to match, and a new gcc version was
added with this script.

Fix the gcc version; the script will be updated in a subsequent
changeset.

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