私はABIクロスチェックツールを探していました。今、私は、このようなこれらの質問のように、他の質問で提案されているツールのいくつかを満たしている:ABI互換ヘッダ/ライブラリクロスチェック
How to test binary compatibility automatically?
Static analysis tool to detect ABI breaks in C++
を今、これは私が何をしようとしています正確に何ではありません - これらは、ABIを追跡してバージョン間で変更されます。
私は、与えられたプロジェクトのソースファイル+ライブラリヘッダーファイルとライブラリ.soファイルだけでなく、コンパイラのバージョン(ライブラリとプロジェクトの両方をコンパイルするために使用されている)が、 ABIの出力はコンパイルされたライブラリと一致しますか?
これは、アップストリームライブラリがlibfoo.soとlibfood.soを出荷した場合に適用される状況です。食べ物が少し違うABI(フロートの代わりに二重と言います)ですが、それほど遠くなくてはコンパイルできません。
- コンパイルされた実行可能ファイルが正しいlibにリンクされているというテスト(防弾ではない可能性があります)がありますか?
- これを行うツールはありますか?