patches/glibc/ports-2.10.1/130-i386-no-fallocate.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
     1 Fix building on x86 when older linux headers lack __NR_fallocate define.
     2 
     3 URL: http://bugs.gentoo.org/274269
     4 Reported-by: Mikael Magnusson <mikachu@gmail.com>
     5 
     6 2009-11-09  Mike Frysinger  <vapier@gentoo.org>
     7 
     8 	* sysdeps/unix/sysv/linux/i386/fallocate.c: Include errno.h.
     9 	(fallocate): Return ENOSYS if __NR_fallocate is not defined.
    10 	* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.
    11 
    12 diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate.c glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate.c
    13 --- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate.c	2009-03-02 17:11:06.000000000 +0100
    14 +++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate.c	2009-11-13 00:49:47.000000000 +0100
    15 @@ -16,6 +16,7 @@
    16     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    17     02111-1307 USA.  */
    18  
    19 +#include <errno.h>
    20  #include <fcntl.h>
    21  #include <sysdep.h>
    22  
    23 @@ -28,5 +29,10 @@
    24  int
    25  fallocate (int fd, int mode, __off_t offset, __off_t len)
    26  {
    27 +#ifdef __NR_fallocate
    28    return __call_fallocate (fd, mode, offset, len);
    29 +#else
    30 +  __set_errno (ENOSYS);
    31 +  return -1;
    32 +#endif
    33  }
    34 diff -durN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate64.c glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate64.c
    35 --- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate64.c	2009-03-02 17:10:29.000000000 +0100
    36 +++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate64.c	2009-11-13 00:49:47.000000000 +0100
    37 @@ -16,6 +16,7 @@
    38     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    39     02111-1307 USA.  */
    40  
    41 +#include <errno.h>
    42  #include <fcntl.h>
    43  #include <sysdep.h>
    44  
    45 @@ -28,5 +29,10 @@
    46  int
    47  __fallocate64_l64 (int fd, int mode, __off64_t offset, __off64_t len)
    48  {
    49 +#ifdef __NR_fallocate
    50    return __call_fallocate (fd, mode, offset, len);
    51 +#else
    52 +  __set_errno (ENOSYS);
    53 +  return -1;
    54 +#endif
    55  }