When trying to add libdw support for Powerpc in the Linux perf tool,
I am getting the DWARF error NO_UNWIND.
Following is the rough sequence of calls to libdw are from the perf
tool:
dwfl = dwfl_begin()
dwfl_addrmodule(dwfl, instruction_pointer);
dwfl_attach_state(dwfl, EM_NONE, thread_id, &callbacks, arg);
dwfl_getthread_frames(dwfl, thread_id, frame_callback, arg);
The call to dwfl_getthread_frames() results in the NO_UNWIND error
(Unwinding not supported for this architecture), although the calls
before it seem to succeed.
Looking through elfutils.git source I see that this might be due
to frames_nregs being 0, but I alos see that ppc64_init() sets
frames_nregs to 145 in backends/ppc64_init.c.
I am running Fedora 20 and built the libdw library from sources
with following elfutils.git commit as HEAD:
commit 48827ec6cb2169bad15baf7702f86c4bf2847beb
Author: Mark Wielaard <mjw(a)redhat.com>
Date: Wed Feb 26 17:17:07 2014 +0100
Appreciate any input on how to resolve the NO_UNWIND error on
Powerpc.