Compilation error when doing user space probe on FC9.

Wenji Huang wenji.huang@oracle.com
Mon Dec 8 02:54:00 GMT 2008


Jim Keniston wrote:
> On Fri, 2008-12-05 at 12:19 +0800, Wenji Huang wrote:
> ...
>> Yes, this error is specific to 2.6.25 Fedora shipment kernel. Works fine
>> on 2.6.28-rc7+latest utrace patch. But got warning on 2.6.27.5-41.fc9 
>> kernel.
>>
>> In file included from 
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes_arch.c:2,
>>                   from 
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes.c:2795,
>>                   from 
>> /usr/local/share/systemtap/runtime/uprobes/uprobes.c:8:
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes_x86.c: In 
>> function ‘handle_riprel_insn':
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes_x86.c:420: 
>> warning: passing argument 2 of ‘constant_test_bit' from incompatible 
>> pointer type
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes_x86.c:420: 
>> warning: passing argument 2 of ‘variable_test_bit' from incompatible 
>> pointer type
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes_x86.c:423: 
>> warning: passing argument 2 of ‘constant_test_bit' from incompatible 
>> pointer type
>> /usr/local/share/systemtap/runtime/uprobes/../uprobes2/uprobes_x86.c:423: 
>> warning: passing argument 2 of ‘variable_test_bit' from incompatible 
>> pointer type
> 
> Yeah, somebody has mucked with the definitions of constant_test_bit()
> and variable_test_bit().  On lines 420 and 423, could you try casting
> twobyte_has_modrm and onebyte_has_modrm, respectively, to (unsigned
> long*)?  If that doesn't work, try casting them to (const unsigned
> long*).
> 
> Thanks.
> Jim
Yes, casting them to (unsigned long*) will erase the warning.

Regards,
Wenji



More information about the Systemtap mailing list