svn commit: r211561 - head/cddl/lib/drti
Rui Paulo
rpaulo at freebsd.org
Sat Aug 21 17:20:01 UTC 2010
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
More information about the svn-src-all
mailing list