[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kernel softfloat emulation
TAKEMURA Shin <takemura@netbsd.org> writes:
> 1.カーネルによる FPU エミュレーションがあれば、ユーザランドの
> バイナリは FPU あり/なしゴチャマゼでぜんぜん OK ですか?
> ライブラリ(ダイナミックリンクライブラリ)など、互換性は
> 全然問題ないのでしたっけ?
浮動小数点の引数や返値の受渡し規定が異なるので、バイナリ互換性はありませ
ん。したがって、userlandのバイナリは混在することはできません。整数演算中
心のプログラムだと異常に気が付かないかもしれませんが。
> 2.実行速度の点で問題あるので、完全 SOFTFLOAT のパッケージも
> 供給するべきだと思うのですが、
> パッケージのディレクトリが mipsel になると、完全 SOFTFLOAT のは
> どこに置くのがいいのでしょうか。別途 mipssfel を作る?
この辺りは悩むところです。パッケージだけで済む話ではないので。
softfloatで作ったバイナリを実行するためには、バイナリ自身だけでなく、実
行時にリンクされるすべてのライブラリのバイナリもsoftfloat用に別に用意し
てそちらを使う必要があります。あるいはstatic linkするか。
もともと浮動小数点演算性能が必要ないアプリケーション向けに作られたCPUで
すので、性能をすっぱりあきらめてしまって、エミュレーションだけにしてしま
うという手もあります。
カーネルでエミュレートしようが、softfloatで計算しようが、遅いことには変
わりはありません。程度の差はありますが。
篠原