Kimura Fuyuki
fuyuk****@nigre*****
2004年 2月 12日 (木) 17:29:04 JST
At Thu, 12 Feb 2004 15:14:08 +0900, Kimura Fuyuki <fuyuk****@nigre*****> wrote: > > これはGaucheの問題というより動的リンクの問題なのかもしれませんが、行き > 詰まってしまったので知恵を貸してください。 どうやら手元の環境(FreeBSD/gcc-3.3.3)に問題がありそうな気配です。具体 的に言うと、たとえばspigot.cに double floor(double d){return 0;} みたいのがつっこんであったとしても、なぜか正しい答が出てしまいます。 (少なくともDebian woodyではそんなことない) さらに、 int puts(const char *s){} を入れておくと、putsはこちらのほうが使われます。どういうシンボル解決を してるんだろう。 リンク状況はこんな感じ。 $ ldd ./spigot.so ./spigot.so: libgauche.so => /opt/lib/gauche/0.7.4.1/i386-unknown-freebsd5.2/libgauche.so (0x28149000) libcrypt.so.2 => /lib/libcrypt.so.2 (0x281ef000) libutil.so.4 => /lib/libutil.so.4 (0x28208000) libm.so.2 => /lib/libm.so.2 (0x28214000) (疲れた。あとでまた考えよう…) * ついでに発見したこと。Scm_DynLoadのexport引数はどう見ても使われてない 気がします。 -- 木村 冬樹