起動時に.soファイルをプラグインとしてロードするアプリケーションを持っています.dlopen()
ビルド環境は x86 ハードウェアで実行されていますが、アプリケーションは別のプラットフォーム用にクロス コンパイルされています。
アプリケーションを実際にデプロイすることなく、(自動ビルド プロセスの一部として) .so ファイルとアプリケーションの組み合わせに未解決のシンボルがないことを確認するチェックを行うことができれば素晴らしいことです。
の出力を使用してシンボルをテストするスクリプトを作成する前に、nmこれを既に実行しているユーティリティを誰か知っているかどうか疑問に思っています。
編集1:説明をわずかに変更しました-.soでシンボルをテストしようとしているだけでなく、いくつかの.soとアプリケーション自体の組み合わせでテストしようとしています-つまり. アプリケーションがすべての .so をロードした後、まだ未解決のシンボルがあるかどうか。
回答で示唆されているように (Martin v. Löwis と tgamblin に感謝)、nm単一のファイルで欠落しているシンボルを簡単に識別できますが、それらのシンボルのどれが他のロードされたモジュールの 1 つで解決されたかを簡単に識別できません。