gcc/libffi/src
Alan Modra 75b8b1becb ffitarget.h (enum ffi_abi): Add FFI_LINUX.
* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
	for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
	FFI_TYPE_LONGDOUBLE.
	(ffi_prep_args64): Assert using IBM extended double.
	(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
	Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
	(ffi_call): Handle FFI_LINUX.
	(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
	gpr3 return pointer as for struct return.  Handle FFI_LINUX
	FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
	unnecessarily.
	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
	for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
	Don't use r6 as pointer to results, instead use sp offset.  Don't
	make a special call to load lr with case table address, instead
	use offset from previous call.
	* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
	* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
	return.

From-SVN: r112340
2006-03-24 09:45:46 +10:30
..
alpha
arm ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values. 2004-10-27 15:10:22 +00:00
cris
frv
ia64
m32r
m68k
mips ffitarget.h: Remove obsolete sgidefs.h include. 2005-12-07 14:56:38 +00:00
pa
powerpc ffitarget.h (enum ffi_abi): Add FFI_LINUX. 2006-03-24 09:45:46 +10:30
s390
sh sysv.S: Fix register numbers in the FDE for ffi_closure_SYSV. 2006-02-22 11:26:05 +00:00
sh64 ffi.c (ffi_prep_cif_machdep): Handle float arguments passed with FP registers correctly. 2006-03-15 11:50:24 +00:00
sparc
x86
debug.c
ffitest.c
java_raw_api.c
prep_cif.c
raw_api.c
types.c