This is the mail archive of the mailing list for the systemtap project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Eliding side-effect-free expression?

I have a tapscript that contains the following in the begin probe:
function init_qtrace ()
      // pull in all of the tapsets needed for generating qtrace format

qtrace_cpu_init() is defined in an i386/ subdirectory and earlier stap analysis reports:
Searched 'qtrace/*.stp', found 2
Searched 'qtrace/i386/*.stp', found 1

so I think it found the cpuinit.stp script in that defines qtrace_cpu_init() but I get the following message:
Eliding side-effect-free expression identifier 'qtrace_cpu_init' at qtrace/qtrace.stp:1502:2

If I look at the generated C for 'function_init_qtrace' it appears to have removed the call to the tap function qtrace_cpu_init() which is defined as:
function qtrace_cpu_init ()
%{ printk("qtrace_cpu_init called\n");
/* Initialize all structures, addrs and hardware specific to the CPU */
if (!qtrace_cpu_init()) {
printk("Error in initializing cpu data\n");

So, my question is, why did STAP decide that this function qtrace_cpu_init() is side-effect free?

Dave Nomura
LTC Linux Power Toolchain

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]