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 <iain@sandoe.co.uk>

gcc/ChangeLog:

	* config/i386/darwin.h (CLEAR_INSN_CACHE): New.
This commit is contained in:
Iain Sandoe 2020-09-04 14:05:12 +01:00
parent a21e5de421
commit fc3e9f58ec

View File

@ -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)))