I’ve ended up implementing my own stack unwinder based on the SP register which 
is delivered via signal handler.
Here is the info I have used:
http://www.sivachandran.in/2006/12/backtracing-from-code-in-arm.html

And I’ve hit the same problem: couldn’t get past the signal handler. Than I 
have searched all over the places and found a piece of information about 
CONF_ARM_UNWIND kernel option. I have activated that and everything worked like 
a charm! No debug symbols needed anywhere.
For the entire thing to work, I had to add -fno-omit-frame-pointer to both libc 
and my apps.

Everything works as expected, I have a <1KB text file with the stack trace if 
things are going haywire in production.
I guess that putting that option on kernel and -fno-omit-frame-pointer on apps 
will make libunwind perform as expected as well

Best regards,
Andrei



On Apr 25, 2014, at 5:59, Arun Sharma <[email protected]> wrote:

> On Thu, Apr 24, 2014 at 10:28 AM, Eugen-Andrei Gavriloaie
> <[email protected]> wrote:
> 
>> 
>> What needs to be done to get past libc and further into the stack?
>> 
> 
> I'm not familiar with your platform, but in general, you could compile
> with --enable-debug and run with UNW_DEBUG_LEVEL=n to get additional
> info.
> Things to check: objdump the libc to make sure that it has the unwind
> info (.eh_frame section or .debug_info). Sometimes the debug info is
> packaged separately.
> 
> -Arun


_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to