DTrace unable to dump typedef'ed argument

Shrikanth Kamath shrikanth07 at gmail.com
Wed Aug 10 08:21:03 UTC 2011


I found this on a FreeBSD 8.1 box...

%dtrace -l -f rtalloc_fib -v

...
Argument Types
              args[0]: struct route *
              args[1]: (unknown)

The function defined in sys/net/route.c: void rtalloc_fib(struct route
*ro, u_int fibnum)
u_int is typedef unsigned int

I checked the ctfdump for /boot/kernel/kernel and found u_int is a
resolved type.

[14077] FUNC (rtalloc_fib) returns: 29 args: (1335, 5)

Checking the CTF table "5" is found to be a resolved typedef.

<4> INTEGER unsigned int encoding=0x0 offset=0 bits=32
<5> TYPEDEF u_int refers to 4

But since it shows unknown with dtrace -l -f o/p, one cannot directly
use args[1].

Is this a known problem, any fix or workaround?


--
Shrikanth R K


More information about the freebsd-hackers mailing list