From b916df9c10dddd0ae49a9029c8758759a319fb71 Mon Sep 17 00:00:00 2001 From: Masami Hiramatsu Date: Fri, 4 Apr 2008 16:52:30 -0400 Subject: 2008-04-04 Masami Hiramatsu 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. --- translate.cxx | 2 ++ 1 file changed, 2 insertions(+) (limited to 'translate.cxx') diff --git a/translate.cxx b/translate.cxx index f30fca7b..c9ec094a 100644 --- a/translate.cxx +++ b/translate.cxx @@ -874,6 +874,8 @@ c_unparser::emit_common_header () // See c_unparser::visit_statement() o->newline() << "const char *last_stmt;"; o->newline() << "struct pt_regs *regs;"; + o->newline() << "unsigned long *unwaddr;"; + // unwaddr is caching unwound address in each probe handler on ia64. o->newline() << "struct kretprobe_instance *pi;"; o->newline() << "va_list *mark_va_list;"; o->newline() << "void *data;"; -- cgit