summaryrefslogtreecommitdiff
path: root/gprof/alpha.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2009-02-12 12:47:39 +0000
committerAlan Modra <amodra@bigpond.net.au>2009-02-12 12:47:39 +0000
commit0559700dcafedfae4673ea2b918a0a9a2b79419b (patch)
treeead1f019e5c6f35e65d7976295eec29c721e50a2 /gprof/alpha.c
parentc4afa6ba443d191bef619137d14a4864d1db50b9 (diff)
downloadbinutils-redhat-0559700dcafedfae4673ea2b918a0a9a2b79419b.tar.gz
* corefile.c (core_create_function_syms): Remove "<locore>" and
"<hicore>" sentinels. * gprof.c: Likewise. * cg_print.c (cg_print_function_ordering): Likewise. * alpha.c (alpha_find_call): Add check for return value of sym_lookup. * mips.c (mips_find_call): Likewise. * sparc.c (sparc_find_call): Likewise. * tahoe.c (tahoe_find_call): Likewise. * vax.c (vax_find_call): Likewise.
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 b14e842c5e..1a3ebf9704 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.