2016-03-24 19 views
0

私は静的ライブラリ内の関数を呼び出す不透明な静的リンクライブラリ(.aファイル)といくつかの不透明オブジェクトファイル(.o)を持っています。静的ライブラリのいくつかの関数呼び出しの周りにラッパーを追加したいと思います。静的ライブラリのシム関数

動的ライブラリの場合は、実行時にLD_PRELOADを使用しますが、これは静的にリンクされているため、コンパイル時のテクニックを使用する必要があります。私は-Z muldefsと考えていましたが、関数呼び出しをオーバーライドすることはできますが、シム内の元の関数を呼び出せるようにする必要があるため、直接使用することはできません。

私が考えることができる最善の解決策は、objcopy --redefine-symを使用して不透明ライブラリ内の関数の名前を変更し、シムコードを新しい名前で呼び出すことです。より良い方法がありますか?

答えて

1

もっと良い方法がありますか?

いいえ、あなたができることは最高です。

関連する問題