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
inline unsigned long long ret_ll(void){
return (unsigned long long)(-1);
}
int main( int argc, char* argv[] ){
while( 1 ){
ret_ll();
sleep(1);
}
}
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)
--
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
[email protected]