linux-mips
[Top] [All Lists]

Re: problem with mips-linux gprof

To: dhunjukrishna@gmail.com
Subject: Re: problem with mips-linux gprof
From: James E Wilson <wilson@specifix.com>
Date: Fri, 28 Apr 2006 12:52:07 -0700
Cc: Linux-MIPS <linux-mips@linux-mips.org>
In-reply-to: <20060428063712.39756.qmail@web53501.mail.yahoo.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20060428063712.39756.qmail@web53501.mail.yahoo.com>
Sender: linux-mips-bounce@linux-mips.org
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


<Prev in Thread] Current Thread [Next in Thread>