2011-08-01から1ヶ月間の記事一覧

同名のシンボルを持つ同名のライブラリーをリンクしたライブラリーを dlopen したときの名前解決

昨日のエントリーのあとで、では dlopen/dlclose で明示的にリンクしたらどうなるか? という疑問がわいたので引き続いて調査。 (リンカー・ローダーのソースを読まずに動作から確認している…というあたり、弱いなあ)main というアプリケーションが one/li…

同名のシンボルを持つ複数のライブラリーをリンクしたときの名前解決

GOT やリンカー・ローダーの仕組みを考えれば、そうなるかな、と納得はできるんだけれど、たいそうショックを受けたことがら。次のような三つのソースを用意する。 /* a.c */ int puts(const char *str); void foo() { puts("hello"); } void bar() { foo();…