DTrace and CTF data

Shrikanth Kamath shrikanth07 at gmail.com
Mon May 31 16:44:17 UTC 2010


Thanks Artem, but I was actually asking about the CTF info, I always thought
the
probes used the CTF info for *knowing* where to instrument. So if I ran the
CTFCONVERT
utility on a *binary*, it should append CTF sections to it should it not ?

If the CTFCONVERT ran successfully I should be able to see a .SUNW_ctf
section when I run objdump --section-headers. But since this was not there
in the binary
but still FBT was able to instrument the *entry* of the function I was
curious does FBT provider
need the CTF info for function entry/return ?


--
Shrikanth R K

On Mon, May 31, 2010 at 2:21 AM, Artem Belevich <fbsdlist at src.cx> wrote:

> You may be confusing CTF info and the probes. Those are different things.
>
> CTF info just describes data types and variable/function location.
> DTrace later uses it to figure out where and how to install the
> probes.
>
> Probes are installed dynamically, at runtime when DTrace program is
> run. That's why you see it with kgdb on the live kernel once probe has
> been installed.
> DTrace does not modify your original kernel binary, so you will not
> see any probes there.
>
> --Artem
>
>
>
> On Sun, May 30, 2010 at 12:10 PM, Shrikanth Kamath
> <shrikanth07 at gmail.com> wrote:
> > I have a query about the FBT provider in DTrace, does FBT provider not
> need
> > the CTF info for the /kernel binary...
> >
> > I have this observation, when I disassemble say a 'kernel_funtion' , I
> see
> > the function is not instrumented...
> >
> > (kgdb) disassemble kernel_function
> > Dump of assembler code for function kernel_function:
> > 0xc04aa05d <kernel_function+0>: push   %ebp
> > 0xc04aa05e <kernel_function+1>: mov    %esp,%ebp
> > 0xc04aa060 <kernel_function+3>: sub    $0x2c,%esp
> >
> >
> > Now after I did a 'fbt::kernel_function:entry', if I disassemble the
> > 'kernel_function'...
> >
> > (kgdb) disassemble kernel_function
> > Dump of assembler code for function kernel_function:
> > 0xc04aa05d <kernel_function+0>: lock mov %esp,%ebp                 <==
> FBT
> > instrumentation
> > 0xc04aa060 <kernel_function+3>: sub    $0x2c,%esp
> >
> > If I do a 'objdump' on the kernel.debug binary I do not see any CTF
> sections
> > showing up?
> >
> >
> > --
> > Shrikanth R K
> > _______________________________________________
> > freebsd-hackers at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > To unsubscribe, send any mail to "
> freebsd-hackers-unsubscribe at freebsd.org"
> >
>


More information about the freebsd-hackers mailing list