Package: extipl
Version: 5.04-2.1
Severity: serious
Tags: patch

When building 'extipl' on amd64/unstable, I get the following error:

nasm -dWRTBL_ENABLE -dVERBOSE -dHOOKUP13 -DFDTEST -f bin -o polluxA.bin -l 
polluxA.lst pollux.asm
nasm -dWRTBL_ENABLE -dVERBOSE -dHOOKUP13 -f bin -o castor0.bin -l castor.lst 
castor.asm
dd if=castor0.bin of=castor.bin bs=512 skip=1 2>/dev/null
./bin2src -o extndipl.src extndipl.templ
cc  -o extipl extipl.c
extipl.c: In function '_llseek':
extipl.c:1113: error: 'SYS__llseek' undeclared (first use in this function)
extipl.c:1113: error: (Each undeclared identifier is reported only once
extipl.c:1113: error: for each function it appears in.)
make[2]: *** [extipl] Error 1
make[2]: Leaving directory `/extipl-5.04/src'

With the attached patch 'extipl' can be compiled on amd64.

Regards
Andreas Jochens

diff -urN ../tmp-orig/extipl-5.04/src/extipl.c ./src/extipl.c
--- ../tmp-orig/extipl-5.04/src/extipl.c        2006-11-06 17:55:17.000000000 
+0000
+++ ./src/extipl.c      2006-11-06 17:55:12.000000000 +0000
@@ -22,9 +22,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <regex.h>
-#ifdef __linux__
-#include <sys/syscall.h>
-#endif
 #include "extipl.h"
 #include "sysident.h"
 #include "extndipl.src"
@@ -78,10 +75,6 @@
 static void tblpack(struct partition_s *);
 static char *ask(char *);
 static int  sure(char *);
-#ifdef __linux__
-static int _llseek(uint, ulong, ulong, loff_t *, uint);
-static int long_seek(int, off_t, int);
-#endif
 /*================ for DEBUG ======================== */
 static void hexdump(char *, int);
 static int  debug_out(char *, struct offset_s *, int);
@@ -253,11 +246,7 @@
        perror(device);
        return(ERR);
     }
-#ifdef __linux__
-    long_seek(fd, (off_t)offset->lba, SEEK_SET);
-#else
     lseek(fd, (off_t)offset->lba * SECTOR_SIZE, SEEK_SET);
-#endif
     if ((n = read(fd, buf, len)) != len) {
        perror("rdipl");
     }
@@ -287,11 +276,7 @@
        perror(device);
        return(ERR);
     }
-#ifdef __linux__
-    long_seek(fd, (off_t)offset->lba, SEEK_SET);
-#else
     lseek(fd, (off_t)offset->lba * (off_t)SECTOR_SIZE, SEEK_SET);
-#endif
     if ((r = write(fd, buf, len)) != len) {
        perror("wripl");
     }
@@ -1103,46 +1088,6 @@
     return(tolower(*ask((s == NULL) ? "... Sure(y/n)?" : s)) == 'y');
 }
 
-#ifdef __linux__
-
-static int _llseek(fd, hi, lo, res, whence)
-uint fd, whence;
-ulong hi, lo;
-loff_t *res;
-{
-    return syscall(SYS__llseek, fd, hi, lo, res, whence);
-}
-
-/* Hacked by Taketoshi Sano <[EMAIL PROTECTED]>  */
-static int long_seek(fd, offset, whence)
-int fd, whence;
-off_t offset;
-{
-    loff_t loffset, result;
-    unsigned long loff_hi, loff_lo;
-
-    loffset = (loff_t)offset << 9;
-    loff_hi = (unsigned long)(loffset>>32);
-    loff_lo = (unsigned long)(loffset & 0xffffffff);
-    if (opt_debug) {
-       fprintf(stderr, " sector: %lu, loffset: %Lu, loff_hi: %lu, loff_lo: 
%lu\n",
-               offset, loffset, loff_hi, loff_lo);
-       fflush(stderr);
-    }
-    if(_llseek(fd, loff_hi, loff_lo, &result, whence) != 0) {
-       perror("llseek");
-        return(ERR);
-    }
-    if (opt_debug) {
-       loffset = (ul_long)result >> 9;
-       fprintf(stderr, " result: %Lu, sector: %Lu\n", result, loffset);
-       fflush(stderr);
-    }
-    return(OK);
-}
-#endif
-
-
 /*=============================================================================
  *             for DEBUG
  
*=============================================================================*/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to