gprof, threads and forks
M. Edward Borasky
znmeb@aracnet.com
Wed Sep 5 20:03:00 GMT 2001
It's rare that I cross-post to this many lists, but
1. I blew a week trying to track this little monster down, and
2. It isn't at all clear to me where the appropriate fixes and documentation
changes need to be applied.
So here goes:
If you have an executable compiled with *gcc* using the "-pg" option, it is
supposed to generate a "gmon.out" file, which you can later process with the
*binutils* utility "gprof" to produce a profile. All this magic works just
dandy for a single threaded executable, but apparently child threads and
child processes created with "fork" don't get their execution time counted.
See the following links for the gory details:
http://sources.redhat.com/ml/bug-binutils/2001-q3/msg00090.html
http://uwsg.iu.edu/hypermail/linux/kernel/0101.3/1516.html
The second link implies that it's possible to fix this at the *kernel*
level. So my question to all of you is, "what's the best way to get this
fixed?" I need to profile a multi-threaded executable and personally don't
care about the "fork" case, but I'm sure there are others who would care
about forks and not threads.
--
M. Edward (Ed) Borasky, Chief Scientist, Borasky Research
http://www.borasky-research.net http://www.aracnet.com/~znmeb
mailto:znmeb@borasky-research.com mailto:znmeb@aracnet.com
Stand-Up Comedy: Because Man Does Not Live By Dread Alone
More information about the Gcc-bugs
mailing list