[pypy-issue] Issue #2165: Default branch arm backend translation fails (unknown asm registers) (pypy/pypy)
Pete Vine
issues-reply at bitbucket.org
Mon Oct 19 12:47:42 CEST 2015
New issue 2165: Default branch arm backend translation fails (unknown asm registers)
https://bitbucket.org/pypy/pypy/issues/2165/default-branch-arm-backend-translation
Pete Vine:
Trying to translate the latest default branch of pypy natively on an armv7 linux platform using gcc 4.9.2 and pypy 2.6.1,
`PYPY_GC_MAX_DELTA=200MB pypy --jit loop_longevity=300 ../../rpython/bin/rpython --source -Ojit --jit-backend=arm targetpypystandalone`
fails with:
```
#!python
[platform:execute] gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused -O3 -mcpu=cortex-a5 -I/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/stacklet.c -o /tmp/usession-default-0/rpython/translator/c/src/stacklet/stacklet.o
[a918] translation-task}
[Timer] Timings:
[Timer] annotate --- 1395.2 s
[Timer] ===========================================
[Timer] Total: --- 1395.2 s
[translation:info] Error:
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/goal/translate.py", line 318, in main
[translation:info] drv.proceed(goals)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/driver.py", line 551, in proceed
[translation:info] return self._execute(goals, task_skip = self._maybe_skip())
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/tool/taskengine.py", line 114, in _execute
[translation:info] res = self._do(goal, taskcallable, *args, **kwds)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/driver.py", line 279, in _do
[translation:info] res = func()
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/driver.py", line 316, in task_annotate
[translation:info] s = annotator.build_types(self.entry_point, self.inputtypes)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 86, in build_types
[translation:info] return self.build_graph_types(flowgraph, inputs_s, complete_now=complete_now)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 132, in build_graph_types
[translation:info] self.complete()
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 186, in complete
[translation:info] self.complete_pending_blocks()
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 181, in complete_pending_blocks
[translation:info] self.processblock(graph, block)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 344, in processblock
[translation:info] self.flowin(graph, block)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 415, in flowin
[translation:info] self.consider_op(op)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/annrpython.py", line 587, in consider_op
[translation:info] resultcell = op.consider(self)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/flowspace/operation.py", line 104, in consider
[translation:info] return spec(annotator, *self.args)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/flowspace/operation.py", line 204, in specialized
[translation:info] return impl(*[annotator.annotation(x) for x in other_args])
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/unaryop.py", line 882, in getattr
[translation:info] return bookkeeper.pbc_getattr(self, s_attr)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/bookkeeper.py", line 465, in pbc_getattr
[translation:info] return first.s_read_attribute(attr)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/description.py", line 1029, in s_read_attribute
[translation:info] return self.bookkeeper.immutablevalue(value)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/bookkeeper.py", line 286, in immutablevalue
[translation:info] result.dictdef.generalize_value(self.immutablevalue(ev))
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/annotator/bookkeeper.py", line 336, in immutablevalue
[translation:info] x._cleanup_()
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/interpreter/mixedmodule.py", line 129, in _cleanup_
[translation:info] self.getdict(self.space)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/interpreter/mixedmodule.py", line 122, in getdict
[translation:info] w_value = self.get(name)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/interpreter/mixedmodule.py", line 75, in get
[translation:info] w_value = self.getdictvalue(space, name)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/interpreter/mixedmodule.py", line 87, in getdictvalue
[translation:info] return self._load_lazily(space, name)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/interpreter/mixedmodule.py", line 97, in _load_lazily
[translation:info] w_value = loader(space)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/interpreter/mixedmodule.py", line 180, in ifileloader
[translation:info] d[name] = __import__(pkgroot+'.'+name, None, None, [name])
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/pypy/module/_continuation/interp_continuation.py", line 1, in <module>
[translation:info] from rpython.rlib.rstacklet import StackletThread
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/rlib/rstacklet.py", line 2, in <module>
[translation:info] from rpython.rlib import _rffi_stacklet as _c
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/rlib/_rffi_stacklet.py", line 23, in <module>
[translation:info] rffi_platform.verify_eci(eci.convert_sources_to_files())
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/rtyper/tool/rffi_platform.py", line 94, in verify_eci
[translation:info] configure(CConfig)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/rtyper/tool/rffi_platform.py", line 251, in configure
[translation:info] res[key] = value.question(writer.ask_gcc)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/rtyper/tool/rffi_platform.py", line 556, in question
[translation:info] ask_gcc("")
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/rtyper/tool/rffi_platform.py", line 198, in ask_gcc
[translation:info] try_compile_cache([self.path], eci)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/tool/gcc_cache.py", line 68, in try_compile_cache
[translation:info] platform.compile(c_files, eci)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/platform/__init__.py", line 53, in compile
[translation:info] ofiles = self._compile_o_files(cfiles, eci, standalone)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/platform/__init__.py", line 75, in _compile_o_files
[translation:info] ofiles.append(self._compile_c_file(self.cc, cfile, compile_args))
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/platform/posix.py", line 40, in _compile_c_file
[translation:info] cwd=str(cfile.dirpath()))
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/platform/__init__.py", line 139, in _execute_c_compiler
[translation:info] self._handle_error(returncode, stdout, stderr, outname)
[translation:info] File "/home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/platform/__init__.py", line 151, in _handle_error
[translation:info] raise CompilationError(stdout, stderr)
[translation:ERROR] CompilationError: CompilationError(err="""
[translation:ERROR] In file included from /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/slp_platformselect.h:12:0,
[translation:ERROR] from /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/stacklet.c:20:
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h: In function ‘slp_switch’:
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f7’ in ‘asm’
[translation:ERROR] __asm__ volatile (
[translation:ERROR] ^
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f6’ in ‘asm’
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f5’ in ‘asm’
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f4’ in ‘asm’
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f3’ in ‘asm’
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f2’ in ‘asm’
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f1’ in ‘asm’
[translation:ERROR] /home/odroid/Downloads/cache/tmp/pypy-pypy-1c084d4f35cb/rpython/translator/c/src/stacklet/switch_arm_gcc.h:19:3: error: unknown register name ‘f0’ in ‘asm’
[translation:ERROR] """)
[translation:ERROR] Processing block:
[translation:ERROR] block at 128 is a <class 'rpython.flowspace.flowcontext.SpamBlock'>
[translation:ERROR] in (pypy.interpreter.baseobjspace:470)getbuiltinmodule
[translation:ERROR] containing the following operations:
[translation:ERROR] v0 = getattr(self_0, ('builtin_modules'))
[translation:ERROR] w_mod_0 = getitem(v0, name_0)
[translation:ERROR] --end--
```
More information about the pypy-issue
mailing list