[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FFI vacall fails check.
Geoff Reynolds <email@example.com> writes:
> At the end of the configuration:
> gcc -O -I. -I../../ffcall/vacall -c ../../ffcall/vacall/tests.c
> gcc -O tests.o vacall.o misc.o structcpy.o -o tests
> ./tests > tests.out
> uniq -u < tests.out > tests.output.i386-unknown-linux
> test '!' -s tests.output.i386-unknown-linux
> make: *** [check] Error 1
The calling convention for C functions returning structures of size > 8 bytes
apparently has changed between gcc-2.6.3 and gcc-2.7 (all i386 platforms),
and vacall supports only the old one. Since gcc-2.8 will switch back to
gcc-2.6.3's calling convention, I won't change ffcall/vacall for this.
> However I would like to build with the
> --dynamic-ffi package, to interface with C code.
To do this, you should temporarily remove the X_BcdB test in
ffcall/vacall/tests.c, and retry. Returning structures > 8 bytes by value
will not work, however.