私はすでにコンパイル済み/リンク済みの DSO ファイルを持っています。これは、実際に非表示にする必要があるいくつかの関数をエクスポートします。コードをそのライブラリにリンクしようとすると、自分のシンボルではなく不要なシンボルが検出されます。ソース コードにアクセスできないため、バイナリを再構築して、不要なものに適切な可視性属性を使用することができません。
ここで唯一の解決策が見えます-不要なシンボルフォームの可視性GLOBAL
をHIDDEN
直接バイナリに変更します。そのような変更のための明らかなツールは ですobjcopy
が、問題は、objcopy
動的シンボル テーブルを変更するオプションがなく、通常のシンボル テーブルしか処理できないことです。
ダイナミック シンボル テーブルのシンボルの可視性を変更できるツールを知っている人はいますか?