This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] PR 31937 libffi soft-float support for linux-ppc-32
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Andreas Tobler <toa at pop dot agri dot ch>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 30 Nov 2007 18:25:43 -0500
- Subject: Re: [patch] PR 31937 libffi soft-float support for linux-ppc-32
- References: <47506CB3.2020504@pop.agri.ch>
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
architecture.
(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
to the FFI_LINUX_SOFT_FLOAT ABI.
(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.
This is okay with Jakub's requested change.
Thanks for implementing this!
David