diff -ruN gpart-0.1h.orig/src/l64seek.h gpart-0.1h/src/l64seek.h
--- gpart-0.1h.orig/src/l64seek.h 2000-12-13 17:56:07.000000000 -0500
+++ gpart-0.1h/src/l64seek.h 2006-06-06 17:42:58.000000000 -0400
@@ -28,6 +28,7 @@
#if defined(__linux__)
# include <linux/unistd.h>
+# include <sys/syscall.h>
# include <sys/types.h>
typedef int64_t off64_t;
#endif
--- gpart-0.1h.orig/src/l64seek.c 2000-12-13 17:54:11.000000000 -0500
+++ gpart-0.1h/src/l64seek.c 2006-06-06 18:04:41.000000000 -0400
@@ -25,10 +25,6 @@
} ostck[OSTACKLEN];
static int osptr = -1;
-#if defined(__linux__) && defined(__i386__)
-_syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t *,res,uint,wh)
-#endif
-
off64_t l64seek(int fd,off64_t offset,int whence)
@@ -41,7 +37,7 @@
ohi = (unsigned long)((offset >> 32) & 0xFFFFFFFF);
olo = (unsigned long)(offset & 0xFFFFFFFF);
- iret = _llseek(fd,ohi,olo,&ret,whence);
+ iret = syscall(__NR__llseek,fd,ohi,olo,&ret,whence);
if (iret == -1)
ret = (off64_t)-1;
#endif