[from Debian, added #ifdef __ARM_EABI_UNWINDER__ wrapper, rediffed ] # DP: On armel, apply kludge to fix unwinder infinitely looping 'til it runs out # DP: of memory (http://gcc.gnu.org/ml/java/2008-06/msg00010.html). --- gcc-4.6.3/libjava/stacktrace.cc.~1~ 2007-09-04 20:00:31.000000000 +0200 +++ gcc-4.6.3/libjava/stacktrace.cc 2012-05-03 22:24:49.000000000 +0200 @@ -110,6 +110,11 @@ _Jv_StackTrace::UnwindTraceFn (struct _U // Check if the trace buffer needs to be extended. if (pos == state->length) { +#ifdef __ARM_EABI_UNWINDER__ + // http://gcc.gnu.org/ml/java/2008-06/msg00010.html + return _URC_END_OF_STACK; +#endif /* __ARM_EABI_UNWINDER__ */ + int newLength = state->length * 2; void *newFrames = _Jv_AllocBytes (newLength * sizeof(_Jv_StackFrame)); memcpy (newFrames, state->frames, state->length * sizeof(_Jv_StackFrame));