This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]