On 10/25/2010 03:51 PM, Arun Sharma wrote:
> On Mon, Oct 25, 2010 at 3:16 PM, Zach Welch <[email protected]> wrote:
> 
>>
>> Does anyone know what is causing those failures? Should these be XFAILs
>> or KFAILs? Or do the tests themselves need to be fixed? In other words,
>> has the source of the existing failures been discovered and documented?
>>
> 
> I remember at least a couple of them were XFAILS (due to bad unwind info
> elsewhere). Here are the list of failures on my ubuntu 10.04 box:
> 
> $ grep FAIL: tests.txt
> FAIL: Gtest-dyn1
> FAIL: Ltest-dyn1
> FAIL: test-async-sig
> FAIL: test-setjmp
> FAIL: run-ptrace-misc

In addition to those failures, I also get the following failure on IA32
with my install of gcc-4.4.3:

FAIL: Ltest-nomalloc

Using the latest available Linaro gcc-4.5 compiler on IA32 results in
only four failures, but they are a somewhat different set:

FAIL: test-setjmp
FAIL: test-ptrace
FAIL: Ltest-nomalloc
FAIL: run-ptrace-misc

Based on Lassi's feedback, I now vaguely expect that those may just go
away if I had a system built entirely by gcc-4.5.x.

On ARM Ubuntu Maverick using the same Linaro gcc-4.5, I receive the
following failures:

FAIL: Gtest-exc
FAIL: Ltest-exc
FAIL: Gtest-concurrent
FAIL: Ltest-concurrent
FAIL: Gtest-dyn1
FAIL: Ltest-dyn1
FAIL: test-async-sig
FAIL: test-setjmp
FAIL: test-ptrace
FAIL: Ltest-nomalloc
FAIL: rs-race
FAIL: run-ptrace-mapper
FAIL: run-ptrace-misc

I expect that some of these might be anticipated, due to different
levels of implementation in libunwind for the different architectures. I
have investigated a few of these problems, but I haven't made much
headway other than to familiarize myself with the library and test source.

> I had the number of failures down to 4 at some point. One of the remaining 3
> failures (test-setjmp?) above may be a regression we need to track down.

Maybe try a 'git bisect'? I can try that on ARM as well, though that
will require finding a "good" version.... Regarding test-setjmp, I get
the following assertion failure on x86 (with both 4.4 and 4.5):

test-setjmp: dwarf/Gparser.c:749: apply_reg_state: Assertion
`rs->reg[17].where == DWARF_WHERE_EXPR' failed.

On ARM, that same test ends up calling abort() from _longjmp at
setjmp/longjmp.c, line 52.

Is that useful? I hadn't previously investigated that particular test.

-- 
Zach Welch
CodeSourcery
[email protected]
(650) 331-3385 x743

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

Reply via email to