Via C3 プロセッサを搭載した Advantech POS ボード上の (かなり古い) FC3 で実行されている Java アプリケーションに関連する問題があります。Java アプリケーションには、JNI 経由でアクセスされるコンパイル済みの共有ライブラリがいくつかあります。
C3 プロセッサ経由は i686 と互換性があるはずです。少し前に、同じプロセッサを搭載した MiniItx ボードに Ubuntu 6.10 をインストールした後、前の説明が 100% 真実ではないことがわかりました。Ubuntu カーネルは、C3 プロセッサに設定された i686 のいくつかの特定のオプション命令が不足しているため、起動時にハングアップしました。i686 セットの C3 実装にないこれらの命令は、i686 最適化を使用する場合、GCC コンパイラによってデフォルトで使用されます。この場合の解決策は、Ubuntu ディストリビューションの i386 コンパイル バージョンを使用することでした。
Java アプリケーションの基本的な問題は、FC3 ディストリビューションが別の PC (今回は Intel P4) の HD のイメージから複製することによって HD にインストールされたことです。その後、ディストリビューションを実行するには、いくつかのパッケージ (カーネルのものなど) を i386 コンパイル済みバージョンに置き換えるなど、いくつかのハッキングが必要でした。
問題は、しばらく作業した後、システムが跡形もなく完全にハングすることです。いくつかの i686 コードがシステムのどこかに残っていて、いつでもランダムに実行される可能性があるのではないかと心配しています (たとえば、サスペンド モードからの回復後など)。
私の質問は:
- バイナリ ファイル (実行可能ファイルまたはライブラリ) が必要とする特定のアーキテクチャ拡張機能を確認するツールまたは方法はありますか?
file
十分な情報を提供しません。