patches/glibc/ports-2.12.1/200-fadvise64_64.patch
author Matthieu Crapet <mcrapet@gmail.com>
Wed Jun 06 12:03:12 2012 +0200 (2012-06-06)
changeset 2991 252ade1e9e17
permissions -rw-r--r--
libc/eglibc: fix missing LIBC_TRY_CC_OPTION definition (eglibc 2.15)

Upstream SVN is currently broken:
http://www.eglibc.org/svn/branches/eglibc-2_15/libc/

LIBC_TRY_CC_OPTION macro is not defined in aclocal.m4.
This patch fix the configure script.

Once upstream branch will be fixed this patch could be reverted.

Related patch (committed to eglibc trunk):
Use autoconf macro for testing compiler options with empty input
http://sourceware.org/ml/libc-alpha/2012-03/msg00816.html

Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>

diff -r 1f6c8e4b2b92 -r d10afc5bcc25
patches/eglibc/2_15/110-aclocal-LIBC_TRY_CC_OPTION.patch
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
 }