diff options
| author | Russ Cox <rsc@golang.org> | 2013-02-15 14:48:47 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2013-02-15 14:48:47 -0500 |
| commit | 6c1539bb0137021840b07c07641e28661a652d36 (patch) | |
| tree | 4570c2507b974280c01354d92bab09d3f8966562 /src/pkg/runtime/traceback_arm.c | |
| parent | c8214c78bd2f8ad308119dc2344634993ab499c8 (diff) | |
| download | go-6c1539bb0137021840b07c07641e28661a652d36.tar.xz | |
runtime: show frame pointer values during throw
Should help if stack overflows start happening again.
Fixes #3582.
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/7311098
Diffstat (limited to 'src/pkg/runtime/traceback_arm.c')
| -rw-r--r-- | src/pkg/runtime/traceback_arm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pkg/runtime/traceback_arm.c b/src/pkg/runtime/traceback_arm.c index 77aeb820a6..8ce000c1fe 100644 --- a/src/pkg/runtime/traceback_arm.c +++ b/src/pkg/runtime/traceback_arm.c @@ -125,6 +125,8 @@ runtime·gentraceback(byte *pc0, byte *sp, byte *lr0, G *gp, int32 skip, uintptr tracepc = pc; // back up to CALL instruction for funcline. if(n > 0 && pc > f->entry && !waspanic) tracepc -= sizeof(uintptr); + if(m->throwing && gp == m->curg) + runtime·printf("[fp=%p] ", fp); runtime·printf("%S(", f->name); for(i = 0; i < f->args; i++) { if(i != 0) |
