On Thu, 2006-04-27 at 23:37, Krishna wrote:
> But i get the following error message
> mips-unknown-linux-gnu-gprof: gmon.out file is missing call-graph data
Add a second function to your testcase. You have to have at least two
functions in order to have a call graph.
If your testcase has only one function, main, then there will be no
useful call graph info, so the -pg library support won't bother to emit
one, and then gprof complains that it is missing. This is correct, but
not very useful, and perhaps should be considered a bug. I think gprof
should just default to emitting a flat profile in this case, without
giving an error, so I'd call this a binutils bug.
In the absence of call-graph info, you can use the gprof -p option to
get a flat profile.
The above assumes you don't have a profiled C library available. If you
did, then you would have at least two profiled functions, main and
printf, and would have gotten some call graph info emitted. If you
don't have a profiled C library available, you could try compiling one
yourself. There is a glibc configure option --enable-profile for that.
I've never tried this myself. I'd expect this to be a non-trivial
exercise. Besides the issue of compiling glibc, you also need to
install the profiled library, and arrange to link with it.
Jim Wilson, GNU Tools Support, http://www.specifix.com