ffi.c: Don't include sys/cachectl.h.

* src/mips/ffi.c: Don't include sys/cachectl.h.
	(ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
	cacheflush().

From-SVN: r126567
This commit is contained in:
David Daney 2007-07-12 02:19:41 +00:00 committed by David Daney
parent 66a82a79ea
commit 433e6a8cf2
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2007-07-11 David Daney <ddaney@avtrex.com>
* src/mips/ffi.c: Don't include sys/cachectl.h.
(ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
cacheflush().
2007-05-18 Aurelien Jarno <aurelien@aurel32.net> 2007-05-18 Aurelien Jarno <aurelien@aurel32.net>
* src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted

View File

@ -27,7 +27,6 @@
#include <ffi_common.h> #include <ffi_common.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/cachectl.h>
#if _MIPS_SIM == _ABIN32 #if _MIPS_SIM == _ABIN32
#define FIX_ARGP \ #define FIX_ARGP \
@ -506,6 +505,7 @@ ffi_prep_closure_loc (ffi_closure *closure,
unsigned int *tramp = (unsigned int *) &closure->tramp[0]; unsigned int *tramp = (unsigned int *) &closure->tramp[0];
unsigned int fn; unsigned int fn;
unsigned int ctx = (unsigned int) codeloc; unsigned int ctx = (unsigned int) codeloc;
char *clear_location = (char *) codeloc;
#if defined(FFI_MIPS_O32) #if defined(FFI_MIPS_O32)
FFI_ASSERT(cif->abi == FFI_O32 || cif->abi == FFI_O32_SOFT_FLOAT); FFI_ASSERT(cif->abi == FFI_O32 || cif->abi == FFI_O32_SOFT_FLOAT);
@ -525,8 +525,7 @@ ffi_prep_closure_loc (ffi_closure *closure,
closure->fun = fun; closure->fun = fun;
closure->user_data = user_data; closure->user_data = user_data;
/* XXX this is available on Linux, but anything else? */ __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
cacheflush (codeloc, FFI_TRAMPOLINE_SIZE, ICACHE);
return FFI_OK; return FFI_OK;
} }