- くだらねえ質問はここに書き込め! Part 219 [転載禁止]©2ch.net
98 :login:Penguin[]:2015/06/04(木) 12:36:52.23 ID:9V/7BXod - >>94
/usr/lib64/libstdc++.so.6.0.20-gdb.py っていうのが本当は何かしらんが、ファイル名から察するに、 libstdc++ を gdb で debug したい、なんかそのあたりを python の スクリプトにしました的なファイルだろう。 あるプロセスが runtime に shared object を mmap するにあたって、 その共有ライブラリがどこにあるのかを知る必要があるのだが、 ldconfig は、それを助けるためのヒントとなるキャッシュのような データを事前に作ってくれるんだ。 ヲレのシステムだと、/etc/ld.so.cache だわ。 そのときに、ldconfig は、LIBRALRY_PATH 等をスキャンして、 共有ライブラリを探すんだが、そのファイルをみっけて、 「これ共有ライブラリじゃないやん」と怒ったんだ。 で、さきの、/etc/ld.so.cache には「のっかりません」。 で、実際に shared library がプロセスにマップされるときは、 /lib/ld-2.11.1.so とか、/lib/ld-linux.so が内部的に呼び出されるんだが、 そのときに、共有ライブラリを探すために /etc/ld.so.cache を参照するんだわ。 cache をつくる段階で、ldconfig によって /usr/lib64/libstdc++.so.6.0.20-gdb.py は弾かれているので、 この妙なファイルが ld.so によってプロセス空間にマップされようと 試行されることはない。 よって、>>94 は、心配しなくていい。 参考になったなら幸甚です。
|
|