On Wed, Sep 01, 2004 at 04:57:51AM +0200, Bochnig, Martin wrote:
(now in its own thread)
Hi,
Now we SPARC-host users are on the horns of a dilemma: QEMU's existing
SPARC support is optimized for SPARCv7 only.
While we are required to build for v9 / SPARC64, the build process gives
tons of errors caused by invalid type definitions/invalid size castings
and doesn't complete.
The whole sources may need to be adjusted (by a real hacker, not me).
I edited Makefile.target, Makefile and configure and tested several
'-mcpu=' and '-m32' vs. '-m64' settings - including '-mcpu=ultrasparc
-m32' which is to produce so called sparcv8plus ELF 32 binaries.
I tried to build statically.
I enabled bigendian and gprof in 'configure'.
The build did NEVER complete with '-mcpu=ultrasparc' - no matter how all
the other variations looked like.
So I could never test or even tune my theoretical %tick code (BTW: The
vl.o object builds fine).
op.o seemed to be broken and dyngen complained and was unable to
generate op.h. :-((
../dyngen -o op.h op.o
dyngen: ret; restore; not found at end of op_setbe_T0_subl
so look at the code generated for op_setbe_T0_subl in op.o,
eg objdump -S op.o.
Chances are that you have forgotten some no-reorder-block or
noomit-fp compiler flags. Or the instructions have been
reordered in some new way by the compiler or some V9 specific
opcode. Just figure out what the compiler does instead of
"ret; restore" and strip off these instructions.
Richard