This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Enabling dwarf unwinder for ppc64
On Fri, 2011-10-21 at 15:54 +0200, Mark Wielaard wrote:
> On Fri, 2011-10-21 at 15:34 +0200, Mark Wielaard wrote:
> > Host: Linux ibm-ps701-01-lp2.rhts.eng.bos.redhat.com
> > 2.6.32-209.el6.ppc64 #1 SMP Wed Oct 12 03:52:18 EDT 2011 ppc64 ppc64
> > ppc64 GNU/Linux
> > Snapshot: version 1.7/0.152 commit release-1.6-340-gb100897
> > GCC: 4.4.6 [gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)]
> > Distro: Red Hat Enterprise Linux Server release 6.2 Beta (Santiago)
> >
> > # of expected passes 2893
> > # of unexpected failures 127
> > # of unexpected successes 9
> > # of expected failures 255
> > # of untested testcases 65
> > # of unsupported tests 6
> >
> > About 100 of the unexpected failures are in the systemtap.unprivileged
> > testsuite, which I haven't investigated yet.
>
> While investigating, I found the following in
> testsuite/systemtap.unprivileged/unprivileged_myproc.exp
>
> # ppc64 needs a more restrictive constraint for the probe args
> if {[regexp "^(x86_64|i.86)$" $::tcl_platform(machine)] == 0} {
> set exeflags "$exeflags additional_flags=-DSTAP_SDT_ARG_CONSTRAINT=nr"
> }
>
> But (removing) that doesn't seem to change any of the results it seems.
> What is that used for?
I still haven't figured out what that is for, so I just left it in for
now. The actual issue was more mundane. On powerpc function symbols
start with a '.', so the address extraction in those testcases failed.
Fixed as follows:
commit 50c8dc801a8fd22a3f6b8fd00e5d29944dfffbab
Author: Mark Wielaard <mjw@redhat.com>
Date: Fri Oct 21 16:49:02 2011 +0200
Extract addr_of for unprivileged_[my]probes.exp once and with
optional dot.
Some architectures prefix function symbols with a '.', so accept an
optional dot prefix. Also extract each symbol only once instead of
for each pass over the list.
With that both x86_64 and ppc64 give the same number of failures for the
systemtap.unprivileged testsuites:
Running /home/mark/src/systemtap/testsuite/systemtap.unprivileged/unprivileged_embedded_C.exp ...
Running /home/mark/src/systemtap/testsuite/systemtap.unprivileged/unprivileged_myproc.exp ...
FAIL: unprivileged myproc: not tested: process(string).library(string).plt
FAIL: unprivileged myproc: not tested: process(string).library(string).plt.statement(number)
FAIL: unprivileged myproc: not tested: process(string).library(string).plt(string)
FAIL: unprivileged myproc: not tested: process(string).library(string).plt(string).statement(number)
FAIL: unprivileged myproc: not tested: process(string).plt
FAIL: unprivileged myproc: not tested: process(string).plt.statement(number)
FAIL: unprivileged myproc: not tested: process(string).plt(string)
FAIL: unprivileged myproc: not tested: process(string).plt(string).statement(number)
Running /home/mark/src/systemtap/testsuite/systemtap.unprivileged/unprivileged_probes.exp ...
FAIL: unprivileged probes: not tested: process(string).library(string).plt
FAIL: unprivileged probes: not tested: process(string).library(string).plt.statement(number)
FAIL: unprivileged probes: not tested: process(string).library(string).plt(string)
FAIL: unprivileged probes: not tested: process(string).library(string).plt(string).statement(number)
FAIL: unprivileged probes: not tested: process(string).plt
FAIL: unprivileged probes: not tested: process(string).plt.statement(number)
FAIL: unprivileged probes: not tested: process(string).plt(string)
FAIL: unprivileged probes: not tested: process(string).plt(string).statement(number)
Cheers,
Mark