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 re PR libffi/21285 (gij fails to handle NullPointerException exception) 2005-05-08 16:23:50 -07:00
arm ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values. 2004-10-27 15:10:22 +00:00
cris Makefile.am: Add CRIS support. 2005-04-18 17:08:58 +00:00
frv ffitarget.h: Remove PPC stuff which does not belong to frv. 2005-02-08 22:10:50 +01:00
ia64 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI. 2005-03-31 01:22:46 +00:00
m32r (FFII_CLOSURES): Set to 0. 2004-10-25 08:55:44 +00:00
m68k commit missing adds. 2003-10-21 21:07:52 +02:00
mips ffitarget.h: Remove obsolete sgidefs.h include. 2005-12-07 14:56:38 +00:00
pa ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3. 2005-07-06 03:37:20 +00:00
powerpc ffitarget.h (enum ffi_abi): Add FFI_LINUX. 2006-03-24 09:45:46 +10:30
s390 ffi.c (ffi_prep_args): Fix C aliasing violation. 2004-07-11 11:45:39 +00:00
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 ffi.c (ffi_prep_closure): Align doubles and 64-bit integers on a 8-byte boundary. 2004-11-22 18:35:16 +00:00
x86 configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test. 2005-08-11 23:18:24 +02:00
debug.c [multiple changes] 2003-10-21 21:01:58 +02:00
ffitest.c configure.in (powerpc64*-*-linux*): Remove. 2003-04-18 14:32:36 +02:00
java_raw_api.c java_raw_api.c (ffi_java_ptrarray_to_raw): Replace FFI_ASSERT(FALSE) with FFI_ASSERT(0). 2003-10-23 22:24:20 +02:00
prep_cif.c Makefile.am: Add CRIS support. 2005-04-18 17:08:58 +00:00
raw_api.c [multiple changes] 2003-10-21 21:01:58 +02:00
types.c types.c (FFI_AGGREGATE_TYPEDEF): Remove. 2004-12-31 14:04:30 -08:00