patches/glibc/2.9/260-fadvise64_64.patch
author Bernhard Walle <bernhard@bwalle.de>
Sun May 11 13:00:36 2014 +0200 (2014-05-11)
changeset 3318 579bc9107f99
parent 1201 c9967a6e3b25
permissions -rw-r--r--
complibs/ppl: Fix build of ppl 0.11.2 with gcc 4.9

From: Roberto Bagnara <bagnara@cs.unipr.it>
Date: Tue, 29 Apr 2014 19:51:43 +0000 (+0200)
Subject: Added missing inclusions. Use std::ptrdiff_t.
X-Git-Url: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=commitdiff;h=61d4e14dfd9f1121e9b4521dead5728b2424dd7c

Added missing inclusions. Use std::ptrdiff_t.
(Thanks to Paulo Cesar Pereira de Andrade.)

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Message-Id: <5632a171e7c1dc4c0fb5.1399806148@euler.fritz.box>
Patchwork-Id: 347777
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
 }