 * Add PROT_READ to x86 and x86_64 VM mmap calls[1]

[1] According to OpenBSD's mmap(2):

BUGS
     Due to a limitation of the current vm system (see uvm(9)), mapping
     descriptors PROT_WRITE without also specifying PROT_READ is useless
     (results in a segmentation fault when first accessing the mapping).  This
     means that such descriptors must be opened with O_RDWR, which requires
     both read and write permissions on the underlying object.

Index: code/qcommon/vm_x86_64.c
--- code/qcommon/vm_x86_64.c.orig
+++ code/qcommon/vm_x86_64.c
@@ -85,7 +85,7 @@ static int64_t CROSSCALL callAsmCall(int64_t callProgr
 {
 	vm_t *savedVM;
 	int64_t ret = 0x77;
-	int64_t args[11];
+	intptr_t args[11];
 //	int iargs[11];
 	int i;
 
@@ -445,7 +445,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
 		vm->codeLength = compiledOfs;
 
 		#ifdef VM_X86_64_MMAP
-			vm->codeBase = mmap(NULL, compiledOfs, PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
+			vm->codeBase = mmap(NULL, compiledOfs, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
 			if(vm->codeBase == MAP_FAILED)
 				Com_Error(ERR_FATAL, "VM_CompileX86_64: can't mmap memory");
 		#elif __WIN64__
