Skip to main content.
Google custom search

NetBSD/hpcmips バイナリー互換性

他の NetBSD ポートとの互換性

ULTRIX との互換性

Linux の MIPS 移植物との互換性


このページについて (トップ)

このページは、 NetBSD/hpcmips のバイナリー互換性について書いてあります。 パッケージレベルでは、 NetBSD/pmax、 NetBSD/hpcmips、 NetBSD/cobalt、 NetBSD/playstation2 と NetBSD/arc の間で全てが互換性があります。 NetBSD/hpcmips のユーザーランドのバイナリーは、 "-mhard-float" フラグ付でコンパイルされています。


他の NetBSD ポートとの互換性

NetBSD/cobalt とのバイナリー互換性 (トップ)

NetBSD/cobalt は arc 、 pmax 、 hpcmips および playstation2 とほぼ互換です。

NetBSD/playstation2 とのバイナリー互換性 (トップ)

NetBSD/playstation2 は arc、 pmax および hpcmips とほぼ互換です。

NetBSD/arc とのバイナリー互換性 (トップ)

NetBSD/arc は、 pmax および hpcmips とほぼ互換です; 唯一の例外がディスクラベル (MAXPARTITIONS==16) です。 NetBSD/hpcmips の disklabel コマンドは pmax とも非互換で、 それは、 fdisk (MBR) パーティションテーブルを扱うからです。

NetBSD/pmax とのバイナリー互換性 (トップ)

NetBSD/pmax のユーザーランドバイナリーと パッケージもリトルエンディアンですが、 (エミュレートされることでできる)ハードウェア浮動小数点と、 非互換のファンクションコール規則 (これが、 pmax と hpcmips のバイナリーが共通の共有ライブラリーを使うことを妨げます) を使います。

ハードウェア浮動小数点演算 'mipsel' ユーザーランド:

NetBSD/pmax とユーザーランドおよびパッケージ共に共有することができます。 これは、保守の手間と配布物を置く空間を節約しますが、 浮動小数点演算性能を犠牲にします。

ソフトウェア浮動小数点演算 'mipselsf' ユーザーランドおよびパッケージ:

これは、パフォーマンスが最も良いのですが、 これによって、 ダイナミックリンクされた NetBSD/pmax バイナリーを走らせること ができません。

ソフトウェア浮動小数点演算 'mipselsf' ユーザーランド、 外付けの 'mipsel' ライブラリー:

1つは、ソフトウェア浮動小数点演算、もう1つはハードウェア浮動小数点演算の 2部の共有化ライブラリーをつくり、 ld.so を、適切な方式を使うように変更します。 これは、どちらのタイプのバイナリーも実行できますが、これの保守は悪夢です。


ULTRIX との互換性

ULTRIX とのバイナリー互換性 (トップ)

NetBSD/hpcmips は、スタティックリンクされた ULTRIX バイナリーを実行できます。 実行するには、以下のような手順を踏みます。

  1. カーネルコンフィギュレーションオプションを追加し、カーネルを再構築します。

    options COMPAT_ULTRIX
    options EXEC_ECOFF
    
  2. /usr/share/examples/emul/ultrix/etc/svc.conf/etc/svc.conf/emul/ultrix/etc/svc.conf にコピーします。

  3. /etc/hostsにホスト名を追加します。

NetBSD/hpcmips は、 distributed.net clients のようなスタティックリンクされている ULTRIX バイナリーを実行できます。


Linux の MIPS 移植物との互換性

Linux との互換性 (トップ)

NetBSD/hpcmips には "COMPAT_LINUX" カーネルオプションがありますが、 それはまったくテストされていません。 これに関するもっと多くのテスターや開発者を歓迎します。


Back to  NetBSD/hpcmips ポートのページ