probe point "process(PATH).library("/lib64/libc.so.6").function("open") no match ERROR.
Frank Ch. Eigler
fche@redhat.com
Sun Aug 18 00:05:00 GMT 2013
maliubiao wrote:
> I am trying to trace functions in libc .
> Do nm /lib64/libc.so.6 |grep open , actually there is a weak symbol open [...]
There are a couple of separate problems here.
open, aka __open, is a function defined in assembly language (glibc
../sysdeps/unix/syscall-template.S), for which no DWARF debuginfo is
being emitted by glibc's build process. (It should be; they should
use ASFLAGS+=--gdwarf2.) Systemtap cannot properly see these:
http://sourceware.org/bugzilla/show_bug.cgi?id=10208.
We also have a shared-library-PLT based mechanism:
probe process("/lib64/libc.so.6").plt("open") { }
This should resolve. However, due to verification associated with
the prior PR, this gets rejected (and indeed very few .plt("*")
probes resolve for glibc). Stan, can we do something about this?
> Is there a way to trace weak symbol or to find out what symbol do a
> weak symbol actually refer to?
Weak symbols per se are not a big problem. We already handle those
to some extent.
- FChE
More information about the Systemtap
mailing list