Indirect functions not being resolved in libraries

Alexander M. Hoole alexander.hoole@ece.uvic.ca
Wed Jul 24 01:55:00 GMT 2013


Hi everyone,

Has anyone tried to put probe points on libraries where the function is
defined in the symbol table as an indirect function?  

For, example:
....
# stap -g -v -e 'probe process("/lib64/libc-2.17.so").function("printf") {
log("TEST") }'
....

Fails with the following message:
....
semantic error: while resolving probe point: identifier 'process' at
<input>:1:7
        source: probe
process("/lib64/libc-2.17.so").function("gettimeofday") { log("TEST") }
                      ^

semantic error: no match
....

According to the symbol table this is an indirect function:
...
# nm /lib64/libc-2.17.so
...
03bbdcad0f0 i gettimeofday
...

I am running some tests on Fedora 19 and have the debug information for the
libraries etc installed. This seems to be a problem with defined indirect
functions.  For example, the following works fine:
...
# stap -g -v -e 'probe process("/lib64/libc-2.17.so").function("printf") {
log("TEST") }'
....
# nm /lib64/libc-2.17.so
...
0000003bbdc51dd0 T printf
...

I'm presently at a loss as to how to resolve this.  Any help would be very
appreciated.

Best regards,
Alex

P.S.: The versions installed are as follows:
Installed Packages
systemtap.x86_64                        2.2.1-1.fc19            @anaconda

systemtap-client.x86_64                 2.2.1-1.fc19            @anaconda

systemtap-devel.x86_64                  2.2.1-1.fc19            @anaconda

systemtap-initscript.x86_64             2.2.1-1.fc19            @fedora

systemtap-runtime.x86_64                2.2.1-1.fc19            @anaconda

systemtap-runtime-java.x86_64           2.2.1-1.fc19            @fedora

systemtap-sdt-devel.x86_64              2.2.1-1.fc19            @anaconda




More information about the Systemtap mailing list