> > > >>>>> "GB" == Godmar Back writes: > > GB> Or are you a "alpha test power user" who wants to help testing gcj > GB> support? > > Yeah, I understand refinements are a long road.. But I must admit I'm greedy > to see how much difference gcj will make on the client-side of my things.. > That's great! Incidentally, we just discussed a scheme of how we could fix the locking in kaffe to make gcj support fully functional. Note that I haven't worked on this stuff for more than a month now, so I haven't tried to most cutting edge gcj. (Did they ever include Bryce's implementation of the interface dispatch scheme? This would break things in the short run, but incidentally we already have what they implement.) > > Yeah, incidentally, I had to exclude some symbols that matched a > pattern that fixup was looking for. They were of the form > "__*@@GLIBC_2.0". Another change was to include > in gcj-class.cc and gcj-soft.cc. Would you mind sending us (or kaffe-core or me) the details? I.e., which symbols did we match wrongly, and do we need Constructor.h? > > GB> Could you give the gcc version (gcc -v), whether or not you have > GB> libgcj installed on your system (try locate libgcj), what > GB> libraries kaffe was linked against (try ldd ...../libexec/Kaffe) > > I'm using GCC out of CVS as of yesterday (2.96 20000131), likewise for Like I said, I haven't tried such a recent version. > GB> What is your CLASSPATH? > > Just hello.so. Good. > > GB> Your LD_LIBRARY_PATH? > > . (for the fixup) and /usr/X11R6/lib Good. > > GB> Your /etc/ld.so.conf? > > /usr/X11R6/lib and /usr/i486-linux-libc5/lib Hmm. The reason I asked this is to see whether libgcj.so is still in a standard place where it would be found w/o a special LD_LIBRARY_PATH setting. If that's the case, you'd end up with the problem you had earlier if the library depends on libgcj.so. If you don't have libgcj.so in such a place, then it will fail w/o a LD_LIBRARY_PATH setting, which makes debugging less confusing. > > GB> How did you compile hello.so? > > First compiled against the unpacked Klasses.jar and then linked with Good. > "gcj -shared -o X.so X.o". I don't believe this will work. You have to use "gcc" instead of "gcj" or else you end up with a different spec file that pulls in the libs you describe. Alexandre says the same. > > GB> Could you type "ldd hello.so" for me (this mustn't depend on > GB> libgcj.so!) > > The previous link command ended up giving me libzgcj.so.0, libgcjgc.so.1, > and libgcj.so.1 as depedencies. With -nostdlib that goes away, but now I Like I said, you may want to try gcc instead of gcj to link the .so > > Program received signal SIGABRT, Aborted. > 0x400da4e1 in __kill () from /lib/libc.so.6 > (gdb) bt > #0 0x400da4e1 in __kill () from /lib/libc.so.6 > #1 0x400da156 in raise (sig=6) at ../sysdeps/posix/raise.c:27 > #2 0x400db868 in abort () at ../sysdeps/generic/abort.c:88 > #3 0x4006ee05 in get_reg_addr () at /src/kaffe/kaffe/kaffevm/gcj/eh.c:635 > #4 0x4006eefc in next_stack_level (pc=0x4006d234, udata=0xbfffecac, > caller_udata=0xbfffec2c) at /src/kaffe/kaffe/kaffevm/gcj/eh.c:644 > #5 0x4006f149 in throw_helper (eh=0x40090760, pc=0x4006d234, > my_udata=0xbfffed7c, offset_p=0xbfffed78) > at /src/kaffe/kaffe/kaffevm/gcj/eh.c:771 Could you try x/i 0x40090760 x/i 0x4006d234 to see what stack frame we're in? Note that kaffe must be compiled with the same version of gcc that you compile gcj with. In frame 4, it would be nice to know what reg and udata->saved[reg] are. > #6 0x4006f3b6 in __throw () at /src/kaffe/kaffe/kaffevm/gcj/eh.c:954 > #7 0x4006d235 in _Jv_Throw (obj=0x81f7220) > at /src/kaffe/kaffe/kaffevm/gcj/gcj-except.c:179 > #8 0x400327c1 in dispatchException (eobj=0x81f7220, baseframe=0x81e8bb8) > at /src/kaffe/kaffe/kaffevm/exception.c:381 > #9 0x400325d1 in throwExternalException () > at /src/kaffe/kaffe/kaffevm/exception.c:239 > #10 0x4004af0e in soft_athrow () at /src/kaffe/kaffe/kaffevm/soft.c:445 > #11 0x81f42d3 in ?? () Note that you can source developers/gdbinit and type findnativemethod 0x81f42d3 to find where you are. But it's not important here, I don't think. > #12 0x81b5445 in ?? () Could you also make sure that kaffe is compiled with the -fexceptions flag? Thanks, - Godmar