Enabling dwarf unwinder for ppc64

Mark Wielaard mjw@redhat.com
Fri Oct 21 13:35:00 GMT 2011


On Thu, 2011-10-20 at 16:36 +0200, Mark Wielaard wrote:
> +FAIL: usymbols -m64
> +FAIL: unable to compile usymbols_lib.c -m32
> 
> If I install the 32bit devel package the second one does PASS. I think
> the -m64 variant fails because we are extracting the syscall
> argument/user pointer wrongly. Needs investigation.

This too wasn't really powerpc specific. But because of the function
descriptors used with ppc64 it showed an issue with our
vma-tracking/module mapping. We would only track executable segments.
Fixed as follows:

commit b100897fdb986b1338099351e6b60a187572ce47
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Oct 21 13:34:21 2011 +0200

Extend vma_map entry vm_end range when additional segments are mapped.
    
Once registered, we may want to extend an earlier registered region.
A segment might be mapped with different flags for different offsets.
If so we want to record the extended range so we can address more
precisely to module names and symbols.
    
* runtime/task_finder_vma.c (__stp_tf_get_vma_map_entry_end_internal):
  New function.
  (stap_extend_vma_map_info): Likewise.
* runtime/vma.c (_stp_vma_mmap_cb): Call stap_extend_vma_map_info().

And with that, plus installing the 32bit devel packages (libgcc.ppc
glibc-devel.ppc) on the ppc64 system, the testresults really are mostly
comparable against x86_64:

Host: Linux springer.wildebeest.org 2.6.35.14-97.fc14.x86_64 #1 SMP Sat
Sep 17 00:15:37 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Snapshot: version 1.7/0.152 commit release-1.6-340-gb100897
GCC: 4.5.1 [gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)]
Distro: Fedora release 14 (Laughlin)

# of expected passes            3112
# of unexpected failures        37
# of unexpected successes       8
# of expected failures          256
# of untested testcases         62
# of unsupported tests          2

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. Attached is the sum.diff
between the two generated with diff -u x86_64/systemtap.sum
ppc64/systemtap.sum | egrep '^[+-][A-Z]+:\ '

Cheers,

Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sum.diff
Type: text/x-patch
Size: 74152 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/systemtap/attachments/20111021/ee5c51eb/attachment.bin>


More information about the Systemtap mailing list