Re: Creating and using GCJ ARM cross compiler
Andrew Haley <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
Matthijs van de Water wrote: > On Tue, Apr 22, 2008 at 2:02 PM, Andrew Haley <[email protected]> wrote: >> That's almost certainly exception handling. Put your bp on _Jv_Throw. > Looks like you're right: > > _Jv_Throw (value=0x4212efa0) at /data/gcc-4_2-branch/libjava/exception.cc:99 > 99 _Jv_Throw (jthrowable value) > (gdb) n > 104 if (value == NULL) > (gdb) inspect value > $4 = (jthrowable) 0x4212efa0 > (gdb) next > 102 = static_cast<java_exception_header *>(_Jv_AllocRawObj > (sizeof (*xh))); > (gdb) > 99 _Jv_Throw (jthrowable value) > (gdb) > 104 if (value == NULL) > (gdb) > 109 sizeof xh->unwindHeader.exception_class); > (gdb) n > 106 xh->value = value; > (gdb) n > 109 sizeof xh->unwindHeader.exception_class); > (gdb) n > 110 xh->unwindHeader.exception_cleanup = NULL; > (gdb) n > 118 code = _Unwind_RaiseException (&xh->unwindHeader); > (gdb) s > 110 xh->unwindHeader.exception_cleanup = NULL; > (gdb) s > 118 code = _Unwind_RaiseException (&xh->unwindHeader); > (gdb) s > terminate called without an active exception > > Program received signal SIGABRT, Aborted. > 0x41fb38c4 in raise () from /lib/libc.so.6 > (gdb) OK, good. If this were me I'd install gcc debuginfo and step through _Unwind_RaiseException, but we have, I think, established the most likely culprit. I can't see anything very much wrong with the merged Debian source, though. Andrew.