GCJ Stack Traces for arm-wince-pe on gcj 3.4.3

Craig Vanderborgh craigvanderborgh@gmail.com
Wed Jan 28 03:22:00 GMT 2009


Hello Everyone:

We have been busy bringing up gcj 3.4.3 on arm-wince-pe (Windows CE 5
and 6).  At this point everything is pretty much working (garbage
collection, hash synchronization, reflection, class loading, etc.) on
real-world GCJ applications.

What we are still lacking (and have always lacked..) is stack traces.
I understand that some work has been done in the most recent versions
to implement an arm-elf unwinder that supposedly works and that stack
traces are available now, at least for arm-elf-linux.  We considered
porting this (gcc-4.1.1) and using this version of gcj, but the
classpath-based libgcj is too big for us to handle on WinCE embedded
systems.  That's one reason why we're going for gcc-3.4.3.

What could we do to implement stack traces on gcc-3.4.3?  What would
be the best approach?  One idea we're considering is to alter the code
generation in gcc/gcj so that the ARM function calls adhere to a
simpler (unwindable) format.  It seems like this would be the least
invasive approach, since we then could continue to use SJLJ exceptions
in gcj.  Is this the best approach, or would it be possible/prudent to
backport the ARM unwinder from gcc-4.1.1+?

Any comments appreciated.

Thanks in advance,
Craig Vanderborgh
Voxware Incorporated



More information about the Java mailing list