public inbox for libffi-discuss@sourceware.org
 help / color / mirror / Atom feed
* libffi 3.0.10 rc8 test results
@ 2011-04-23 15:51 Matthias Klose
  2011-04-27 10:36 ` Aurelien Jarno
  0 siblings, 1 reply; 2+ messages in thread
From: Matthias Klose @ 2011-04-23 15:51 UTC (permalink / raw)
  To: libffi-discuss; +Cc: debian-mips, debian-s390

Here are some test results for various linux ports, ran on Debian unstable:

builds logs (except for mips) can be found at:
https://buildd.debian.org/status/package.php?p=libffi&suite=experimental

i386 and amd64 look ok.

arm-unknown-linux-gnueabi:
XPASS: libffi.call/cls_longdouble.c -O0 -W -Wall execution test
XPASS: libffi.call/cls_longdouble.c -O2 execution test
XPASS: libffi.call/cls_longdouble.c -O3 execution test
XPASS: libffi.call/cls_longdouble.c -Os execution test
XPASS: libffi.call/cls_longdouble.c -O2 -fomit-frame-pointer execution test
Running 
/build/buildd-libffi_3.0.10~rc8-1-armel-3UaGFl/libffi-3.0.10~rc8/testsuite/libffi.special/special.exp 
...

		=== libffi Summary ===

# of expected passes		1639
# of unexpected successes	5
# of unsupported tests		15

ia64:
		=== libffi Summary ===

# of expected passes		1644
# of unsupported tests		15

kfreebsd-amd64:
		=== libffi Summary ===

# of expected passes		1644
# of unsupported tests		15

kfreebsd-i386:
		=== libffi Summary ===

# of expected passes		1644
# of unsupported tests		15

powerpc:
		=== libffi Summary ===

# of expected passes		1644
# of unsupported tests		15


s390:
Running 
/build/buildd-libffi_3.0.10~rc8-1-s390-mB6C2g/libffi-3.0.10~rc8/testsuite/libffi.call/call.exp 
...
FAIL: libffi.call/err_bad_abi.c -O0 -W -Wall execution test
FAIL: libffi.call/err_bad_abi.c -O2 execution test
FAIL: libffi.call/err_bad_abi.c -O3 execution test
FAIL: libffi.call/err_bad_abi.c -Os execution test
FAIL: libffi.call/err_bad_abi.c -O2 -fomit-frame-pointer execution test
Running 
/build/buildd-libffi_3.0.10~rc8-1-s390-mB6C2g/libffi-3.0.10~rc8/testsuite/libffi.special/special.exp 
...

		=== libffi Summary ===

# of expected passes		1639
# of unexpected failures	5
# of unsupported tests		15

sparc:
		=== libffi Summary ===

# of expected passes		1644
# of unsupported tests		15



mips (mipsel should be the same):

                 === libffi Summary ===

# of expected passes            1644
# of unsupported tests          15

however some test fail for mips64 and the new abi:

with -mabi=64:

FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O0 -W -Wall output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_double_va.c -O2 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O2 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_double_va.c -O3 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O3 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_double_va.c -Os output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -Os output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_double_va.c -O2 -fomit-frame-pointer output pattern test,

is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O2 -fomit-frame-pointer output pattern 
test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
Running /home/doko/tmp/libffi-3.0.10~rc8/testsuite/libffi.special/special.exp ...

                 === libffi Summary ===

# of expected passes            1634
# of unexpected failures        10
# of unsupported tests          15



with -mabi=n32:

FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O0 -W -Wall output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_pointer.c -O0 -W -Wall (test for excess errors)
FAIL: libffi.call/cls_pointer_stack.c -O0 -W -Wall (test for excess errors)
FAIL: libffi.call/cls_double_va.c -O2 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O2 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_pointer.c -O2 (test for excess errors)
FAIL: libffi.call/cls_pointer_stack.c -O2 (test for excess errors)
FAIL: libffi.call/cls_double_va.c -O3 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O3 output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_pointer.c -O3 (test for excess errors)
FAIL: libffi.call/cls_pointer_stack.c -O3 (test for excess errors)
FAIL: libffi.call/cls_double_va.c -Os output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -Os output pattern test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_pointer.c -Os (test for excess errors)
FAIL: libffi.call/cls_pointer_stack.c -Os (test for excess errors)
FAIL: libffi.call/cls_double_va.c -O2 -fomit-frame-pointer output pattern test,
is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_longdouble_va.c -O2 -fomit-frame-pointer output pattern 
test, is 0.0
res: 4
7.0
res: 4
, should match 7.0^M?
res: 4^M?
7.0^M?
res: 4
FAIL: libffi.call/cls_pointer.c -O2 -fomit-frame-pointer (test for excess errors)
FAIL: libffi.call/cls_pointer_stack.c -O2 -fomit-frame-pointer (test for excess 
errors)
Running /home/doko/tmp/libffi-3.0.10~rc8/testsuite/libffi.special/special.exp ...

                 === libffi Summary ===

# of expected passes            1624
# of unexpected failures        20
# of unsupported tests          15

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: libffi 3.0.10 rc8 test results
  2011-04-23 15:51 libffi 3.0.10 rc8 test results Matthias Klose
@ 2011-04-27 10:36 ` Aurelien Jarno
  0 siblings, 0 replies; 2+ messages in thread
