Date: Thu, 20 Jan 2011 19:54:49 +0100 From: Roman Divacky <rdivacky@freebsd.org> To: Steve Kargl <sgk@troutmask.apl.washington.edu> Cc: freebsd-toolchain@freebsd.org Subject: Re: How to build an executable with profiling? Message-ID: <20110120185449.GA92860@freebsd.org> In-Reply-To: <20110118160252.GA6506@troutmask.apl.washington.edu> References: <20110117184411.GA54556@troutmask.apl.washington.edu> <20110118143205.GA34216@freebsd.org> <20110118160252.GA6506@troutmask.apl.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
--MGYHOYXEY6WxJCY8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline ok, I sat down and implemented what Hans Ottevanger told me to do :) http://lev.vlakno.cz/~rdivacky/clang-gprof.patch This patch does three things: 1) emits "call .mcount" at the begining of every function body 2) changes the driver to link in gcrt1.o instead of crt1.o 3) changes all -lfoo to -lfoo_p except when the foo ends with _s in the linker invocation I am not sure that I did the right thing, especially in (3). Anyway, the patch works for me (ie. produces a.out.gmon that seems to contain meaningful data). I would appreciate if you guys could test and review this. Letting me know if this is correct. Thank you! roman p.s. the patch is against TRUNK clang but there should not be any/much trouble applying it to contrib/llvm/tools/clang I hope --MGYHOYXEY6WxJCY8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAk04hPkACgkQLVEj6D3CBExztACeIvoImxMie+vyGF5yTn2W7Szz NF8AnRGWWICgAKOr1QPmHNIzxo6YzeA/ =RYR8 -----END PGP SIGNATURE----- --MGYHOYXEY6WxJCY8--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110120185449.GA92860>