libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] mips implementation libunwind SEGV Faulting


From: Dave Watson
Subject: Re: [Libunwind-devel] mips implementation libunwind SEGV Faulting
Date: Thu, 9 Feb 2017 17:21:10 -0800
User-agent: Mutt/1.6.0 (2016-04-01)

On 02/10/17 01:05 AM, John Knight wrote:
> Hi Dave,
> 
> I finally got a few cycles to work on your suggestions for trying to use 
> libunwind version 1.1 and 1.0.  I have confirmed that libunwind version 1.1 
> also SEGVs when compiled for Mips.  Same as 1.2.
> 
> As for version 1.0, the source does NOT compile... it fails to compile 
> tests/Gperf-simple.c with multiple undefined references to _Umips_getcontext. 
>  I have attached an excerpt from make log file for your review.
> 
> I also have one complaint that covers versions 1.1 and 1.2:
> The file tests/test-coredump-unwind.c fails to compile on our linux system 
> (linux 2.6.36)... the issue is that the test relies on the presence of 
> execinfo.h, and functions backtrace() and backtrace_symbols_fd().  The issue 
> here is that older linux versions do not have execinfo.h, nor do they have 
> backtrace() or backtrace_symbols_fd().  If our version of linux had these, 
> than I would not be looking to implement backtrace() capability with 
> libunwind.  I am not sure I understand why this test uses these, unless to 
> compare the output of libunwind to the output of glibc's backtrace() 
> capability.  At any rate, we can't use this test and we end up patching the 
> libunwind test source, effectively removing the inclusion of execinfo.h and 
> the calls to backtrace() and backtrace_symbols() from the source code just to 
> get it to compile.  It would be VERY NICE if there was a flag that could be 
> set in the Makefile to skip compiling all of the tests.  In our embedded 
> environment, the tests are not useful anyhow.

Git master now has a --disable-tests, but alas it just missed inclusion in 1.2. 
 Next release though.

> At this point, I have pretty much determined that libunwind's mips 
> implementation is perhaps just a work in progress and not debugged and 
> working. This might explain why mips was not listed as a supported 
> architecture in the online documentation; I was kinda afraid of this.  As for 
> me, I really don't know enough of the mips architecture to provide useful 
> help in debugging this, nor do I have much time available for the activity.   
> I can tell you it does not work in your current source base (1.2) and also 
> broken in 1.1.  The fact it doesn't compile in 1.0 is also pretty telling for 
> that release as well.  Perhaps the contributor of the mips code to the 
> libunwind project can help get it to work?  If the issues with it cannot be 
> resolved any time soon, I am afraid I may have to find an alternative way to 
> implement backtrace on mips... not something I look forward to.

I've cc'd a few of the mips committers if they have any suggestions for help.

> Thanks for your suggestions and help with this... I will see if I can gleen 
> any more info from the SEGV fault, but alas, I don't have a lot of hope for 
> this.  I'll see if I can at least determine what function is actually causing 
> the SEGV... beyond this, not sure how much more I can do.

If you do get any more info let us know, I'm out of ideas for now though.  

Thanks!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]