summaryrefslogtreecommitdiff
path: root/src/mips
diff options
context:
space:
mode:
authorAnthony Green <green@moxielogic.com>2011-02-13 08:06:39 -0500
committerAnthony Green <green@moxielogic.com>2011-02-13 08:06:39 -0500
commit1fbf9dc44feea564e84ad7406d17c5d5906ce0e0 (patch)
treedaf736dd9baece9fa2b74ebba77afeb65796423c /src/mips
parent90af15ef5c1614b76370c4d13954586fabf9e8e3 (diff)
downloadlibffi-1fbf9dc44feea564e84ad7406d17c5d5906ce0e0.tar.gz
Fix bad_abi test. rc5.
Diffstat (limited to 'src/mips')
-rw-r--r--src/mips/ffi.c11
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 */