[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00293] FDclone 2.05e on Vine Linux 2.6/ppc



  Vine Linux 2.6/ppc な機械で FDclone 2.05e を make すると、こうな
  ります:

cc -DFD=2 -DLINUX=1 -O -D_FILE_OFFSET_BITS=64    -c -o dosdisk.o dosdisk.c
dosdisk.c: In function `_llseek':
dosdisk.c:1038: more than 10 operands in `asm'
make[1]: *** [dosdisk.o] エラー 1

  どうやら、dosdisk.c の

---- cut here ----
#ifdef  USELLSEEK
static _syscall5(int, _llseek,
        unsigned int, fd,
        unsigned long, ofs_h,
        unsigned long, ofs_l,
        l_off_t *, result,
        unsigned int, whence);
---- cut here ----

  が

---- cut here ----
static  int    _llseek ( 
	unsigned int    fd ,  
	unsigned long    ofs_h ,  
	unsigned long    ofs_l ,  
	l_off_t *    result ,  
	unsigned int    whence )	{	unsigned long __sc_ret, __sc_err;	{	register unsigned long __sc_0  __asm__ ("r0");	register unsigned long __sc_3  __asm__ ("r3");	register unsigned long __sc_4  __asm__ ("r4");	register unsigned long __sc_5  __asm__ ("r5");	register unsigned long __sc_6  __asm__ ("r6");	register unsigned long __sc_7  __asm__ ("r7");	__sc_0 = 140          ;	__sc_3 = (unsigned long) (              fd      ) ;	__sc_4 = (unsigned long) (          ofs_h     ) ;	__sc_5 = (unsigned long) (        ofs_l    ) ;	__sc_6 = (unsigned long) (      result   ) ;	__sc_7 = (unsigned long) (    whence   ) ;	__asm__ __volatile__	("sc           \n\t"	"mfcr %0      "	: "=&r" (__sc_0),	"=&r" (__sc_3),  "=&r" (__sc_4),	"=&r" (__sc_5),  "=&r" (__sc_6),	"=&r" (__sc_7)	: "0" (__sc_0) , "1" (__sc_3) , "2" (__sc_4) , "3" (__sc_5) , "4" (__sc_6) , "5" (__sc_7)  	: "cr0", "ctr", "memory",	"r8", "r9", "r10","r11", "r12");	__sc_ret = __sc_3;	__sc_err = __sc_0;	}	if (__sc_err & 0x10000000)	{	(*__e!
 rrno_location ())  = __sc_ret;	__sc_ret = -1;	}	return (   int  ) __sc_ret ;	} ;
---- cut here ----

  に展開され、

dosdisk.c:1038: more than 10 operands in `asm'

  になっているようです。

  とりあえず、USELLSEEK を定義しないようにして逃げてみています。

diff -u FD-2.05e.org/machine.h FD-2.05e/machine.h
--- FD-2.05e.org/machine.h	2004-06-09 00:00:00.000000000 +0900
+++ FD-2.05e/machine.h	2004-06-22 18:43:11.000000000 +0900
@@ -506,6 +512,7 @@
 && !defined (ia64) && !defined (__ia64) && !defined (__ia64__) \
 && !defined (x86_64) && !defined (__x86_64) && !defined (__x86_64__) \
 && !defined (s390x) && !defined (__s390x) && !defined (__s390x__) \
+&& !defined (PPC) \
 && !defined (CONFIG_ARCH_S390X)
 # define	USELLSEEK
 # endif

----
// 毎月第 2 火曜日 (米国時間) は Windows Update の日
// http://windowsupdate.microsoft.com

小島 肇 - KOJIMA Hajime
[Office] kjm@rins.ryukoku.ac.jp, http://www.st.ryukoku.ac.jp/~kjm/