Use fallback to avoid using PROT_WRITE | PROT_EXEC mappings.

Index: src/codegen/codegen_x86-64.c
--- src/codegen/codegen_x86-64.c.orig
+++ src/codegen/codegen_x86-64.c
@@ -70,7 +70,7 @@ codegen_init(void)
 {
 #    if _WIN64
     codeblock = VirtualAlloc(NULL, BLOCK_SIZE * sizeof(codeblock_t), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
-#    elif defined(__unix__) || defined(__APPLE__) || defined(__HAIKU__)
+#    elif defined(__unix__) && !defined(__OpenBSD__) || defined(__APPLE__) || defined(__HAIKU__)
     codeblock = mmap(NULL, BLOCK_SIZE * sizeof(codeblock_t), PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE, -1, 0);
 #    else
     codeblock = malloc(BLOCK_SIZE * sizeof(codeblock_t));
