From e273317811820976dda632b0893960646d6e1119 Mon Sep 17 00:00:00 2001 From: Valery Ushakov Date: Mon, 4 Jan 2021 03:00:19 +0300 Subject: NetBSD/arm: segflush - use mprotect to add PROT_EXEC ARM has separate read and execute protection bits so after writing out JIT code we need to make it executable. --- emu/NetBSD/segflush-arm.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'emu') diff --git a/emu/NetBSD/segflush-arm.c b/emu/NetBSD/segflush-arm.c index f4529633..a03b438b 100644 --- a/emu/NetBSD/segflush-arm.c +++ b/emu/NetBSD/segflush-arm.c @@ -1,4 +1,5 @@ #include +#include #include #include "dat.h" @@ -9,6 +10,8 @@ segflush(void *a, ulong n) { struct arm_sync_icache_args args; + mprotect(a, (size_t)n, PROT_READ | PROT_WRITE | PROT_EXEC); + args.addr = (uintptr_t)a; args.len = (size_t)n; sysarch(ARM_SYNC_ICACHE, (void *)&args); -- cgit v1.2.3