私は ABI クロスチェック ツールを探し回っています。今、私はこれらの質問のような他の質問で提案されたツールのいくつかに会いました:
現在、これはまさに私がやろうとしていることではありません - これらはバージョン間の ABI の変更を追跡するためです。
特定のプロジェクト ソース ファイル + ライブラリ ヘッダー ファイルとライブラリ .so ファイル、およびコンパイラ バージョン (ライブラリとプロジェクトの両方のコンパイルに使用される) があれば、ABI の出力をクロス チェックできるのではないかと考えていました。コンパイルされたライブラリと一致しますか?
したがって、これが適用される状況は、アップストリーム ライブラリが libfoo.so および libfood.so を出荷した場合です。food の ABI は少し異なりますが (float ではなく double など)、コンパイルできないほどではありません。
- コンパイルされた実行可能ファイルが正しいライブラリにリンクされていることを示すテスト (おそらく防弾ではない) を考え出すことは可能ですか?
- これを行うツールはありますか?