diff options
Diffstat (limited to 'gprof/vax.c')
-rw-r--r-- | gprof/vax.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/gprof/vax.c b/gprof/vax.c index a6904c1..99719b9 100644 --- a/gprof/vax.c +++ b/gprof/vax.c @@ -309,21 +309,24 @@ vax_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc) if (hist_check_address (destpc)) { child = sym_lookup (&symtab, destpc); - DBG (CALLDEBUG, - printf ("[findcall]\tdestpc 0x%lx", - (unsigned long) destpc); - printf (" child->name %s", child->name); - printf (" child->addr 0x%lx\n", - (unsigned long) child->addr); - ); - if (child->addr == destpc) + if (child) { - /* - * a hit - */ - arc_add (parent, child, (unsigned long) 0); - length += vax_operandlength (instructp + length); - continue; + DBG (CALLDEBUG, + printf ("[findcall]\tdestpc 0x%lx", + (unsigned long) destpc); + printf (" child->name %s", child->name); + printf (" child->addr 0x%lx\n", + (unsigned long) child->addr); + ); + if (child->addr == destpc) + { + /* + * a hit + */ + arc_add (parent, child, (unsigned long) 0); + length += vax_operandlength (instructp + length); + continue; + } } goto botched; } |