Hi, if been working with the windriver Diab c compiler for 32bit ppc for and encountered an incompatibly with the eabi version of the gcc 4.83. When calling functions with more than 8 float arguments the gcc stores the 9th float argument (and so on) as a float where as the diab compiler stores the argument as a double using 8 byte.
I checked the EABI document and it seems to support the way the diab compiler passes the arguments: "Arguments not otherwise handled above [i.e. not passed in registers] are passed in the parameter words of the caller=E2=80=99s stack frame. [...= ] float, long long (where implemented), and double arguments are considered to have 8-byte size and alignment, *with float arguments converted to double representation*. " Does anyone know the reason why the gcc passes the argument as single float= ? Best Regards, -Bernhard