From: Aurelien Jarno @ 2011-04-27 10:36 UTC (permalink / raw)
  To: Matthias Klose; +Cc: libffi-discuss, debian-mips

On Sat, Apr 23, 2011 at 05:51:31PM +0200, Matthias Klose wrote:
> Here are some test results for various linux ports, ran on Debian unstable:

[snip]

> mips (mipsel should be the same):
> 
>                 === libffi Summary ===
> 
> # of expected passes            1644
> # of unsupported tests          15
> 
> however some test fail for mips64 and the new abi:
> 
> with -mabi=64:
> 
> FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_longdouble_va.c -O0 -W -Wall output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_double_va.c -O2 output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_longdouble_va.c -O2 output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_double_va.c -O3 output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_longdouble_va.c -O3 output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_double_va.c -Os output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_longdouble_va.c -Os output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_double_va.c -O2 -fomit-frame-pointer output pattern test,
> 
> is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> FAIL: libffi.call/cls_longdouble_va.c -O2 -fomit-frame-pointer
> output pattern test, is 0.0
> res: 4
> 7.0
> res: 4
> , should match 7.0^M?
> res: 4^M?
> 7.0^M?
> res: 4
> Running /home/doko/tmp/libffi-3.0.10~rc8/testsuite/libffi.special/special.exp ...
> 
>                 === libffi Summary ===
> 
> # of expected passes            1634
> # of unexpected failures        10
> # of unsupported tests          15
> 

The problem is actually the same as on ARM with VFP: the n32 and n64 ABI
states that variadic functions passes floating point argument in integer
registers. 

I have seen that some patches have already been proposed to fix this 
issue [1], however given they are too late for 3.0.10, I suggest to
disable theses tests as it is done for ARM VFP. The following pach
should theoretically "fix" the problem, however given the way the tests
are launched in the debian package (through a wrapper gcc command), the
-mabi argument doesn't appear, so the test is not skipped.

--- libffi-3.0.10~rc8.orig/testsuite/libffi.call/cls_double_va.c
+++ libffi-3.0.10~rc8/testsuite/libffi.call/cls_double_va.c
@@ -7,6 +7,7 @@
 /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
 /* { dg-output "" { xfail avr32*-*-* } } */
 /* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
+/* { dg-skip-if "" mips*-*-* { "-mabi=n32" "-mabi=64" } { "" } } */
 
 #include "ffitest.h"
 
--- libffi-3.0.10~rc8.orig/testsuite/libffi.call/cls_longdouble_va.c
+++ libffi-3.0.10~rc8/testsuite/libffi.call/cls_longdouble_va.c
@@ -7,6 +7,7 @@
 /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
 /* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
 /* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
+/* { dg-skip-if "" mips*-*-* { "-mabi=n32" "-mabi=64" } { "" } } */
 
 #include "ffitest.h"


[1] http://sourceware.org/ml/libffi-discuss/2011/msg00103.html

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-04-27 10:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-23 15:51 libffi 3.0.10 rc8 test results Matthias Klose
2011-04-27 10:36 ` Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).