えぐち です。 ---------- > 差出人 : WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp> > 件名 : [ruby-list:4845] Re: rbc.rb > > わたなべです. > > Shugo Maeda <shugo / po.aianet.ne.jp> writes: > > :$ nm -o /usr/local/jdk1.1.3/lib/i586/green_threads/*.so | grep '__muldi3' > :/usr/local/jdk1.1.3/lib/i586/green_threads/libjava.so: U __muldi3 > [...] > :* ext/java/java.so > : > :$ nm ext/java/java.so | grep '__muldi3' > : > :この結果はどういうことを意味するんでしょう? > > 名前からして掛け算とか割り算とかそういったもんだと思うんだけ > ど, なんでしょうね. libc には __umoddi3, __udivdi3 はあるみ > たい. 私は freebsd/sunos な人なので外してるかもしれませんが。 通常 _muldi3 は、 libgcc.a に含まれています。 きっと、java.so の中では、long long (だったかな?)の 乗算を呼んでいて、通常の ruby では呼んでいないってことだとおもいます。 解決するには lingcc.a から _muldi3.o を ar で取り出して java.so にリンクしてしまうのが簡単だとおもいます。 えぐち