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: 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


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