diff options
| author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-26 18:29:21 +0000 |
|---|---|---|
| committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-26 18:29:21 +0000 |
| commit | 41ae7437ee22acfde7546d26dcf5dac0cb27a16e (patch) | |
| tree | 4a5265d835ee1144faf4e115e30fb311bae8eb86 /libffi/src/mips | |
| parent | dc71ce5ee3e862cca6d69fb7581ec07feb659cc8 (diff) | |
| download | ppe42-gcc-41ae7437ee22acfde7546d26dcf5dac0cb27a16e.tar.gz ppe42-gcc-41ae7437ee22acfde7546d26dcf5dac0cb27a16e.zip | |
2012-08-26 Andrew Pinski <apinski@cavium.com>
PR libffi/53014
* src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
soft-float.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190696 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/src/mips')
| -rw-r--r-- | libffi/src/mips/ffi.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libffi/src/mips/ffi.c b/libffi/src/mips/ffi.c index 79cff9b5304..03121e39222 100644 --- a/libffi/src/mips/ffi.c +++ b/libffi/src/mips/ffi.c @@ -670,9 +670,16 @@ ffi_prep_closure_loc (ffi_closure *closure, if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT) return FFI_BAD_ABI; fn = ffi_closure_O32; -#else /* FFI_MIPS_N32 */ - if (cif->abi != FFI_N32 && cif->abi != FFI_N64) +#else +#if _MIPS_SIM ==_ABIN32 + if (cif->abi != FFI_N32 + && cif->abi != FFI_N32_SOFT_FLOAT) + return FFI_BAD_ABI; +#else + if (cif->abi != FFI_N64 + && cif->abi != FFI_N64_SOFT_FLOAT) return FFI_BAD_ABI; +#endif fn = ffi_closure_N32; #endif /* FFI_MIPS_O32 */ |

