aboutsummaryrefslogtreecommitdiff
path: root/gprof/vax.c
diff options
context:
space:
mode:
Diffstat (limited to 'gprof/vax.c')
-rw-r--r--gprof/vax.c31
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;
}