Kimura Fuyuki
fuyuk****@nigre*****
2004年 2月 17日 (火) 13:34:33 JST
おそらく火元はSolarisだろうと思って調べてみたんですが、あたりでした。 現時点での予想としては、Linuxにしろ*BSDにせよ、Solarisの挙動を不完全に 真似てしまったのが間違いではないかと思います。 Solarisのdlopenは 1. dlopenで得たシンボルがどこ「から」見えるか(RTLD_GLOBAL,LOCAL) 2. dlopenで得たシンボルがどこ「を」見られるか(RTLD_GROUP,PARENT,WORLD) の両方を指定できるのですが、FreeBSDなどでは前者のオプションしかありま せん。 http://docs.sun.com/db/doc/817-0692/6mgfnkubt?q=dlopen&a=view つまり、Solarisではdlopenしたオブジェクトの視界を意図的に狭めることが できるのに対し、ほかでは実質的にRTLD_WORLD(すべてのシンボルが検索対象) になってしまっているというのが問題なのではないでしょうか。 -- 木村 冬樹