Make the CPython bootstrap W^X compatible.

Index: rpython/jit/backend/x86/detect_feature.py
--- rpython/jit/backend/x86/detect_feature.py.orig
+++ rpython/jit/backend/x86/detect_feature.py
@@ -1,19 +1,21 @@
 import sys
 import struct
 from rpython.rtyper.lltypesystem import lltype, rffi
-from rpython.rlib.rmmap import alloc, free
+from rpython.rlib.rmmap import alloc, alloc_noexec, free, set_pages_executable
 
 CPU_ID_FUNC_PTR = lltype.Ptr(lltype.FuncType([], lltype.Signed))
+CPU_INFO_SZ = 4096
 
 def cpu_info(instr):
-    data = alloc(4096)
+    data = alloc_noexec(CPU_INFO_SZ)
     pos = 0
     for c in instr:
         data[pos] = c
         pos += 1
     fnptr = rffi.cast(CPU_ID_FUNC_PTR, data)
+    set_pages_executable(data, CPU_INFO_SZ)
     code = fnptr()
-    free(data, 4096)
+    free(data, CPU_INFO_SZ)
     return code
 
 def detect_sse2():
