This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: print_ubacktrace() and ppc 32
- From: Mark Wielaard <mjw at redhat dot com>
- To: Lukas Berk <lberk at redhat dot com>
- Cc: Holger Brunck <holger dot brunck at keymile dot com>, systemtap at sourceware dot org
- Date: Mon, 17 Jun 2013 20:05:48 +0200
- Subject: Re: print_ubacktrace() and ppc 32
- References: <51BF1C1E dot 7020208 at keymile dot com> <1371491014 dot 4501 dot 97 dot camel at bordewijk dot wildebeest dot org> <20130617180008 dot GC2219 at redhat dot com>
On Mon, 2013-06-17 at 14:00 -0400, Lukas Berk wrote:
> > On Mon, 2013-06-17 at 16:24 +0200, Holger Brunck wrote:
> > > systemtap-2.3-32645/share/systemtap/runtime/stack.c:85:2: error: #error
> > > "Unsupported architecture"
> >
> > This might be caused by the cross compiling, maybe something got
> > confused about the architecture. You get that when:
> > #ifndef STP_USE_DWARF_UNWINDER
> > powerpc (and x86_64) both should use the DWARF_UNWINDER. So you might
> > want to look at why that doesn't get defined in your case.
>
> Unfortunately I believe this is because we don't actually support
> powerpc32 (only ppc64.h is defined in unwind.h). So while the first
> error you're getting is being worked on (I'm currently working on
> PR10272[1] so hopefully it'll be resloved soon), the second error will
> be the show stopper here.
Yeah thanks. I had completely forgotten I only implemented the DWARF
unwinder for ppc64. Sorry. This was because when I wrote the powerpc
DWARF unwinder (kernel support) I only had access to ppc64 kernels.
So for a ppc32 kernel we do need a new runtime/unwind/ppc32.h
definitions file. It should not be that hard to write based on the
ppc64.h version and the ppc32 DWARF register mappings from
http://refspecs.linuxbase.org/elf/elfspec_ppc.pdf
But note that testing might be needed to see if those really map to
actually used DWARF register numbers generated by the toolchain. As can
be seen in the comments in ppc64.h sometimes mistakes have been made and
theory/spec and practice are not the same :{
Cheers,
Mark