This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: dwarfless failures on ppc64
On Tue, 2008-05-20 at 15:55 +0530, Srinivasa DS wrote:
> Jim Keniston wrote:
> > On Mon, 2008-05-19 at 18:19 +0530, Ananth N Mavinakayanahalli wrote:
> >> On Mon, May 19, 2008 at 06:02:55PM +0530, Srinivasa DS wrote:
> >>> Attaching results of systemtap-20080517 snapshot on ppc64. I have applied
> >>> one interim fix(present in bug#6429) and executed the tests.
> >> Looks like there are a higher number of errors compared to the earlier
> >> tests... probably new features?
> >>
> > ...
> >>> FAIL: semok/nodwf01.stp
> >>> FAIL: semok/nodwf02.stp
> >>> FAIL: semok/nodwf03.stp
> >> ^^^^^^^^^^
> >> These are probably related to dwarfless
> > ...
> >
> > Yup. Please try the attached patch and see if it fixes the dwarfless
> > failures.
>
> Jim, I applied the patch but still nodwf01.stp and nodwf02.stp fails.
>
> semantic error: no match while resolving probe point
> kernel.function("sys_pipe")
> Pass 2: analysis failed. Try again with more '-v' (verbose) options.
>
> On searching sys_pipe in /proc/kallsyms, I got this.
>
> [root@llm27lp1 src]# grep "sys_pipe" /proc/kallsyms
> c0000000000fc410 W .sys_pipe2
> c0000000000fc490 W .sys_pipe
>
Oy. You see this problem with --kmap, but not with --kelf, right?
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?
Thanks.
Jim