The problem with 'W' entries in nm listings is that some of them refer
to "real" functions and some don't. What I see during a little research
today is... if multiple 'W' entries have the same address, none of them
refer to symbols that stap considers probeable. If it's the only 'W'
entry with that address, stap will probe it. I'm not sure why that is,
but could you check this out on your system? Something like...
awk '$2=="W" {print $3}' /proc/kallsyms > weak.stp
Then edit weak.stp so you have a
kernel.function("funcname") ?,
line for each weak function, with the result of
probe
kernel.function("f1") ?,
kernel.function("f2") ?,
...
kernel.function("fN") ?
{
log(pp())
}
Then do
stap -vv -p2 weak.stp > weak.p2 2>&1
and see which functions get probed.
Maybe send me weak.stp, weak.p2, and a copy of /proc/kallsyms?