tap function args:long on x86

Dave Nomura dcnltc@us.ibm.com
Wed Sep 26 04:06:00 GMT 2007


I'm working on an x86 system where in C sizeof(int)==sizeof(long)=4

My understanding is that stap function arguments are all either string or
long.   But I was expecting long to match C's idea of long (32 bits. 

I have a stap function that looks like:
    function init_user(block_step:long, handler:long, init:long)

but if I look in the generated source module code I see
 struct function_init_user_locals {
      int64_t block_step;
      int64_t handler;
      int64_t init;
      /* no return value */

Is this the behavior that I should expect?  stap's long == 64bits on 
both 32bit and 64bit architectures

-- 
Dave Nomura
LTC Linux Power Toolchain



More information about the Systemtap mailing list