From owner-freebsd-toolchain@FreeBSD.ORG Tue Jan 18 17:35:18 2011 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A1691065695; Tue, 18 Jan 2011 17:35:18 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by mx1.freebsd.org (Postfix) with ESMTP id DED008FC16; Tue, 18 Jan 2011 17:35:17 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.4/8.14.4) with ESMTP id p0IHZHMC091982; Tue, 18 Jan 2011 09:35:17 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.4/8.14.4/Submit) id p0IHZHVu091981; Tue, 18 Jan 2011 09:35:17 -0800 (PST) (envelope-from sgk) Date: Tue, 18 Jan 2011 09:35:17 -0800 From: Steve Kargl To: Roman Divacky Message-ID: <20110118173517.GA60201@troutmask.apl.washington.edu> References: <20110117184411.GA54556@troutmask.apl.washington.edu> <20110118143205.GA34216@freebsd.org> <20110118144313.GO2518@deviant.kiev.zoral.com.ua> <20110118171657.GA68321@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110118171657.GA68321@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: freebsd-toolchain@freebsd.org Subject: Re: How to build an executable with profiling? X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jan 2011 17:35:18 -0000 On Tue, Jan 18, 2011 at 06:16:57PM +0100, Roman Divacky wrote: > On Tue, Jan 18, 2011 at 04:43:13PM +0200, Kostik Belousov wrote: > > On Tue, Jan 18, 2011 at 03:32:05PM +0100, Roman Divacky wrote: > > > On Mon, Jan 17, 2011 at 10:44:11AM -0800, Steve Kargl wrote: > > > > How does one build an executable for profiling with clang? > > > > > > LLVM (and thus clang) does not support GPROF profiling. > > > > > > > clang -o testf -O2 -march=native -pipe -static -pg -I/usr/local/include -I../mp testf.c -L/usr/local/lib -L../mp -lsgk -lmpfr -lgmp -L/usr/home/kargl/work/lib -lm_clang_p > > > > clang: warning: the clang compiler does not support '-pg' > > > > > > > > I suppose it will be pointless to ask, but shouldn't clang > > > > support one of the most basic gcc compiler options if clang > > > > is to replace gcc as the base system compiler? > > > > > > is GPROF really needed at this point? we have HWPMC, isnt > > > it sufficient? > > Hwpmc requires additional work for each new CPU model. Also, > > hwpmc is not supported even on all Intel or AMD CPUs, esp. older > > models, and e.g. VIA cores. > > > > Not to mention !x86 architectures. > > yes. I agree. HWPMC is not 100% solution. > > for those interested in profiling in LLVM in detail: > > http://llvm.org/pubs/2010-04-NeustifterProfiling.html > > summary: LLVM supports inserting profiling probes (but the selection > of places where to put them is very naive) but there's no > "GPROF writer". > > I mailed the author of the thesis yesterday and it looks like his work may > get committed to upstream LLVM. > Thanks for the url and checking on the status of profiling with llvm. -- Steve