From owner-svn-src-head@FreeBSD.ORG Sat Aug 21 17:20:01 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C149010656A7; Sat, 21 Aug 2010 17:20:01 +0000 (UTC) (envelope-from rpaulo@freebsd.org) Received: from karen.lavabit.com (karen.lavabit.com [72.249.41.33]) by mx1.freebsd.org (Postfix) with ESMTP id 822668FC18; Sat, 21 Aug 2010 17:20:01 +0000 (UTC) Received: from d.earth.lavabit.com (d.earth.lavabit.com [192.168.111.13]) by karen.lavabit.com (Postfix) with ESMTP id 08C6111BAD0; Sat, 21 Aug 2010 12:20:01 -0500 (CDT) Received: from 10.0.10.3 (54.81.54.77.rev.vodafone.pt [77.54.81.54]) by lavabit.com with ESMTP id RIXEHCNNSXXV; Sat, 21 Aug 2010 12:20:01 -0500 Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii From: Rui Paulo In-Reply-To: <20100821170649.GV2396@deviant.kiev.zoral.com.ua> Date: Sat, 21 Aug 2010 18:19:56 +0100 Content-Transfer-Encoding: 7bit Message-Id: <7E3C9150-017F-48C7-8230-25D66154C5F3@freebsd.org> References: <201008211348.o7LDm55c070981@svn.freebsd.org> <20100821135908.GT2396@deviant.kiev.zoral.com.ua> <64B55A11-14C3-4297-93F6-40BA74854F98@FreeBSD.org> <20100821142340.GU2396@deviant.kiev.zoral.com.ua> <20100821170649.GV2396@deviant.kiev.zoral.com.ua> To: Kostik Belousov X-Mailer: Apple Mail (2.1081) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r211561 - head/cddl/lib/drti X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Aug 2010 17:20:01 -0000 On 21 Aug 2010, at 18:06, Kostik Belousov wrote: > On Sat, Aug 21, 2010 at 03:33:35PM +0100, Rui Paulo wrote: >> >> On 21 Aug 2010, at 15:23, Kostik Belousov wrote: >> >>> On Sat, Aug 21, 2010 at 03:16:49PM +0100, Rui Paulo wrote: >>>> >>>> On 21 Aug 2010, at 14:59, Kostik Belousov wrote: >>>> >>>>> On Sat, Aug 21, 2010 at 01:48:05PM +0000, Rui Paulo wrote: >>>>>> Author: rpaulo >>>>>> Date: Sat Aug 21 13:48:04 2010 >>>>>> New Revision: 211561 >>>>>> URL: http://svn.freebsd.org/changeset/base/211561 >>>>>> >>>>>> Log: >>>>>> Link drti.o with a PIC version of libelf. This is needed because >>>>>> drti.o depends on libelf and this avoids linking every other drti.o >>>>>> program (namely programs with USDT probes) with libelf. >>>>> What is wrong with having libelf as dependency of the resulting >>>>> binary ? >>>> >>>> The resulting binary can be a library. If I add drti.o to the libthr >>>> library, every other program will break because it can't find libelf >>>> symbols. The only way to fix it would be to rebuild every program that >>>> depends on libthr and I don't want that to happen. >>> >>> I do not understand this. If drti.o is added to a library, library should >>> also record a dependency on libelf, i.e. be linked with it. Since you >>> already modifying link command to add drti.o, what is the problem to >>> add -lelf ? >> >> I wanted the same steps to be done in FreeBSD as in Solaris. I.e., in >> I Solaris you don't need to link with -lelf your program after you >> I added DTrace probes to it believe this is a good tradeoff . > > The drawbacks of linking library statically are, at least: > - Wasted space. This is certainly not a problem nowadays. > - Harder upgrade when libelf changes. Much harder for ports and hand- > compiled programs. > - The mess that happen when the binary also linked with -lelf, and > either your drti.o is linked, or a library that linked with its > dcrti.o. I'll try to find a way to make DTrace do the linking, if possible. Regards, -- Rui Paulo