diff options
Diffstat (limited to 'package/util-linux/patches/100-llseek.patch')
-rw-r--r-- | package/util-linux/patches/100-llseek.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/package/util-linux/patches/100-llseek.patch b/package/util-linux/patches/100-llseek.patch new file mode 100644 index 0000000000..51bd09d6ea --- /dev/null +++ b/package/util-linux/patches/100-llseek.patch @@ -0,0 +1,79 @@ +diff -ur util-linux.old/fdisk/llseek.c util-linux.dev/fdisk/llseek.c +--- util-linux.old/fdisk/llseek.c 2003-07-13 23:13:33.000000000 +0200 ++++ util-linux.dev/fdisk/llseek.c 2006-12-14 23:06:12.000000000 +0100 +@@ -29,13 +29,7 @@ + static int _llseek (unsigned int, unsigned long, + unsigned long, long long *, unsigned int); + +-#ifdef __NR__llseek +- +-static _syscall5(int,_llseek,unsigned int,fd,unsigned long,offset_high, +- unsigned long, offset_low,long long *,result, +- unsigned int, origin) +- +-#else ++#ifndef __NR__llseek + + /* no __NR__llseek on compilation machine - might give it explicitly */ + static int _llseek (unsigned int fd, unsigned long oh, +diff -ur util-linux.old/fdisk/sfdisk.c util-linux.dev/fdisk/sfdisk.c +--- util-linux.old/fdisk/sfdisk.c 2005-01-04 23:31:57.000000000 +0100 ++++ util-linux.dev/fdisk/sfdisk.c 2006-12-14 23:05:41.000000000 +0100 +@@ -176,12 +176,6 @@ + #define use_lseek + #endif + +-#ifndef use_lseek +-static __attribute__used +-_syscall5(int, _llseek, unsigned int, fd, ulong, hi, ulong, lo, +- loff_t *, res, unsigned int, wh); +-#endif +- + static int + sseek(char *dev, unsigned int fd, unsigned long s) { + loff_t in, out; +diff -ur util-linux.old/partx/partx.c util-linux.dev/partx/partx.c +--- util-linux.old/partx/partx.c 2004-08-23 22:13:27.000000000 +0200 ++++ util-linux.dev/partx/partx.c 2006-12-14 23:06:42.000000000 +0100 +@@ -339,9 +339,6 @@ + + #ifdef NEED__llseek + #include <linux/unistd.h> /* _syscall */ +-static +-_syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo, +- long long *, res, uint, wh); + #endif + + static int +diff -ur util-linux.old/fdisk/llseek.c util-linux.dev/fdisk/llseek.c +--- util-linux.old/fdisk/llseek.c 2007-01-20 15:53:17.870636000 +0100 ++++ util-linux.dev/fdisk/llseek.c 2007-01-20 15:55:33.458024160 +0100 +@@ -32,7 +32,7 @@ + #ifndef __NR__llseek + + /* no __NR__llseek on compilation machine - might give it explicitly */ +-static int _llseek (unsigned int fd, unsigned long oh, ++static int __llseek (unsigned int fd, unsigned long oh, + unsigned long ol, long long *result, + unsigned int origin) { + errno = ENOSYS; +@@ -41,17 +41,8 @@ + + #endif + +-static long long my_llseek (unsigned int fd, long long offset, +- unsigned int origin) +-{ +- long long result; +- int retval; +- +- retval = _llseek (fd, ((unsigned long long) offset) >> 32, +- ((unsigned long long) offset) & 0xffffffff, +- &result, origin); +- return (retval == -1 ? (long long) retval : result); +-} ++extern long long llseek(unsigned int fd, long long offset, unsigned int origin); ++#define my_llseek llseek + + #endif /* __alpha__ */ + |