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 |
}
|