On Thu, Jul 29, 2010 at 3:40 PM, amateur <tianlei.z...@gmail.com> wrote: > Hi, All > > I'm trying to run benchmarks from SPEC CPU2006 compiled for SPARC on > top of qemu-sparc32plus. However, several benchmarks failed to get the > correct result. > > One of the failed benchmarks, 403.gcc, runs for a while and then print > an error message and exit. However, the same compiled gcc binary for > SPARC runs quite well in Simics(a commercial emulator) and give the > correct result. So I think there may be a bug in Qemu. > > Has anyone meet the same kind of problem before? > > I can do some debug, but I have no clue on how to do it. Could anyone > please give me some hint on this? I have read the source code, but > find it really hard to track down guest program miss-behavior problem.
There's '-d in_asm,op,out_asm' but it may not help much. Once I singlestepped a program under GDB, simultaneously both in native host and in QEMU. After each step, both GDBs calculated and displayed a XOR checksum from all registers. I had to do some hacks to make address layout and register values match in QEMU. > BTW, when I use sparc-linux-gdb with qemu-sparc32plus, it connect, but > give the wrong value when print local variables. So, I'm really lost. > Can anyone confirm on this, or I'm doing it the wrong way? You may need to use sparc64-linux-gdb.