Same on Mac OS X. In Snow Leopard, the final CTF data is linked into the kernel 
file. In previous versions of Mac OS X, the CTF data was in a separate 
"mach_kernel.ctfsys" file

$ size -arch x86_64 -l /mach_kernel | grep -A 2 __CTF
Segment __CTF: 0 (vmaddr 0x0 fileoff 5320728)
        Section __ctf: 254545 (addr 0x0 offset 5320728)
        total 254545

Shantonu Sen
s...@apple.com

Sent from my Mac Pro

On Oct 28, 2009, at 11:54 AM, Nicolas Williams wrote:

> On Wed, Oct 28, 2009 at 06:55:28PM +0000, Joel Reymont wrote:
>> I have a script where I can freely reference struct nameidata*, struct  
>> vnode*, etc. on Snow Leopard.
>> 
>> How does DTrace know about these data types? I understand things like
>> 
>> #pragma D depends_on library darwin.d
>> 
>> where darwin.d has typedefs.
>> 
>> I can't find definitions of nameidata and vnode in any D scripts,  
>> though. How does it work?
> 
> On Solaris these come from CTF data embedded in the ELF files that make
> up the kernel and loadable modules.  The CTF data comes from ctfconvert
> and other build utilities, which in turn get the data from the .os
> originally output by the compilers.
> 
> Nico
> -- 
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss@opensolaris.org

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to