aboutsummaryrefslogtreecommitdiff
path: root/gprof/alpha.c
diff options
context:
space:
mode:
Diffstat (limited to 'gprof/alpha.c')
-rw-r--r--gprof/alpha.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/gprof/alpha.c b/gprof/alpha.c
index b14e842..1a3ebf9 100644
--- a/gprof/alpha.c
+++ b/gprof/alpha.c
@@ -148,17 +148,20 @@ alpha_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc)
if (hist_check_address (dest_pc))
{
child = sym_lookup (&symtab, dest_pc);
- DBG (CALLDEBUG,
- printf (" 0x%lx\t; name=%s, addr=0x%lx",
- (unsigned long) dest_pc, child->name,
- (unsigned long) child->addr));
- if (child->addr == dest_pc || child->addr == dest_pc - 8)
- {
- DBG (CALLDEBUG, printf ("\n"));
- /* a hit: */
- arc_add (parent, child, (unsigned long) 0);
- continue;
- }
+ if (child)
+ {
+ DBG (CALLDEBUG,
+ printf (" 0x%lx\t; name=%s, addr=0x%lx",
+ (unsigned long) dest_pc, child->name,
+ (unsigned long) child->addr));
+ if (child->addr == dest_pc || child->addr == dest_pc - 8)
+ {
+ DBG (CALLDEBUG, printf ("\n"));
+ /* a hit: */
+ arc_add (parent, child, (unsigned long) 0);
+ continue;
+ }
+ }
}
/*
* Something funny going on.