2012-01-20 11 views
2

つここ質問:GCCがサポートするすべてのEABIバージョンの検索方法とターゲットシステムのEABIバージョンの検索方法は?

  1. 多くのLinux-か - アンドロイドオンARMシステムに共有ライブラリを移植する場合、GCCクロスコンパイラがサポートしてEABIバージョンを行い、正確なEABIバージョンを知ることが望ましいですデフォルトです。どうやってするの?

  2. 対象となるLinuxまたはAndroidシステムがどのEABIにあるかを調べるにはどうすればよいですか?私は通常、ターゲット・ボードからシステム・ライブラリーを取り出し、$ARM-GCC-PREFIX-readelf -h $LIBNAME | grep Flagsと呼んで私に返します。 Version4 EABIのようになります。しかし、私はreadelfを実行するためにターゲットからホストにシステムライブラリをコピーする必要はありませんので、美しい方法はありますか?

答えて

1

あなたは既にABIファイルが使用するものを特定する真の方法を見つけたようです。私はreadelfより良い方法を知らない。

同様に、readelfはおそらく、コンパイラが使用するデフォルトのABIを決定する最も良い方法です。

コンパイラでは、特定のABIバージョンを実際に選択することはできません。さまざまなABIバリアントの中から選択することができます。コンパイラは、書かれた時点で現在のABIが何であれ実装するだけです。 EABIはとにかく下位互換性があると考えられています。

多分実際の質問はアーキテクチャがサポートされているかどうかです。または浮動小数点は何ですか?特定のデバイス用にビルドする場合は、が重要です。です。