From fc3e9f58ec18154027aadc6aa055490acb8c2920 Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Fri, 4 Sep 2020 14:05:12 +0100 Subject: [PATCH] Darwin, X86 : Implement __cache_clear. We had a NOP cache clear, but there is a suitable mechanism provided by a system call. This connects it up. Signed-off-by: Iain Sandoe gcc/ChangeLog: * config/i386/darwin.h (CLEAR_INSN_CACHE): New. --- gcc/config/i386/darwin.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h index 73b06e2..da0ae5b 100644 --- a/gcc/config/i386/darwin.h +++ b/gcc/config/i386/darwin.h @@ -344,3 +344,8 @@ along with GCC; see the file COPYING3. If not see #undef SUBTARGET_SHADOW_OFFSET #define SUBTARGET_SHADOW_OFFSET \ (TARGET_LP64 ? HOST_WIDE_INT_1 << 44 : HOST_WIDE_INT_1 << 29) + +#undef CLEAR_INSN_CACHE +#define CLEAR_INSN_CACHE(beg, end) \ + extern void sys_icache_invalidate(void *start, size_t len); \ + sys_icache_invalidate ((beg), (size_t)((end)-(beg))) -- 2.7.4