summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2008-04-04 16:52:30 -0400
committerMasami Hiramatsu <mhiramat@redhat.com>2008-04-04 16:52:30 -0400
commitb916df9c10dddd0ae49a9029c8758759a319fb71 (patch)
tree10c84aebfd992f31d3dbffccbe4b10b81d995e6b /tapsets.cxx
parent5eba3ad6104a45c4bc6e1b3b2283f0fb05fbef87 (diff)
downloadsystemtap-steved-b916df9c10dddd0ae49a9029c8758759a319fb71.tar.gz
systemtap-steved-b916df9c10dddd0ae49a9029c8758759a319fb71.tar.xz
systemtap-steved-b916df9c10dddd0ae49a9029c8758759a319fb71.zip
2008-04-04 Masami Hiramatsu <mhiramat@redhat.com>
PR 6028 * translate.cxx (c_unparser::emit_common_header): Add unwaddr for caching unwound address. * tapsets.cxx (common_probe_entryfn_prologue): Clear unwaddr. * loc2c-runtime.h (fetch_register): Call ia64_fetch_register with the address of c->unwaddr. * regs-ia64.c (ia64_fetch_register): Don't unwind stack if it has already unwound stack in same probe.
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 079d87e8..ceda9015 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -205,6 +205,8 @@ common_probe_entryfn_prologue (translator_output* o, string statestr,
o->newline() << "c->last_error = 0;";
o->newline() << "c->nesting = 0;";
o->newline() << "c->regs = 0;";
+ o->newline() << "c->unwaddr = 0;";
+ // reset unwound address cache
o->newline() << "c->pi = 0;";
o->newline() << "c->probe_point = 0;";
if (! interruptible)