libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

Matthias Klose
https://buildd.debian.org/status/package.php?p=libffi&suite=experimental

trunk libffi testing from 2018-05-02, up to d3c54cf3a2b2bb2e889173b6a0a959517b42c47f

shows

 - passing all tests on powerpc64-linux-gnu

 - some regressions on x86_64-linux

Running ../../testsuite/libffi.bhaible/bhaible.exp ...
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
-DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
-DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
-DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
-DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
-DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
-DABI_ATTR=__MSABI__ execution test


 - improved results on i686-linux-gnu

Running ../../testsuite/libffi.bhaible/bhaible.exp ...
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=46
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=48
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=49
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=51
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
-DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=60
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=60
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
-DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=61
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=64
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=64
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
-DABI_ATTR=__STDCALL__ execution test
FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=65
-Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
-Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
Reply | Threaded
Open this post in threaded view
|

Re: libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

Anthony Green
These failures are showing up because we're testing the microsoft ABI now.

This looks like a bug in GCC.  It's not returning small structures with
floating point values in the right registers when following the Microsoft
ABI.  I'm going to figure out how to 'xfail' those tests and open a bug
against GCC.   Clang appears to get it right.

AG


On Sat, May 5, 2018 at 9:39 AM, Matthias Klose <[hidden email]> wrote:

> https://buildd.debian.org/status/package.php?p=libffi&suite=experimental
>
> trunk libffi testing from 2018-05-02, up to d3c54cf3a2b2bb2e889173b6a0a959
> 517b42c47f
>
> shows
>
>  - passing all tests on powerpc64-linux-gnu
>
>  - some regressions on x86_64-linux
>
> Running ../../testsuite/libffi.bhaible/bhaible.exp ...
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution
> test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
>
>
>  - improved results on i686-linux-gnu
>
> Running ../../testsuite/libffi.bhaible/bhaible.exp ...
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=46
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=48
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=49
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=51
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
> -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=60
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=60
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
> -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=61
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=64
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=64
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
> -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=65
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__
> execution test
>
Reply | Threaded
Open this post in threaded view
|

Re: libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

H.J. Lu-30
In reply to this post by Matthias Klose
On Sat, May 5, 2018 at 6:39 AM, Matthias Klose <[hidden email]> wrote:

> https://buildd.debian.org/status/package.php?p=libffi&suite=experimental
>
> trunk libffi testing from 2018-05-02, up to d3c54cf3a2b2bb2e889173b6a0a959517b42c47f
>
> shows
>
>  - passing all tests on powerpc64-linux-gnu
>
>  - some regressions on x86_64-linux
>
> Running ../../testsuite/libffi.bhaible/bhaible.exp ...
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-call.c -W -Wall -Wno-psabi -DDGTEST=57
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O0 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_WIN64 -DABI_ATTR=__MSABI__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_WIN64
> -DABI_ATTR=__MSABI__ execution test
>

I also saw these.

>  - improved results on i686-linux-gnu
>
> Running ../../testsuite/libffi.bhaible/bhaible.exp ...
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=46
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=48
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=49
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=51
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=53
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
> -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=60
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=60
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
> -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=61
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=64
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=64
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -O2 -fomit-frame-pointer -DABI_NUM=FFI_STDCALL
> -DABI_ATTR=__STDCALL__ execution test
> FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=65
> -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable
> -Wno-uninitialized -Os -DABI_NUM=FFI_STDCALL -DABI_ATTR=__STDCALL__ execution test

They all pass for me on Fedora 27.

--
H.J.
Reply | Threaded
Open this post in threaded view
|

Re: libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

Kaz Kylheku (libffi)
In reply to this post by Anthony Green
On 2018-05-05 06:51, Anthony Green wrote:
> These failures are showing up because we're testing the microsoft ABI
> now.
>
> This looks like a bug in GCC.  It's not returning small structures with
> floating point values in the right registers when following the
> Microsoft
> ABI.  I'm going to figure out how to 'xfail' those tests and open a bug
> against GCC.   Clang appears to get it right.

When would this be an actual issue?

What function in what Windows DLL returns a structure with
floating-point values, and is that Windows DLL compiled with GCC so that
the return representation is wrong? Cygwin code, maybe?

It the situation broken, or is it consistent? I mean, can a test case be
written for GCC which shows that the structure return is corrupted, when
both the caller and callee are compiled with the same GCC and same ABI?
Or does the calling code match the return conventions?

If things are consistent, then fixing it in GCC requires versioning of
some sort. If someone upgrades GCC to the fix and then recompiles only
the caller of such a function, or only the callee, the now mismatching
call will misbehave.

In a distro, if program P depends on library L, usually we can update P
independently of L. If the compiler used for P has changed, this is no
longer the case; the new P has an ABI change which has to pull in a new
L. (At least, if the ABI change is relevant to P-L; who is going to
check that for all packages?)
Reply | Threaded
Open this post in threaded view
|

Re: libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

Anthony Green
On Sat, May 5, 2018 at 10:36 AM, Kaz Kylheku (libffi) <
[hidden email]> wrote:

> On 2018-05-05 06:51, Anthony Green wrote:
>
>> These failures are showing up because we're testing the microsoft ABI now.
>>
>> This looks like a bug in GCC.  It's not returning small structures with
>> floating point values in the right registers when following the Microsoft
>> ABI.  I'm going to figure out how to 'xfail' those tests and open a bug
>> against GCC.   Clang appears to get it right.
>>
>
> When would this be an actual issue?
>

As far as I know this is the first time this bug has been reported.   I've
filed it here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43869

GCC is internally consistant, but can't generate code that will interface
correctly to binaries built with clang or visual c.

Since nobody has reported this problem before, I'm OK with having libffi
follow the correct ABI as long as the GCC hackers agree to fix this in
future versions of GCC.  Libffi won't work with GCC-compiled ms_abi
functions returning short structs (8 bytes or less) containing floating
point values (a pretty narrow use-case!).  This is why I'll just xfail the
problematic test cases when we know we're using GCC.

AG
Reply | Threaded
Open this post in threaded view
|

Re: libffi trunk: new regressions on x86_64-linux-gnu, some test failures left on i686-linux-gnu

Anthony Green
That was the wrong report.. here's the right one:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85667

AG

On Sat, May 5, 2018 at 9:30 PM, Anthony Green <[hidden email]> wrote:

> On Sat, May 5, 2018 at 10:36 AM, Kaz Kylheku (libffi) <
> [hidden email]> wrote:
>
>> On 2018-05-05 06:51, Anthony Green wrote:
>>
>>> These failures are showing up because we're testing the microsoft ABI
>>> now.
>>>
>>> This looks like a bug in GCC.  It's not returning small structures with
>>> floating point values in the right registers when following the Microsoft
>>> ABI.  I'm going to figure out how to 'xfail' those tests and open a bug
>>> against GCC.   Clang appears to get it right.
>>>
>>
>> When would this be an actual issue?
>>
>
> As far as I know this is the first time this bug has been reported.   I've
> filed it here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43869
>
> GCC is internally consistant, but can't generate code that will interface
> correctly to binaries built with clang or visual c.
>
> Since nobody has reported this problem before, I'm OK with having libffi
> follow the correct ABI as long as the GCC hackers agree to fix this in
> future versions of GCC.  Libffi won't work with GCC-compiled ms_abi
> functions returning short structs (8 bytes or less) containing floating
> point values (a pretty narrow use-case!).  This is why I'll just xfail
> the problematic test cases when we know we're using GCC.
>
> AG
>
>