Re: gprof's broken in 7-CURRENT

From: Garrett Cooper <youshi10_at_u.washington.edu>
Date: Sat, 1 Dec 2007 11:22:37 -0800
On Dec 1, 2007, at 11:13 AM, Nikos Ntarmos wrote:

> -----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-----


	Strange. Maybe there are some inconsistencies between my system and  
an up-to-date system, or maybe I'm just using gprof incorrectly.  
Could you show me how you ran pkg_info with gprof please?
Thanks,
-Garrett
Received on Sat Dec 01 2007 - 18:23:57 UTC

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