GCJ Stack Traces for arm-wince-pe on gcj 3.4.3
Craig Vanderborgh <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
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