This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]