I don't think that's documented. We should probably add that to the wiki's pid provider doc.
Chip > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:dtrace-discuss- > [EMAIL PROTECTED] On Behalf Of Jonathan Adams > Sent: Tuesday, October 14, 2008 2:57 PM > To: Anatoli > Cc: [email protected] > Subject: Re: [dtrace-discuss] printing (long long) arg1 on :::return > > On Tue, Oct 14, 2008 at 10:10:20AM -0700, Anatoli wrote: > > Hi, All > > I have run onto inability to trace (long long) return values - please > > see details below. Is there a way to get it correctly ? > > > Thanks in advance > > > ... > > Here is what I am getting: > > > > # isainfo -b > > 64 > > # dtrace -n "pid`pgrep ret_ll`::ret_ll:return{trace(arg1)}" > > dtrace: description 'pid5633::ret_ll:return' matched 1 probe > > CPU ID FUNCTION:NAME > > 0 47874 ret_ll:return 4294967295 <-- > it is definately not a (long long) > > > > PS: have tried as well: > > # dtrace -n "pid`pgrep ret_ll`::ret_ll:return{printf(\"%lld\", (long > long)arg1)}" > > dtrace: description 'pid13837::ret_ll:return' matched 1 probe > > CPU ID FUNCTION:NAME > > 1 47874 ret_ll:return 4294967295 <-- > more like just (int) > > With 32-bit userland binaries, the pid provider's argn probes are only > 32-bits > wide. The bits are available in arg2; modifying your code: > > % cat > tmpc.c <<\EOF > #include <unistd.h> > > unsigned long long ret_ll(void) > { > return (0x0123456789abcdefULL); > } > > int > main(int argc, char *argv[]) > { > while (1) { > ret_ll(); > sleep(1); > } > } > EOF > % cc -o tmpc tmpc.c > % > > On SPARC: > > #dtrace -qn 'pid$target::ret_ll:return{printf("%08x %08x\n", arg1, > arg2)}' \ > -c ./tmpc > 01234567 89abcdef > 01234567 89abcdef > 01234567 89abcdef > ^C > 89abcdef 01234567 > > # > > On x86: > #dtrace -qn 'pid$target::ret_ll:return{printf("%08x %08x\n", arg1, > arg2)}' -c > ./tmpc-s > 89abcdef 01234567 > 89abcdef 01234567 > ^C > 89abcdef 01234567 > > # > > > So unfortunately, endianness does matter. > > Cheers, > - jonathan > > > _______________________________________________ > dtrace-discuss mailing list > [email protected] _______________________________________________ dtrace-discuss mailing list [email protected]
