svn commit: r211561 - head/cddl/lib/drti

Rui Paulo rpaulo at freebsd.org
Sat Aug 21 14:33:39 UTC 2010


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 Solaris you don't need to link with -lelf your program after you added DTrace probes to it.
I believe this is a good tradeoff.

Regards,
--
Rui Paulo




More information about the svn-src-head mailing list