We did not use gprof in the conventional manner. We captured an assembly code
trace of the program running in standalone mode on a ppc405 processor using a
Agilent's/IBM trace port analyzer. I wrote a Perl script that converts the trace
file into a gmon.out format. Someone else here at Xilinx wrote a similar
application that converted a trace file (of a different format) to a gmon.out
format. We both found out that gprof tacks on functions that were never
executed.
Each address had its own histogram bin, so there can't be any issues of crossing
function boundaries in the bins. I have attached the .elf binary file and the
gmon.out file (to be used on a little endian machine like a linux x86). treck
elf
never uses functions like memcpy or Letext, which appear in gprof's histogram
and
c-g tables.