From owner-freebsd-toolchain@FreeBSD.ORG Fri Jan 21 15:06:16 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 696EB106566B for ; Fri, 21 Jan 2011 15:06:16 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (lev.vlakno.cz [77.93.215.190]) by mx1.freebsd.org (Postfix) with ESMTP id 207E38FC14 for ; Fri, 21 Jan 2011 15:06:15 +0000 (UTC) Received: from lev.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 0A8639CB0B9; Fri, 21 Jan 2011 16:06:14 +0100 (CET) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by lev.vlakno.cz (lev.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NjvuWvDBX-Gb; Fri, 21 Jan 2011 16:06:12 +0100 (CET) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id C7E209CB452; Fri, 21 Jan 2011 16:06:12 +0100 (CET) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.14.4/8.14.4/Submit) id p0LF6C4b061964; Fri, 21 Jan 2011 16:06:12 +0100 (CET) (envelope-from rdivacky) Date: Fri, 21 Jan 2011 16:06:12 +0100 From: Roman Divacky To: Nathan Whitehorn Message-ID: <20110121150612.GA61861@freebsd.org> References: <20110117184411.GA54556@troutmask.apl.washington.edu> <20110118143205.GA34216@freebsd.org> <20110118160252.GA6506@troutmask.apl.washington.edu> <20110120185449.GA92860@freebsd.org> <4D3885A3.80407@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D3885A3.80407@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: freebsd-toolchain@freebsd.org, Steve Kargl 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: Fri, 21 Jan 2011 15:06:16 -0000 On Thu, Jan 20, 2011 at 12:57:39PM -0600, Nathan Whitehorn wrote: > On 01/20/11 12:54, Roman Divacky wrote: > >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 > > It's not always called .mcount. See /sys/$ARCH/include/profile.h > -Nathan fwiw - I updated the patch to use different names on different archs, can you guys review? case llvm::Triple::x86: case llvm::Triple::x86_64: return ".mcount"; case llvm::Triple::mips: case llvm::Triple::mipsel: case llvm::Triple::ppc: case llvm::Triple::ppc64: return "_mcount"; case llvm::Triple::arm: return "__mcount";