fix fdisk llseek
authorFelix Fietkau <nbd@openwrt.org>
Sat, 20 Jan 2007 15:00:31 +0000 (15:00 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 20 Jan 2007 15:00:31 +0000 (15:00 +0000)
SVN-Revision: 6144

package/util-linux/patches/100-compile_fix.patch [deleted file]
package/util-linux/patches/100-llseek.patch [new file with mode: 0644]

diff --git a/package/util-linux/patches/100-compile_fix.patch b/package/util-linux/patches/100-compile_fix.patch
deleted file mode 100644 (file)
index ed5bfa6..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-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 --git a/package/util-linux/patches/100-llseek.patch b/package/util-linux/patches/100-llseek.patch
new file mode 100644 (file)
index 0000000..51bd09d
--- /dev/null
@@ -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__ */