[pypy-commit] pypy default: fallback to ARMv6 instead of crashing if we cannot detect the architecture at all (i.e running in a qemu-chroot)
bivab
noreply at buildbot.pypy.org
Fri Apr 19 19:38:29 CEST 2013
Author: David Schneider <david.schneider at picle.org>
Branch:
Changeset: r63509:5ce89761d04a
Date: 2013-04-19 19:37 +0200
http://bitbucket.org/pypy/pypy/changeset/5ce89761d04a/
Log: fallback to ARMv6 instead of crashing if we cannot detect the
architecture at all (i.e running in a qemu-chroot)
diff --git a/rpython/jit/backend/arm/detect.py b/rpython/jit/backend/arm/detect.py
--- a/rpython/jit/backend/arm/detect.py
+++ b/rpython/jit/backend/arm/detect.py
@@ -1,7 +1,6 @@
import os
from rpython.translator.tool.cbuild import ExternalCompilationInfo
-from rpython.rlib.clibffi import FFI_DEFAULT_ABI, FFI_SYSV, FFI_VFP
from rpython.rtyper.tool import rffi_platform
from rpython.translator.platform import CompilationError
from rpython.rlib.debug import debug_print, debug_start, debug_stop
@@ -46,9 +45,11 @@
# "Processor : ARMv%d-compatible processor rev 7 (v6l)"
i = buf.find('ARMv')
if i == -1:
- raise ValueError("Unknown Processor entry")
-
- n = int(buf[i + 4])
+ n = 6
+ debug_print("Could not detect architecture version, "
+ "falling back to", "ARMv%d" % n)
+ else:
+ n = int(buf[i + 4])
if n < 6:
raise ValueError("Unsupported ARM architecture version")
diff --git a/rpython/jit/backend/arm/test/test_detect.py b/rpython/jit/backend/arm/test/test_detect.py
--- a/rpython/jit/backend/arm/test/test_detect.py
+++ b/rpython/jit/backend/arm/test/test_detect.py
@@ -3,7 +3,32 @@
from rpython.jit.backend.arm.detect import detect_arch_version
cpuinfo = "Processor : ARMv%d-compatible processor rev 7 (v6l)"""
-
+cpuinfo2 = """processor : 0
+vendor_id : GenuineIntel
+cpu family : 6
+model : 23
+model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
+stepping : 10
+microcode : 0xa07
+cpu MHz : 2997.000
+cache size : 6144 KB
+physical id : 0
+siblings : 2
+core id : 0
+cpu cores : 2
+apicid : 0
+initial apicid : 0
+fpu : yes
+fpu_exception : yes
+cpuid level : 13
+wp : yes
+flags : fpu vme ...
+bogomips : 5993.08
+clflush size : 64
+cache_alignment : 64
+address sizes : 36 bits physical, 48 bits virtual
+power management:
+"""
def write_cpuinfo(info):
filepath = udir.join('get_arch_version')
@@ -20,5 +45,4 @@
assert detect_arch_version(write_cpuinfo(cpuinfo % 8)) == 7
py.test.raises(ValueError,
'detect_arch_version(write_cpuinfo(cpuinfo % 5))')
- py.test.raises(ValueError,
- 'detect_arch_version(write_cpuinfo("Lorem ipsum dolor sit amet, consectetur"))')
+ assert detect_arch_version(write_cpuinfo(cpuinfo2)) == 6
More information about the pypy-commit
mailing list