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 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


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