blob: 12c78b3a8a20c7f0f35917098440e551578d7eba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 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).
---
libjava/stacktrace.cc | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
--- a/src/libjava/stacktrace.cc
+++ b/src/libjava/stacktrace.cc
@@ -115,6 +115,9 @@ _Jv_StackTrace::UnwindTraceFn (struct _Unwind_Context *context, void *state_ptr)
// Check if the trace buffer needs to be extended.
if (pos == state->length)
{
+ // http://gcc.gnu.org/ml/java/2008-06/msg00010.html
+ return _URC_END_OF_STACK;
+
int newLength = state->length * 2;
void *newFrames = _Jv_AllocBytes (newLength * sizeof(_Jv_StackFrame));
memcpy (newFrames, state->frames, state->length * sizeof(_Jv_StackFrame));
|