[patch] PR 31937 libffi soft-float support for linux-ppc-32

Andreas Tobler toa@pop.agri.ch
Fri Nov 30 20:04:00 GMT 2007

Hello all,

hopefully the last iteration.

This patch was tested by Janis Johnson on ppc64 to make sure I did not 
break anything there. Tested here locally on native 32-bit ppc with and 
w/o soft float support and last on a ppc-405 cross environment.
Libffi ok, and libjava as well.

Pat Haugen guided me through the branch prediction forest.

Thanks to Janis and Pat!

Is this patch ok for trunk?


2007-11-30  Andreas Tobler  <a.tobler@schweiz.org>

	PR libffi/31937
	* src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
	Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
	* src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
	set the NUM_FPR_ARG_REGISTERS according to.
	Add support for potential soft-float support under hard-float
	(ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
	FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
	(ffi_prep_cif_machdep): Likewise.
	(ffi_closure_helper_SYSV): Likewise.
	* src/powerpc/ppc_closure.S: Make sure not to store float/double
	on archs where __NO_FPRS__ is true.
	Add FFI_TYPE_UINT128 support.
	* src/powerpc/sysv.S: Add support for soft-float long-double-128.
	Adjust copyright notice.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sfld-20071130-1.diff
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20071130/dbe017bf/attachment.ksh>

More information about the Java-patches mailing list