[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00659] Re: compile error with _NODOSDRIVE
- Subject: [FDclone-users:00659] Re: compile error with _NODOSDRIVE
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Tue, 28 Nov 2006 17:45:12 +0900
しらいです。
In Message-Id <c8dd21e70611272101l10e69f8dw381adfa4a96a5475@mail.gmail.com>
toyota <ug110@drive.co.jp>さんwrites:
> 豊田です。
> Linux 2.6.9 + FD-2.09a + gcc 3.4.5 の環境で、
> _NODOSDRIVE オプションをつけてコンパイルを行うと
> libc.o(.text+0x1bf): In function `_realpath2':
> : undefined reference to `_dospath'
> となってしまいます。
> libc.c の164行目が問題のようです。他の環境でも
> 試してみたのですが、同じ結果でした。
む、条件の真偽を逆にしてしまっていたようです。compile 出来
ないだけならまだしも、_NODOSDRIVE をつけない場合はフロッピー
ドライブ上で「..」が扱えなくなってしまいます。
以下の patch でどちらも解消されると思いますので試してみて
下さい。
---- Cut Here ----
diff -u ../old/FD-2.09a/libc.c ./libc.c
--- ../old/FD-2.09a/libc.c Tue Oct 31 00:00:00 2006
+++ ./libc.c Tue Nov 28 16:59:46 2006
@@ -160,7 +160,7 @@
if (n == 1) {
cp = strrdelim(resolved, 0);
top = resolved;
-#ifndef _USEDOSEMU
+#ifdef _USEDOSEMU
if (_dospath(resolved)) top += 2;
else
#endif
---- Cut Here ----
> make CC=sh4-linux-gcc HOSTCC=cc CFLAGS="-DLINUX=1 -Os -D_FILE_OFFSET_BITS=64"
> としたのですが、最初の mkmfsed をコンパイルする際、
> HOSTCFLAGS が使用されずに CFLAGS を使用しているようです。
TECHKNOW にも書かれていますが、cc の option は make 引数の
CFLAGS ではなく、config.h の EXTENDCCOPT で与えて下さい。こ
の場合ですと下記のような記述になると思います。
#undef EXTENDCCOPT
#define EXTENDCCOPT "-Os -D_FILE_OFFSET_BITS=64"
因みに HOSTCC の方は option を変更出来るような仕組みにはな
っていません。HOSTCC で生成されるのは最終成果物ではないので、
特に compile option は必要ないと思います。
しらい たかし