diff options
Diffstat (limited to 'meta/packages/dosfstools/files/2.6.20-syscall.patch')
-rw-r--r-- | meta/packages/dosfstools/files/2.6.20-syscall.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/meta/packages/dosfstools/files/2.6.20-syscall.patch b/meta/packages/dosfstools/files/2.6.20-syscall.patch new file mode 100644 index 0000000000..7cf2662d27 --- /dev/null +++ b/meta/packages/dosfstools/files/2.6.20-syscall.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | Index: dosfstools-2.10/dosfsck/io.c | ||
2 | =================================================================== | ||
3 | --- dosfstools-2.10.orig/dosfsck/io.c 2007-06-07 16:15:52.000000000 +0200 | ||
4 | +++ dosfstools-2.10/dosfsck/io.c 2007-06-07 16:16:06.000000000 +0200 | ||
5 | @@ -42,28 +42,11 @@ | ||
6 | /* Use the _llseek system call directly, because there (once?) was a bug in | ||
7 | * the glibc implementation of it. */ | ||
8 | #include <linux/unistd.h> | ||
9 | -#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__ | ||
10 | /* On alpha, the syscall is simply lseek, because it's a 64 bit system. */ | ||
11 | static loff_t llseek( int fd, loff_t offset, int whence ) | ||
12 | { | ||
13 | return lseek(fd, offset, whence); | ||
14 | } | ||
15 | -#else | ||
16 | -# ifndef __NR__llseek | ||
17 | -# error _llseek system call not present | ||
18 | -# endif | ||
19 | -static _syscall5( int, _llseek, uint, fd, ulong, hi, ulong, lo, | ||
20 | - loff_t *, res, uint, wh ); | ||
21 | - | ||
22 | -static loff_t llseek( int fd, loff_t offset, int whence ) | ||
23 | -{ | ||
24 | - loff_t actual; | ||
25 | - | ||
26 | - if (_llseek(fd, offset>>32, offset&0xffffffff, &actual, whence) != 0) | ||
27 | - return (loff_t)-1; | ||
28 | - return actual; | ||
29 | -} | ||
30 | -#endif | ||
31 | |||
32 | |||
33 | void fs_open(char *path,int rw) | ||
34 | Index: dosfstools-2.10/mkdosfs/mkdosfs.c | ||
35 | =================================================================== | ||
36 | --- dosfstools-2.10.orig/mkdosfs/mkdosfs.c 2007-06-07 16:15:11.000000000 +0200 | ||
37 | +++ dosfstools-2.10/mkdosfs/mkdosfs.c 2007-06-07 16:15:30.000000000 +0200 | ||
38 | @@ -116,27 +116,11 @@ | ||
39 | /* Use the _llseek system call directly, because there (once?) was a bug in | ||
40 | * the glibc implementation of it. */ | ||
41 | #include <linux/unistd.h> | ||
42 | -#if defined __alpha || defined __ia64__ || defined __s390x__ || defined __x86_64__ || defined __ppc64__ | ||
43 | /* On alpha, the syscall is simply lseek, because it's a 64 bit system. */ | ||
44 | static loff_t llseek( int fd, loff_t offset, int whence ) | ||
45 | { | ||
46 | return lseek(fd, offset, whence); | ||
47 | } | ||
48 | -#else | ||
49 | -# ifndef __NR__llseek | ||
50 | -# error _llseek system call not present | ||
51 | -# endif | ||
52 | -static _syscall5( int, _llseek, uint, fd, ulong, hi, ulong, lo, | ||
53 | - loff_t *, res, uint, wh ); | ||
54 | -static loff_t llseek( int fd, loff_t offset, int whence ) | ||
55 | -{ | ||
56 | - loff_t actual; | ||
57 | - | ||
58 | - if (_llseek(fd, offset>>32, offset&0xffffffff, &actual, whence) != 0) | ||
59 | - return (loff_t)-1; | ||
60 | - return actual; | ||
61 | -} | ||
62 | -#endif | ||
63 | |||
64 | #define ROUND_UP(value, divisor) (value + (divisor - (value % divisor))) / divisor | ||
65 | |||