backwards compability of systemtap

David Smith dsmith@redhat.com
Mon Mar 12 15:33:00 GMT 2007


John Liang wrote:
> HI there,
> 
> It looks array syntax like "foobar["string",1]" is not supported 
> in stap version 0.5.4 which comes with redhat 4 update 3. But it is 
> definitely supported in stap Version 0.5.8 of redhat 4 update 4. 
> 
> I am wondering if there is a way to run the compiled the module/C code
> of version 0.5.8 on redhat 4 update 3. If yes, then it means I can 
> use the most recent features of systemtap to old version of redhat
> releases. 
> 
> When I try this, I got the following message from /var/log/messages:
> 
> Mar 12 09:51:19 perf8 kernel: stap_7948: disagrees about version of symbol
> register_kprobe
> Mar 12 09:51:19 perf8 kernel: stap_7948: Unknown symbol register_kprobe

You've got 2 problems here:

1) Kernel version differences (which is probably what you see above). 
If you take a kernel module compiled against the U4 kernel and try to 
run it against the U3 kernel, you are going to have problems.  It would 
be possible to install the U3 kernel on your U4 system (but not actually 
run the U3 kernel), compile the systemtap module against the U3 kernel, 
then copy it to your U3 system.

But, then you'll come up against:

2) Possible backend differences.  I don't deal much with the backend, 
but there are almost certainly differences between the 0.5.4 and 0.5.8 
versions of staprun.  The question is can the 0.5.4 staprun handle an 
0.5.8 module?  I don't believe we've ever tested this (or have ever made 
any promises that it would/could/should work).  Martin Hunt would know 
more here.

You safest bet would be to compile the 0.5.8 version of systemtap on 
your U3 system.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)



More information about the Systemtap mailing list