I'm getting quite strange stacks from DTrace's ustack(). Could please anybody explain what happens and suggest a fix/workaround?
My D-script is a trivial sampling profiler, see attached sampler.d Program being profiled is attached as primes.c This is a piece of DTrace script output (on OpenSolaris x86): 1 62906 :profile-100hz 7563566252 1 1 4 0 primes`__moddi3+0xc4 1 62906 :profile-100hz 7573563203 1 1 4 0 primes`__moddi3+0x97 1 62906 :profile-100hz 7592475248 1 1 4 0 primes`__moddi3+0x66 1 62906 :profile-100hz 7602469821 1 1 4 0 primes`is_prime+0x33 primes`main+0x5b primes`_start+0x80 Note those "primes`__moddi3" stacks, which consist of only one stack frame. Where are "primes`is_prime" and "primes`main"? BTW, changing "long long" to "long" fixes the problem. But still it's not clear why ustack() reports __moddi3 alone. -- This message posted from opensolaris.org
sampler.d
Description: Binary data
primes.c
Description: Binary data
_______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org