mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
66a82a79ea
commit
433e6a8cf2
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue