.soが-Bsymbolic-functionsフラグでコンパイルされたことを確認する方法はありますか?

.soが-Bsymbolic-functionsフラグでコンパイルされたことを確認する方法はありますか?

dlopen私のアプリケーションはカスタムコードを動的にロードします。一般的に使用されるシンボルの場合、デフォルトではグローバルシンボルテーブルが使用されます。

しかし、私は次の機能を提供したいと思います。ユーザーが接続している場合は、関数にフラグを渡します-Bsymbolic-functionsRTLD_DEEPBINDdlopen

-Bsymbolic-functions.soがCに関連付けられているかどうかをプログラムで知る方法はありますか?

ベストアンサー1

標準ELFプログラムダンプを使用できます。

dump -Lv libxxx.so | grep SYMBOLIC

おすすめ記事