[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pbsd-mg2] Re: successful self make build
鈴木(康)です。最近サボッテいるので、発言しにくいんですが、
コメント。
<199909020922.SAA09917@shin1.sm.sony.co.jp>の記事において
takemura@sm.sony.co.jpさんは書きました。
|
| とはいえ、互換性がないのは、ライブラリの setjmp などに load/store
| 命令がすこし入っているという点だけなのですよね?
lib/arch/mips を見てもらえばわかりますが、
flt_rounds.c: __asm__("cfc1 %0,$31" : "=r" (x));
fpgetmask.c: __asm__("cfc1 %0,$31" : "=r" (x));
fpgetround.c: __asm__("cfc1 %0,$31" : "=r" (x));
fpgetsticky.c: __asm__("cfc1 %0,$31" : "=r" (x));
fpsetmask.c: __asm__("cfc1 %0,$31" : "=r" (old));
fpsetmask.c: __asm__("ctc1 %0,$31" : : "r" (new));
fpsetround.c: __asm__("cfc1 %0,$31" : "=r" (old));
fpsetround.c: __asm__("ctc1 %0,$31" : : "r" (new));
fpsetsticky.c: __asm__("cfc1 %0,$31" : "=r" (old));
fpsetsticky.c: __asm__("ctc1 %0,$31" : : "r" (new));
は、全部だめです。こちらは、cfc1 を無視でいいのかも知れません。
あと、fabs.S isinf.S ldexp.S modf.S
もダメです。こっちの方の方が対応が難しいと思う。
| そこでちょっと考えたのですが、カーネルが FP reg. の load/store を無視
| して program counter を進めることができれば、
| gcc は mipsel-netbsd で共通で、user land のコンパイルの際に
| どこかで CFLAGS=-msoft-float できればよいのではないでしょうか。(嘘?)
|
| 上記のような例外の無視は、やっぱり困難でしょうか?
というわけで、例外の対応だけでは難しいと思います。
--
鈴木 康司 @NEC
suz@hpc.bs1.fc.nec.co.jp
TEL 0423-33-5381