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: print_ubacktrace() and ppc 32


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



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