summaryrefslogtreecommitdiff
path: root/patches/glibc/ports-2.10.1/130-i386-no-fallocate.patch
blob: a97362f4418177ccf70110bb5698ddce7563817b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Fix building on x86 when older linux headers lack __NR_fallocate define.

URL: http://bugs.gentoo.org/274269
Reported-by: Mikael Magnusson <mikachu@gmail.com>

2009-11-09  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/unix/sysv/linux/i386/fallocate.c: Include errno.h.
	(fallocate): Return ENOSYS if __NR_fallocate is not defined.
	* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.

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
--- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate.c	2009-03-02 17:11:06.000000000 +0100
+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate.c	2009-11-13 00:49:47.000000000 +0100
@@ -16,6 +16,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <errno.h>
 #include <fcntl.h>
 #include <sysdep.h>
 
@@ -28,5 +29,10 @@
 int
 fallocate (int fd, int mode, __off_t offset, __off_t len)
 {
+#ifdef __NR_fallocate
   return __call_fallocate (fd, mode, offset, len);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
 }
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
--- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/fallocate64.c	2009-03-02 17:10:29.000000000 +0100
+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/fallocate64.c	2009-11-13 00:49:47.000000000 +0100
@@ -16,6 +16,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <errno.h>
 #include <fcntl.h>
 #include <sysdep.h>
 
@@ -28,5 +29,10 @@
 int
 __fallocate64_l64 (int fd, int mode, __off64_t offset, __off64_t len)
 {
+#ifdef __NR_fallocate
   return __call_fallocate (fd, mode, offset, len);
+#else
+  __set_errno (ENOSYS);
+  return -1;
+#endif
 }