Re: gprof's broken in 7-CURRENT

From: Nikos Ntarmos <ntarmos_at_ceid.upatras.gr>
Date: Sat, 1 Dec 2007 21:13:24 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, Dec 01, 2007 at 06:59:46PM +0200, Nikos Ntarmos wrote:
> I just finished a cvsup/buildworld/installworld cycle and tried
> executing a CFLAGS+=-pg compiled version of pkg_info. Except from the
> (initially confusing) fact that pkg_info chdir(2)'s into every port's
> directory under /var/db/pkg and thus pkg_info.gmon is created in the
> dir of the last visited port, gprof didn't segfault or whatever.
> 
> However, I now see an artifact, not present previously in my BETA1
> world: .mcount seems to be taking the best part of the time percentage
> in the flat profile section. FYI I've done a 'pkg_info -a >/dev/null'
> and put the output of 'gprof /path/to/profiled/pkg_info pkg_info.gmon'
> online at http://ntarmos.dyndns.org/Misc/pkg_info.gprof. I also see
> this with my other -pg compiled code, so this is due to either
> something that changed between BETA1 and now, or some of the (just
> rebuilt) libraries taking up the change in profile.h.

Interestingly, the .mcount flatprofline is substituted by _mcleanup if
pkg_info is compiled -O1 -- see [1]. If it is then compiled -O0, the
output is as in [2] (i.e. no .mcount and no _mcleanup). I guess there's
something I don't get wrt optimization levels and profiling, although I
can't quite see the connection. After all, .mcount and _mcleanup are
explicitly excluded by default (usr.bin/gprof/elf.c:59,
usr.bin/gprof/aout.c:61).

\n\n

[1] http://ntarmos.dyndns.org/Misc/pkg_info.gprof.O1
[2] http://ntarmos.dyndns.org/Misc/pkg_info.gprof.O0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Nikos Ntarmos <ntarmos_at_ceid.upatras.gr>

iD8DBQFHUbJUm6J1ac+VFgoRAmD8AJ9Ut3XoJVJwZ22OsArviKHjH4dsGwCeN4T4
ECtTFTRuhQI/GVlny+VifyU=
=NSTP
-----END PGP SIGNATURE-----
Received on Sat Dec 01 2007 - 18:13:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:23 UTC