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: Holger Brunck <holger dot brunck at keymile dot com>
- Cc: systemtap at sourceware dot org
- Date: Mon, 17 Jun 2013 19:43:34 +0200
- Subject: Re: print_ubacktrace() and ppc 32
- References: <51BF1C1E dot 7020208 at keymile dot com>
On Mon, 2013-06-17 at 16:24 +0200, Holger Brunck wrote:
> I am using systemtap userspace probes on a 32-Bit powerpc architecture. I do
> crosscompile the probes on a 64-Bit x86 host.
>
> The version I use is:
> Systemtap translator/driver (version 2.3/0.152, non-git sources)
>
> If I use print_ubacktrace() in my stap script it won't compile. I am getting two
> main error messages and I ask myself which one tells me the real reason for the
> error:
>
> backtraces for 32bit programs on 64bit kernels don't work.
Yes, if your powerpc kernel is 64bit, but the user program is 32bit
(same for 32bit user space on x86_64) then you will get that warning
during stap translation time (the stap script should still run, but
won't produce a user backtrace for the 32bit module/library/process).
This is bug: http://sourceware.org/bugzilla/show_bug.cgi?id=10272
"backtraces fail with 32-on-64 executables"
> 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.
Cheers,
Mark