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

[pbsd-mg2] Re: successful self make build



 > >  | endianによってmipsがmipselとmipsebに分離されたように、FPAの有無によって、
 > >  | たとえば以下のように分ければよいのではないでしょうか。

 > > これは、mipshfeb, mipssfeb, mipshfel mipssfebの方がいいのでは。
 > 
 > これって、MACHINE_ARCH で分けるのが適当でしょうか?
 > m68k や i386、arm も浮動小数点をエミュレーションで実行しなければいけな
 > いハードウェアは存在しますけど、MACHINE_ARCH は分かれてませんよね?
 > 
 > もちろん、現状は -msoft-float が必要ですけど、これは将来的には解決可能
 > ですよね。ただ、将来的にも -msoft-float なバイナリ配付は必要だと思うの
 > で、ちょっと悩むところですが。

浮動小数点エミュレーションはかなり大変らしいので、将来的といっても、
かなり遠いかも知れません。
コンパイラの互換性がないとなれば、コンパイラを mips[sh]el-netbsd で
分けるのは妥当な気がします。
(NetBSD の MACHINE_ARCH は無関係というか、別の話のような...)

とはいえ、互換性がないのは、ライブラリの setjmp などに load/store 
命令がすこし入っているという点だけなのですよね?

そこでちょっと考えたのですが、カーネルが FP reg. の load/store を無視
して program counter を進めることができれば、
gcc は mipsel-netbsd で共通で、user land のコンパイルの際に
どこかで CFLAGS=-msoft-float できればよいのではないでしょうか。(嘘?)

上記のような例外の無視は、やっぱり困難でしょうか?

Takemura