[Top][All Lists]

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

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

From: John Knight
Subject: Re: [Libunwind-devel] mips implementation libunwind SEGV Faulting
Date: Fri, 10 Feb 2017 01:05:49 +0000

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.


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.


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.


Best Regards,


John Knight





Senior Software Engineer 

Belkin International 

O +1
949 238 4543
M +1 949 351 1020 



__________________________________________________________________ Confidential This e-mail and any files transmitted with it are the property of Belkin International, Inc. and/or its affiliates, are confidential, and are intended solely for the use of the individual or entity to whom this e-mail is addressed. If you are not one of the named recipients or otherwise have reason to believe that you have received this e-mail in error, please notify the sender and delete this message immediately from your computer. Any other use, retention, dissemination, forwarding, printing or copying of this e-mail is strictly prohibited. Pour la version française: Für die deutsche Übersetzung: __________________________________________________________________

Attachment: libunwind_1.0_compile_errors.txt
Description: libunwind_1.0_compile_errors.txt

reply via email to

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