Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Aug 2011 13:29:06 +0530
From:      Shrikanth Kamath <shrikanth07@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   DTrace unable to dump typedef'ed argument
Message-ID:  <CAEOAkMXqWiO6QZQ8qAxH6ToX%2B2Em9mrTLU6h8Nqa=AUmc_LkYg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAEOAkMXqWiO6QZQ8qAxH6ToX%2B2Em9mrTLU6h8Nqa=AUmc_LkYg>