diff options
author | Andoni Morales Alastruey <ylatuya@gmail.com> | 2013-04-25 17:09:22 +0200 |
---|---|---|
committer | Andoni Morales Alastruey <ylatuya@gmail.com> | 2013-04-25 17:14:32 +0200 |
commit | be0775c2e7e585f82b87bdc258df0b23ebd94398 (patch) | |
tree | 5d1583e06f63b2da21ed1217fda8ac9e293ad936 | |
parent | 8e1d62c2963251189441f39a4db8fd176dfe7863 (diff) |
orc: fix cache flush for iOS
Apple does not provide an implementation of __clear_cache in ARM
but sys_icache_invalidate can be used instead
review-by: Sebastian Dröge
-rw-r--r-- | orc/orcarm.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/orc/orcarm.c b/orc/orcarm.c index d66e55f..3622ac3 100644 --- a/orc/orcarm.c +++ b/orc/orcarm.c @@ -14,6 +14,12 @@ #include <orc/orcarm.h> #include <orc/orcutils.h> +#ifdef HAVE_ARM +#if defined(__APPLE__) +#include <libkern/OSCacheControl.h> +#endif +#endif + /** * SECTION:orcarm * @title: ARM @@ -724,8 +730,12 @@ void orc_arm_flush_cache (OrcCode *code) { #ifdef HAVE_ARM +#ifdef __APPLE__ + sys_icache_invalidate(code->code, code->code_size); +#else __clear_cache (code->code, code->code + code->code_size); #endif +#endif } void |