ctfconvert dependency...

Marius Nünnerich marius at nuenneri.ch
Thu Mar 11 09:41:23 UTC 2010


2010/3/11 "C. Bergström" <cbergstrom at pathscale.com>:
> Marius Nünnerich wrote:
>>
>> 2010/3/11 "C. Bergström" <cbergstrom at pathscale.com>:
>>
>>>
>>> Shrikanth Kamath wrote:
>>>
>>>>
>>>> Just trying to understand the build dependency for ctfconvert...
>>>>
>>>> I see ctfconvert (cddl/usr.bin/ctfconvert/)  has dependency on libctf.a
>>>> (cddl/lib/libctf/)
>>>>
>>>> Now the snippet in bsd.lib.mk has this check for various target
>>>> suffixes,
>>>>
>>>> .c.So:
>>>> .if defined(CTFCONVERT)
>>>>       ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
>>>> .endif
>>>>
>>>> and sys.mk
>>>>
>>>> .c
>>>> .if defined(CTFCONVERT)
>>>>       ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
>>>> .endif
>>>>
>>>> My query, libctf includes  <bsd.lib.mk> in it's Makefile, so will the
>>>> above
>>>> not try to
>>>> run 'ctfconvert' on libctf itself?
>>>>
>>>>
>>>
>>> I'm going to make some assumptions and go out on a limb here..
>>>
>>> The CDDL code in FBSD came from OpenSolaris (specifically onnv-gate hg
>>> repo)
>>>  When OpenSolaris is built they convert stab debugging information over
>>> to
>>> CTF (compressed text format?).  This is done so that they can have
>>> debugging
>>> information, but without the overhead of stab (or dwarf2).  I don't know
>>> how
>>> much of the original onnv-gate Makefiles came over from OpenSolaris, but
>>> assuming the FBSD kernel doesn't need/use CTF format this dependency can
>>> and
>>> probably should go away.  (Only (k)mdb supports CTF that I'm aware of?)
>>>
>>> Hopefully this is useful information and I'm not too wrong or someone
>>> will
>>> correct me
>>>
>>
>> The CTF information is needed by DTrace.
>> My guess is that it will run ctfconvert on itself so it should be
>> there from a prior install or it is part of some early toolchain
>> stuff.
>>
>
> CTF is needed by DTrace where?  The build may depend on it, but this is
> probably for legacy reasons only.  DTrace in opensolaris isn't dependent on
>  it to function correctly.  Replace the $(CTFCONVERT) and a few other
> utilities with /bin/true and the build will succeed.  (I can only speak
> first hand from OSUNIX/OpenSolaris though and not FBSD..)

The build will succeed but dtracing something with the FBT provider won't.


More information about the freebsd-hackers mailing list