values to unsigned long when calling printf.
* Makefile.am ($(OBJECTS)): Add gmon.h.
* Makefile.in: Rebuild.
+1999-07-01 Ian Lance Taylor <ian@zembu.com>
+
+ * Many files: Add casts in many print statements to cast bfd_vma
+ values to unsigned long when calling printf.
+ * Makefile.am ($(OBJECTS)): Add gmon.h.
+ * Makefile.in: Rebuild.
+
Mon Jun 14 10:35:28 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* gprof.texi: Fix typo.
# Dependencies.
$(OBJECTS): ../bfd/bfd.h call_graph.h cg_arcs.h cg_print.h \
- corefile.h gmon_io.h gmon_out.h gprof.h hertz.h hist.h \
+ corefile.h gmon_io.h gmon.h gmon_out.h gprof.h hertz.h hist.h \
search_list.h source.h sym_ids.h symtab.h utils.h \
$(srcdir)/../include/libiberty.h $(srcdir)/../bfd/sysdep.h \
gconfig.h ../bfd/config.h
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = tar
+TAR = gtar
GZIP_ENV = --best
SOURCES = $(gprof_SOURCES)
OBJECTS = $(gprof_OBJECTS)
# Dependencies.
$(OBJECTS): ../bfd/bfd.h call_graph.h cg_arcs.h cg_print.h \
- corefile.h gmon_io.h gmon_out.h gprof.h hertz.h hist.h \
+ corefile.h gmon_io.h gmon.h gmon_out.h gprof.h hertz.h hist.h \
search_list.h source.h sym_ids.h symtab.h utils.h \
$(srcdir)/../include/libiberty.h $(srcdir)/../bfd/sysdep.h \
gconfig.h ../bfd/config.h
p_highpc = s_highpc;
}
DBG (CALLDEBUG, printf (_("[find_call] %s: 0x%lx to 0x%lx\n"),
- parent->name, p_lowpc, p_highpc));
+ parent->name, (unsigned long) p_lowpc,
+ (unsigned long) p_highpc));
for (pc = (alpha_Instruction *) (p_lowpc + delta);
pc < (alpha_Instruction *) (p_highpc + delta);
++pc)
{
DBG (CALLDEBUG,
printf (_("[find_call] 0x%lx: jsr%s <indirect_child>\n"),
- (bfd_vma) pc - delta,
+ (unsigned long) pc - delta,
pc->j.func == Jxx_FUNC_JSR ? "" : "_coroutine"));
arc_add (parent, &indirect_child, (unsigned long) 0);
}
case OP_BSR:
DBG (CALLDEBUG,
- printf (_("[find_call] 0x%lx: bsr"), (bfd_vma) pc - delta));
+ printf (_("[find_call] 0x%lx: bsr"),
+ (unsigned long) pc - delta));
/*
* Regular PC relative addressing. Check that this is the
* address of a function. The linker sometimes redirects
child = sym_lookup (&symtab, dest_pc);
DBG (CALLDEBUG,
printf (" 0x%lx\t; name=%s, addr=0x%lx",
- dest_pc, child->name, child->addr));
+ (unsigned long) dest_pc, child->name,
+ (unsigned long) child->addr));
if (child->addr == dest_pc || child->addr == dest_pc - 8)
{
DBG (CALLDEBUG, printf ("\n"));
DBG (BBDEBUG,
printf ("[bb_read_rec] 0x%lx->0x%lx (%s:%d) cnt=%lu\n",
- addr, sym->addr, sym->name, sym->line_num, ncalls));
+ (unsigned long) addr, (unsigned long) sym->addr,
+ sym->name, sym->line_num, ncalls));
for (i = 0; i < NBBS; i++)
{
{
if (sym->ncalls > 0 || ! ignore_zeros)
{
+ /* FIXME: This only works if bfd_vma is unsigned long. */
printf (_("%s:%d: (%s:0x%lx) %lu executions\n"),
sym->file ? sym->file->name : _("<unknown>"), sym->line_num,
- sym->name, sym->addr, sym->ncalls);
+ sym->name, (unsigned long) sym->addr, sym->ncalls);
}
for (j = 0; j < NBBS && sym->bb_addr[j]; j ++)
{
if (sym->bb_calls[j] > 0 || ! ignore_zeros)
{
+ /* FIXME: This only works if bfd_vma is unsigned long. */
printf (_("%s:%d: (%s:0x%lx) %lu executions\n"),
sym->file ? sym->file->name : _("<unknown>"), sym->line_num,
- sym->name, sym->bb_addr[j], sym->bb_calls[j]);
+ sym->name, (unsigned long) sym->bb_addr[j],
+ sym->bb_calls[j]);
}
}
}
count = bfd_get_32 (core_bfd, (bfd_byte *) arc.count);
DBG (SAMPLEDEBUG,
printf ("[cg_read_rec] frompc 0x%lx selfpc 0x%lx count %lu\n",
- from_pc, self_pc, count));
+ (unsigned long) from_pc, (unsigned long) self_pc, count));
/* add this arc: */
cg_tally (from_pc, self_pc, count);
}
}
DBG (SAMPLEDEBUG,
printf ("[cg_write_arcs] frompc 0x%lx selfpc 0x%lx count %lu\n",
- arc->parent->addr, arc->child->addr, arc->count));
+ (unsigned long) arc->parent->addr,
+ (unsigned long) arc->child->addr, arc->count));
}
}
}
if (!core_text_space)
{
- fprintf (stderr, _("%s: ran out room for %ld bytes of text space\n"),
- whoami, core_text_sect->_raw_size);
+ fprintf (stderr, _("%s: ran out room for %lu bytes of text space\n"),
+ whoami, (unsigned long) core_text_sect->_raw_size);
done (1);
}
if (!bfd_get_section_contents (core_bfd, core_text_sect, core_text_space,
&& fname && func_name && l)
{
DBG (AOUTDEBUG, printf ("[get_src_info] 0x%lx -> %s:%d (%s)\n",
- addr, fname, l, func_name));
+ (unsigned long) addr, fname, l, func_name));
*filename = fname;
*name = func_name;
*line_num = l;
{
DBG (AOUTDEBUG,
printf ("[core_create_function_syms] rejecting: 0x%lx %s\n",
- core_syms[i]->value, core_syms[i]->name));
+ (unsigned long) core_syms[i]->value,
+ core_syms[i]->name));
continue;
}
/* This should be replaced with a binary search or hashed
DBG (AOUTDEBUG, printf ("[core_create_function_syms] %ld %s 0x%lx\n",
(long) (symtab.limit - symtab.base),
- symtab.limit->name, symtab.limit->addr));
+ symtab.limit->name,
+ (unsigned long) symtab.limit->addr));
++symtab.limit;
}
DBG (AOUTDEBUG, printf ("[core_create_line_syms] %d %s 0x%lx\n",
ltab.limit - ltab.base, ltab.limit->name,
- ltab.limit->addr));
+ (unsigned long) ltab.limit->addr));
++ltab.limit;
}
hist_num_bins = samp_bytes / sizeof (UNIT);
DBG (SAMPLEDEBUG,
printf ("[gmon_out_read] lowpc 0x%lx highpc 0x%lx ncnt %d\n",
- h.low_pc, h.high_pc, h.ncnt);
+ (unsigned long) h.low_pc, (unsigned long) h.high_pc,
+ h.ncnt);
printf ("[gmon_out_read] s_lowpc 0x%lx s_highpc 0x%lx\n",
- s_lowpc, s_highpc);
+ (unsigned long) s_lowpc, (unsigned long) s_highpc);
printf ("[gmon_out_read] lowpc 0x%lx highpc 0x%lx\n",
- lowpc, highpc);
+ (unsigned long) lowpc, (unsigned long) highpc);
printf ("[gmon_out_read] samp_bytes %d hist_num_bins %d\n",
samp_bytes, hist_num_bins));
count = bfd_get_32 (core_bfd, (bfd_byte *) raw_arc.count);
DBG (SAMPLEDEBUG,
printf ("[gmon_out_read] frompc 0x%lx selfpc 0x%lx count %lu\n",
- from_pc, self_pc, count));
+ (unsigned long) from_pc, (unsigned long) self_pc, count));
/* add this arc: */
cg_tally (from_pc, self_pc, count);
}
}
DBG (SAMPLEDEBUG,
printf ("[dumpsum] frompc 0x%lx selfpc 0x%lx count %lu\n",
- arc->parent->addr, arc->child->addr, arc->count));
+ (unsigned long) arc->parent->addr,
+ (unsigned long) arc->child->addr, arc->count));
}
}
fclose (ofp);
DBG (SAMPLEDEBUG,
printf ("[hist_read_rec] n_lowpc 0x%lx n_highpc 0x%lx ncnt %d\n",
- n_lowpc, n_highpc, ncnt);
+ (unsigned long) n_lowpc, (unsigned long) n_highpc, ncnt);
printf ("[hist_read_rec] s_lowpc 0x%lx s_highpc 0x%lx nsamples %d\n",
- s_lowpc, s_highpc, hist_num_bins);
+ (unsigned long) s_lowpc, (unsigned long) s_highpc,
+ hist_num_bins);
printf ("[hist_read_rec] lowpc 0x%lx highpc 0x%lx\n",
- lowpc, highpc));
+ (unsigned long) lowpc, (unsigned long) highpc));
if (n_lowpc != s_lowpc || n_highpc != s_highpc
|| ncnt != hist_num_bins || hz != profrate)
{
DBG (SAMPLEDEBUG,
printf ("[scale_and_align_entries] pushing 0x%lx to 0x%lx\n",
- sym->hist.scaled_addr,
- sym->hist.scaled_addr + UNITS_TO_CODE));
+ (unsigned long) sym->hist.scaled_addr,
+ (unsigned long) (sym->hist.scaled_addr
+ + UNITS_TO_CODE)));
sym->hist.scaled_addr += UNITS_TO_CODE;
}
}
DBG (SAMPLEDEBUG,
printf (
"[assign_samples] bin_low_pc=0x%lx, bin_high_pc=0x%lx, bin_count=%d\n",
- sizeof (UNIT) * bin_low_pc, sizeof (UNIT) * bin_high_pc,
+ (unsigned long) (sizeof (UNIT) * bin_low_pc),
+ (unsigned long) (sizeof (UNIT) * bin_high_pc),
bin_count));
total_time += time;
DBG (SAMPLEDEBUG,
printf (
"[assign_samples] [0x%lx,0x%lx) %s gets %f ticks %ld overlap\n",
- symtab.base[j].addr, sizeof (UNIT) * sym_high_pc,
+ (unsigned long) symtab.base[j].addr,
+ (unsigned long) (sizeof (UNIT) * sym_high_pc),
symtab.base[j].name, overlap * time / hist_scale,
- overlap));
+ (long) overlap));
addr = symtab.base[j].addr;
credit = overlap * time / hist_scale;
/*
p_highpc = s_highpc;
}
DBG (CALLDEBUG, printf ("[findcall] %s: 0x%lx to 0x%lx\n",
- parent->name, p_lowpc, p_highpc));
+ parent->name, (unsigned long) p_lowpc,
+ (unsigned long) p_highpc));
delta = (bfd_vma) core_text_space - core_text_sect->vma;
* a hit
*/
DBG (CALLDEBUG,
- printf ("\tdestpc 0x%lx (%s)\n", destpc, child->name));
+ printf ("\tdestpc 0x%lx (%s)\n",
+ (unsigned long) destpc, child->name));
arc_add (parent, child, (unsigned long) 0);
instructp += 4; /* call is a 5 byte instruction */
continue;
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1998-06-12 19:33-0400\n"
+"POT-Creation-Date: 1999-07-01 01:36-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr ""
-#: alpha.c:127
+#: alpha.c:128
#, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr ""
-#: alpha.c:136
+#: alpha.c:137
#, c-format
msgid "[find_call] 0x%lx: bsr"
msgstr ""
msgid "%s: %s: unexpected end of file\n"
msgstr ""
-#: basic_blocks.c:214
+#: basic_blocks.c:215
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr ""
-#: basic_blocks.c:322 basic_blocks.c:330
+#. FIXME: This only works if bfd_vma is unsigned long.
+#: basic_blocks.c:324 basic_blocks.c:333
#, c-format
-msgid "%s:%d: (%s:0x%lx) %d executions\n"
+msgid "%s:%d: (%s:0x%lx) %lu executions\n"
msgstr ""
-#: basic_blocks.c:323 basic_blocks.c:331
+#: basic_blocks.c:325 basic_blocks.c:334
msgid "<unknown>"
msgstr ""
-#: basic_blocks.c:584
+#: basic_blocks.c:596
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
-#: basic_blocks.c:608
+#: basic_blocks.c:620
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
-#: basic_blocks.c:609
+#: basic_blocks.c:621
#, c-format
msgid "%9ld Executable lines in this file\n"
msgstr ""
-#: basic_blocks.c:611
+#: basic_blocks.c:623
#, c-format
msgid "%9ld Lines executed\n"
msgstr ""
-#: basic_blocks.c:612
+#: basic_blocks.c:624
#, c-format
msgid "%9.2f Percent of the file executed\n"
msgstr ""
-#: basic_blocks.c:616
+#: basic_blocks.c:628
#, c-format
msgid ""
"\n"
-"%9d Total number of line executions\n"
+"%9lu Total number of line executions\n"
msgstr ""
-#: basic_blocks.c:617
+#: basic_blocks.c:630
#, c-format
msgid "%9.2f Average executions per line\n"
msgstr ""
#: call_graph.c:48
#, c-format
-msgid "[cg_tally] arc from %s to %s traversed %d times\n"
+msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr ""
#: cg_print.c:39
"\n"
msgstr ""
-#: cg_print.c:46 hist.c:381
+#: cg_print.c:46 hist.c:385
#, c-format
msgid ""
"\n"
msgid "descendents"
msgstr ""
-#: cg_print.c:67 hist.c:405
+#: cg_print.c:67 hist.c:409
msgid "name"
msgstr ""
#: corefile.c:198
#, c-format
-msgid "%s: ran out room for %ld bytes of text space\n"
+msgid "%s: ran out room for %lu bytes of text space\n"
msgstr ""
#: corefile.c:211
msgid "%s: file `%s' has no symbols\n"
msgstr ""
-#: corefile.c:726
+#: corefile.c:753
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr ""
msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
msgstr ""
-#: gmon_io.c:87 gmon_io.c:179
+#: gmon_io.c:87 gmon_io.c:182
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr ""
-#: gmon_io.c:97
+#: gmon_io.c:97 gmon_io.c:215
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr ""
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr ""
-#: gmon_io.c:197
+#: gmon_io.c:203
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr ""
-#: gmon_io.c:207
+#: gmon_io.c:232
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr ""
-#: gmon_io.c:245
+#: gmon_io.c:271
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr ""
-#: gmon_io.c:280
+#: gmon_io.c:306
msgid "time is in ticks, not seconds\n"
msgstr ""
-#: gmon_io.c:286 gmon_io.c:410
+#: gmon_io.c:312 gmon_io.c:452
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr ""
-#: gmon_io.c:293
+#: gmon_io.c:319
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr ""
-#: gmon_io.c:295
+#: gmon_io.c:321
#, c-format
msgid "\t%d histogram record%s\n"
msgstr ""
-#: gmon_io.c:297
+#: gmon_io.c:323
#, c-format
msgid "\t%d call-graph record%s\n"
msgstr ""
-#: gmon_io.c:299
+#: gmon_io.c:325
#, c-format
msgid "\t%d basic-block count record%s\n"
msgstr ""
msgid "%s: debugging not supported; -d ignored\n"
msgstr ""
-#: gprof.c:306
+#: gprof.c:309
#, c-format
msgid "%s: unknown file format %s\n"
msgstr ""
#. This output is intended to follow the GNU standards document.
-#: gprof.c:390
+#: gprof.c:393
#, c-format
msgid "GNU gprof %s\n"
msgstr ""
-#: gprof.c:391
+#: gprof.c:394
msgid ""
"Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr ""
-#: gprof.c:392
+#: gprof.c:395
msgid ""
"This program is free software. This program has absolutely no warranty.\n"
msgstr ""
-#: gprof.c:438
+#: gprof.c:441
#, c-format
msgid ""
"%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr ""
-#: gprof.c:538
+#: gprof.c:541
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr ""
-#: gprof.c:599
+#: gprof.c:602
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr ""
-#: gprof.c:606
+#: gprof.c:609
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr ""
-#: hist.c:142
+#: hist.c:143
#, c-format
msgid "%s: `%s' is incompatible with first gmon file\n"
msgstr ""
-#: hist.c:158
+#: hist.c:159
#, c-format
msgid "%s: %s: unexpected EOF after reading %d of %d samples\n"
msgstr ""
-#: hist.c:377
+#: hist.c:381
#, c-format
msgid "%c%c/call"
msgstr ""
-#: hist.c:385
+#: hist.c:389
msgid ""
" for %.2f%% of %.2f %s\n"
"\n"
msgstr ""
-#: hist.c:391
+#: hist.c:395
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
-#: hist.c:396
+#: hist.c:400
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
-#: hist.c:402
+#: hist.c:406
msgid "cumulative"
msgstr ""
-#: hist.c:402
+#: hist.c:406
msgid "self "
msgstr ""
-#: hist.c:402
+#: hist.c:406
msgid "total "
msgstr ""
-#: hist.c:404
+#: hist.c:408
msgid "time"
msgstr ""
-#: hist.c:404
+#: hist.c:408
msgid "calls"
msgstr ""
-#: hist.c:515
+#: hist.c:517
msgid ""
"\n"
"\n"
"flat profile:\n"
msgstr ""
-#: hist.c:521
+#: hist.c:523
msgid "Flat profile:\n"
msgstr ""
p_highpc = s_highpc;
}
DBG (CALLDEBUG, printf ("[find_call] %s: 0x%lx to 0x%lx\n",
- parent->name, p_lowpc, p_highpc));
+ parent->name, (unsigned long) p_lowpc,
+ (unsigned long) p_highpc));
for (instr = (unsigned int *) (((p_lowpc + delta) + 3) &~ 3);
instr < (unsigned int *) (p_highpc + delta);
++instr)
if ((*instr & CALL))
{
DBG (CALLDEBUG,
- printf ("[find_call] 0x%lx: callf", (bfd_vma) instr - delta));
+ printf ("[find_call] 0x%lx: callf",
+ (unsigned long) instr - delta));
/*
* Regular pc relative addressing check that this is the
* address of a function.
child = sym_lookup (&symtab, dest_pc);
DBG (CALLDEBUG,
printf ("\tdest_pc=0x%lx, (name=%s, addr=0x%lx)\n",
- dest_pc, child->name, child->addr));
+ (unsigned long) dest_pc, child->name,
+ (unsigned long) child->addr));
if (child->addr == dest_pc)
{
/* a hit: */
printf (
"[sym_id_parse]: arc %s:%s(%lx-%lx) -> %s:%s(%lx-%lx) to %s\n",
left->file ? left->file->name : "*",
- left->name ? left->name : "*", left->addr,
- left->end_addr,
+ left->name ? left->name : "*",
+ (unsigned long) left->addr,
+ (unsigned long) left->end_addr,
right->file ? right->file->name : "*",
- right->name ? right->name : "*", right->addr,
- right->end_addr,
+ right->name ? right->name : "*",
+ (unsigned long) right->addr,
+ (unsigned long) right->end_addr,
table_name[id->which_table]));
arc_add (left, right, (unsigned long) 0);
}
src->is_func ? 'F' : 'f',
dst[-1].name, dst[-1].is_static ? 't' : 'T',
dst[-1].is_func ? 'F' : 'f');
- printf (" (addr=%lx)\n", src->addr));
+ printf (" (addr=%lx)\n", (unsigned long) src->addr));
dst[-1] = *src;
}
else
dst[-1].is_func ? 'F' : 'f',
src->name, src->is_static ? 't' : 'T',
src->is_func ? 'F' : 'f');
- printf (" (addr=%lx)\n", src->addr));
+ printf (" (addr=%lx)\n", (unsigned long) src->addr));
}
}
else
long low, mid, high;
Sym *sym;
- fprintf (stderr, "[dbg_sym_lookup] address 0x%lx\n", address);
+ fprintf (stderr, "[dbg_sym_lookup] address 0x%lx\n",
+ (unsigned long) address);
sym = symtab->base;
for (low = 0, high = symtab->len - 1; low != high;)
fprintf (stderr, "[dbg_sym_lookup] low=0x%lx, mid=0x%lx, high=0x%lx\n",
low, mid, high);
fprintf (stderr, "[dbg_sym_lookup] sym[m]=0x%lx sym[m + 1]=0x%lx\n",
- sym[mid].addr, sym[mid + 1].addr);
+ (unsigned long) sym[mid].addr,
+ (unsigned long) sym[mid + 1].addr);
if (sym[mid].addr <= address && sym[mid + 1].addr > address)
{
return &sym[mid];
p_highpc = s_highpc;
}
DBG (CALLDEBUG, printf ("[findcall] %s: 0x%lx to 0x%lx\n",
- parent->name, p_lowpc, p_highpc));
+ parent->name, (unsigned long) p_lowpc,
+ (unsigned long) p_highpc));
for (instructp = (unsigned char *) core_text_space + p_lowpc;
instructp < (unsigned char *) core_text_space + p_highpc;
instructp += length)
{
child = sym_lookup (&symtab, destpc);
DBG (CALLDEBUG,
- printf ("[findcall]\tdestpc 0x%lx", destpc);
+ printf ("[findcall]\tdestpc 0x%lx",
+ (unsigned long) destpc);
printf (" child->name %s", child->name);
- printf (" child->addr 0x%lx\n", child->addr);
+ printf (" child->addr 0x%lx\n",
+ (unsigned long) child->addr);
);
if (child->addr == destpc)
{
p_highpc = s_highpc;
}
DBG (CALLDEBUG, printf ("[findcall] %s: 0x%lx to 0x%lx\n",
- parent->name, p_lowpc, p_highpc));
+ parent->name, (unsigned long) p_lowpc,
+ (unsigned long) p_highpc));
for (instructp = (unsigned char *) core_text_space + p_lowpc;
instructp < (unsigned char *) core_text_space + p_highpc;
instructp += length)
{
child = sym_lookup (&symtab, destpc);
DBG (CALLDEBUG,
- printf ("[findcall]\tdestpc 0x%lx", destpc);
+ printf ("[findcall]\tdestpc 0x%lx",
+ (unsigned long) destpc);
printf (" child->name %s", child->name);
- printf (" child->addr 0x%lx\n", child->addr);
+ printf (" child->addr 0x%lx\n",
+ (unsigned long) child->addr);
);
if (child->addr == destpc)
{