私のアプリケーションの特定のモジュールに古いバージョンのlibcを使用させるにはどうすればよいですか?2つのバージョンのlibcを同じアプリケーションにリンクするにはどうすればいいですか?
アプリケーションにリンクする必要がある.soファイルが2つありますが、そのうちの1つは古いバージョンのlibcでのみ動作し、1つは新しいバージョンでのみ動作します。
私はソースを持っていますが、これまでのところエラーの原因を突き止めて失敗しました。私はそれが確かに正しい修正であるので、その検索を停止していません。
リンカがアプリケーションのその部分だけ古いlibcを使用するように強制する措置は一時的なものですか?
静的にリンクしたり、シンボリックリンクを設定しても問題ありません。
更新/明確化:
私は、これはコードベースを変更せずに実現するためにしようとしています。この非常に特殊な.soファイルでは、libcシンボルはlibcの古いコピーを指すようにしなければならないことをリンカに伝える方法を理解したいと思います。
実際のバグを見つけたとしても、これは自分の面白い十分なチャレンジのようです。
これも可能ですか?
おかげ
注目のリンク、よろしくお願いいたします。明らかにバグを見つける正しい解決策ですが、それは問題のポイントではありません。 :)これはコンパイラのフラグレベルで行うことができますか? (元の投稿を更新します) – nonot1