2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
commit7cf0754c45dea4bceb689cfc920904a7466cec9d
authorandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Dec 2007 21:00:04 +0000 (1 21:00 +0000)
committerandreast <andreast@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Dec 2007 21:00:04 +0000 (1 21:00 +0000)
tree73196b5cf4cff2f63d926463844136cb3c56797e
parent380994a4ba8b7bccff8fbe402cf5f171d434bbe3
2007-12-01  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
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130559 138bc75d-0d04-0410-961f-82ee72b054a4
libffi/ChangeLog
libffi/src/powerpc/ffi.c
libffi/src/powerpc/ffitarget.h
libffi/src/powerpc/ppc_closure.S
libffi/src/powerpc/sysv.S