Commit Graph

5 Commits

Author SHA1 Message Date
Eric Botcazou 0ce78f010d ffi.c (ffi_prep_args_v9): Shift the parameter array when the structure return address is passed in %o0.
* src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
	when the structure return address is passed in %o0.
	(ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
	(ffi_v9_layout_struct): Align the field following a nested structure
	on a word boundary.  Use memmove instead of memcpy.
	(ffi_call): Update call to ffi_V9_return_struct.
	(ffi_prep_closure): Define 'ctx' only for V8.
	(ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
	and ffi_closure_sparc_inner_v9.
	(ffi_closure_sparc_inner_v8): Return long doubles by reference.
	Always skip the structure return address.  For structures and long
	doubles, copy the argument directly.
	(ffi_closure_sparc_inner_v9): Skip the structure return address only
	if required.  Shift the maximum floating-point slot accordingly.  For
	big structures, copy the argument directly; otherwise, left-justify the
	argument and call ffi_v9_layout_struct to lay out the structure on
	the stack.
	* src/sparc/v8.S: Undef STACKFRAME before defining it.
	(ffi_closure_v8): Pass the structure return address.  Update call to
	ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
	Skip the 'unimp' insn when returning long doubles and structures.
	* src/sparc/v9.S: Undef STACKFRAME before defining it.
	(ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
	FFI_TYPE_INT handling.  Load structures both in integers and
	floating-point registers on return.
	* README: Update status of the SPARC port.

From-SVN: r76543
2004-01-25 06:58:33 +00:00
Gerald Pfeifer fc0e6222b1 README: Note that libffi is not part of GCC.
* README: Note that libffi is not part of GCC.  Update the project
	URL and status.

From-SVN: r69250
2003-07-11 22:13:16 +00:00
David Edelsohn 3df3221216 - Add Darwin and AIX to supported platforms.
From-SVN: r50414
2002-03-07 17:11:35 -05:00
Tom Tromey c6cfab3763 README updated for ARM
From-SVN: r33853
2000-05-11 18:20:33 +00:00
Anthony Green 63e5e3e0db Initial revision
From-SVN: r28593
1999-08-08 13:27:18 +00:00