This is the mail archive of the
libffi-discuss@sourceware.org
mailing list for the libffi project.
Re: Test Failues with libffi
- From: Anthony Green <green at redhat dot com>
- To: "Brent L. Bates" <blbates at vigyan dot com>
- Cc: libffi-discuss at sourceware dot org
- Date: Mon, 22 Nov 2010 14:52:02 -0500
- Subject: Re: Test Failues with libffi
- References: <11010210844.ZM2328284@vigyan.com>
"Brent L. Bates" <blbates@vigyan.com> writes:
> I'm trying to install the lastest version of libffi (3.0.9) on a SGI
> running IRIX 6.5.22f and the MIPS Pro 7.4.4m compilers. The test report
> says I have 15 `unexpected failures'. 5 tests are run 3 times with different
> compiler optimization options, so I really have only 5 failures.
> One of the failures makes no sense at all. It says the output does not
> match what is expected, but it does match. Here is the output:
>
> Running /usr/local/src/libffi/libffi-3.0.9/testsuite/libffi.call/call.exp ...
> FAIL: libffi.call/cls_dbls_struct.c -O0 output pattern test, is 1.0 2.0
> 1.0 2.0, should match 1.0 2.0?
> 1.0 2.0?
>
> The only thing I can think of is there is some kind of carriage
> return/line feed mismatch as the numbers match.
What about the "?"? Where does that come from?
>
> The next 2 failures I don't know what to make of. Here is their output:
>
> FAIL: libffi.call/cls_double_va.c -O0 output pattern test, is 0.0
> res: 4
> 7.0
> res: 4, should match 7.0?
> res: 4?
> 7.0?
> res: 4
> FAIL: libffi.call/cls_longdouble_va.c -O0 output pattern test, is 0.0
> res: 4
> 7.0
> res: 4, should match 7.0?
> res: 4?
> 7.0?
> res: 4
If you look at those two test cases, what happens when you put the "\n"
at the end of the dg-output string comments instead of the beginning?
>
> The final 2 failures are because the test insists on using the C
> compiler instead of the C++ comiler on C++ source files. Here are the errors:
>
> Running /usr/local/src/libffi/libffi-3.0.9/testsuite/libffi.special/special.exp ...
> FAIL: libffi.special/unwindtest.cc -LANG:std -D__STDC_HOSTED__ -I/usr/local/include -I/usr/local/include/openssl -OPT:Olimit=0 -TARG:processor=r10000:platform=ip28 (test for excess errors)
> WARNING: libffi.special/unwindtest.cc -LANG:std -D__STDC_HOSTED__ -I/usr/local/include -I/usr/local/include/openssl -OPT:Olimit=0 -TARG:processor=r10000:platform=ip28 compilation failed to produce executable
> FAIL: libffi.special/unwindtest_ffi_call.cc -LANG:std -D__STDC_HOSTED__ -I/usr/local/include -I/usr/local/include/openssl -OPT:Olimit=0 -TARG:processor=r10000:platform=ip28 (test for excess errors)
> WARNING: libffi.special/unwindtest_ffi_call.cc -LANG:std
> -D__STDC_HOSTED__ -I/usr/local/include -I/usr/local/include/openssl
> -OPT:Olimit=0 -TARG:processor=r10000:platform=ip28 compilation failed
> to produce executable
Not sure what to do about this. Does SGI's C compiler driver have a
command line option to tell it that we really want to compiler C++, not
C? That would help.
> I had to make changes to 2 files to get rid of some compiler
> errors/warnings. These are the changes:
>
> diff -bwir libffi-3.0.9.org/testsuite/libffi.call/ffitest.h libffi-3.0.9/testsuite/libffi.call/ffitest.h
> 18c18
> < #define CHECK(x) !(x) ? abort() : 0
> ---
>> #define CHECK(x) if( !(x) ) { abort(); }
>
>
> diff -bwir libffi-3.0.9.org/testsuite/libffi.call/nested_struct9.c libffi-3.0.9/testsuite/libffi.call/nested_struct9.c
> 33c33
> < result.y = b2.b + b3.x.b + b4.e;
> ---
>> result.y = (unsigned char)(b2.b + b3.x.b + b4.e);
>
> Any help in resolving these issues would be greatly appreciated. Thanks.
Out of curiosity, what were the errors/warnings?
Thanks!
AG