diff options
author | Anthony Green <green@moxielogic.com> | 2011-02-13 08:06:39 -0500 |
---|---|---|
committer | Anthony Green <green@moxielogic.com> | 2011-02-13 08:06:39 -0500 |
commit | 1fbf9dc44feea564e84ad7406d17c5d5906ce0e0 (patch) | |
tree | daf736dd9baece9fa2b74ebba77afeb65796423c /src/mips | |
parent | 90af15ef5c1614b76370c4d13954586fabf9e8e3 (diff) | |
download | libffi-1fbf9dc44feea564e84ad7406d17c5d5906ce0e0.tar.gz |
Fix bad_abi test. rc5.
Diffstat (limited to 'src/mips')
-rw-r--r-- | src/mips/ffi.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mips/ffi.c b/src/mips/ffi.c index d714cc9..d5b80d1 100644 --- a/src/mips/ffi.c +++ b/src/mips/ffi.c @@ -1,6 +1,7 @@ /* ----------------------------------------------------------------------- - ffi.c - Copyright (c) 1996, 2007, 2008 Red Hat, Inc. - Copyright (c) 2008 David Daney + ffi.c - Copyright (c) 2011 Anthony Green + Copyright (c) 2008 David Daney + Copyright (c) 1996, 2007, 2008, 2011 Red Hat, Inc. MIPS Foreign Function Interface @@ -662,10 +663,12 @@ ffi_prep_closure_loc (ffi_closure *closure, char *clear_location = (char *) codeloc; #if defined(FFI_MIPS_O32) - FFI_ASSERT(cif->abi == FFI_O32 || cif->abi == FFI_O32_SOFT_FLOAT); + if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT) + return FFI_BAD_ABI; fn = ffi_closure_O32; #else /* FFI_MIPS_N32 */ - FFI_ASSERT(cif->abi == FFI_N32 || cif->abi == FFI_N64); + if (cif->abi != FFI_N32 && cif->abi != FFI_N64) + return FFI_BAD_ABI; fn = ffi_closure_N32; #endif /* FFI_MIPS_O32 */ |