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