This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
libffi and powerpc sys V struct passing problem
- From: Andreas Tobler <toa at pop dot agri dot ch>
- To: Geoff Keating <geoffk at geoffk dot org>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Fri, 10 Jan 2003 19:24:13 +0100
- Subject: libffi and powerpc sys V struct passing problem
Hi,
is this still true?
from the libffi README:
---
EGCS 1.0.1 (and probably other versions of EGCS/GCC) also has a
inconsistency with the SysV ABI: When a procedure is called with many
floating-point arguments, some of them get put on the stack. They are
all supposed to be stored in double-precision format, even if they are
only single-precision, but EGCS stores single-precision arguments as
single-precision anyway. This causes one test to fail (the `many
arguments' test).
---
I run a test in libffi which should test many args.
The ffitest mentions many arg tests failed! This is a gcc bug.
In my test I pass the following:
typedef int (*closure_test_type2)(double, double, double, double,
signed short, double, double, int, double, int, float, int,
float, int, int);
On darwin it works but on ppc linux not. So I wonder if I have a bug in
libffi or if it is this thing mentioned above.
Thanks for clarifications,
Andreas