public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mjw@redhat.com>
To: systemtap@sourceware.org
Subject: Enabling dwarf unwinder for ppc64
Date: Fri, 07 Oct 2011 11:22:00 -0000	[thread overview]
Message-ID: <1317986514.3351.26.camel@springer.wildebeest.org> (raw)

Hi,

After a couple of fixes and cleanups to the generic unwinder code I have
finally enabled the dwarf unwinder for ppc64. The final commit (d4bcac)
was actually pretty small. So hopefully this means enabling it for other
arches should not be too much work. In particular it is probably very
close to also work for ppc[32], but I didn't have such a setup. I have
only tested in on a 2.6.32 ppc64 kernel with gcc 4.4.6. If people have
other setups and could test it there that would be highly appreciated.

Also it would be good if someone who actually knows powerpc took a look
at runtime/unwind/ppc64.h to double check it looks somewhat sane. The
debug frame register numbering is somewhat strange (instead of using
dwarf register numbers, it is using gcc internal register numbering...).
I added a comment with a pointer to some discussion about the confusion
this causes. We only track the general integer registers, mq, link and
count. But no floating point, vector, or flag registers. This is mostly
what is available through pt_regs inside the kernel anyway. It seems
this is all we need for kernel unwinding, and I hope it is enough for
user space too, but I haven't studied user space ppc unwind tables too
much yet.

It isn't perfect yet, but good enough to make all context.exp
kernel/cross-module backtrace tests work. For kernel unwinding it seems
good. For user space unwinding there are a couple of issues.
Specifically symbol lookup seems broken. We discussed this some time ago
on this list and this is what I am going to look into next, because that
obscures all other issues (32-on-64 doesn't work and vma-vdso tests
failing).

Cheers,

Mark

             reply	other threads:[~2011-10-07 11:22 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-07 11:22 Mark Wielaard [this message]
2011-10-13 22:21 ` Mark Wielaard
2011-10-20 14:37   ` Mark Wielaard
2011-10-20 18:51     ` Mark Wielaard
2011-10-21 13:35     ` Mark Wielaard
2011-10-21 13:54       ` Mark Wielaard
2011-10-21 15:02         ` Mark Wielaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1317986514.3351.26.camel@springer.wildebeest.org \
    --to=mjw@redhat.com \
    --cc=systemtap@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).