qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [4799] Add instruction counter.


From: Robert Reif
Subject: Re: [Qemu-devel] [4799] Add instruction counter.
Date: Thu, 10 Jul 2008 19:04:29 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.15) Gecko/20080620 SeaMonkey/1.1.10

Paul Brook wrote:
Revision: 4799
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4799
Author:   pbrook
Date:     2008-06-29 01:03:05 +0000 (Sun, 29 Jun 2008)

Log Message:
-----------
Add instruction counter.

This patch breaks sparc32 for me.

A bisection shows:

4798   works
4799   doesn't build
4800   doesn't work (crashes with illegal instruction)

running qemu-g in sparc-test produces:

./qemu-g: line 4: 9859 Illegal instruction qemu-system-sparc -kernel vmlinux-2.6.11+tcx -initrd linux.img -append "root=/dev/ram"

running under valgrind produces this:

valgrind --trace-children=yes qemu-system-sparc -kernel vmlinux-2.6.11+tcx -initrd linux.img -append "root=/dev/ram"
==9861== Memcheck, a memory error detector.
==9861== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==9861== Using LibVEX rev 1806, a library for dynamic binary translation.
==9861== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==9861== Using valgrind-3.4.0.SVN, a dynamic binary instrumentation framework.
==9861== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==9861== For more details, rerun with: -v
==9861==
==9861== Warning: set address range perms: large range 144179200 (undefined)
vex x86->IR: unhandled instruction bytes: 0xFF 0xFF 0xFF 0xFF
vex x86->IR: unhandled instruction bytes: 0xFF 0xFF 0xFF 0xFF
==9861== valgrind: Unrecognised instruction at address 0x114BA050.
==9861== Your program just tried to execute an instruction that Valgrind
==9861== did not recognise.  There are two possible reasons for this.
==9861== 1. Your program has a bug and erroneously jumped to a non-code
==9861==    location.  If you are running Memcheck and you just saw a
==9861==    warning about a bad jump, it's probably your program's fault.
==9861== 2. The instruction is legitimate but Valgrind doesn't handle it,
==9861==    i.e. it's Valgrind's fault.  If you think this is the case or
==9861==    you are not sure, please let us know and we'll try to fix it.
==9861== Either way, Valgrind will now raise a SIGILL signal which will
==9861== probably kill your program.
==9861==
==9861== Process terminating with default action of signal 4 (SIGILL)
==9861==  Illegal opcode at address 0x114BA050
==9861==    at 0x114BA050: ???
==9861==

This is on a RedHat 9 system:

uname -a
Linux dell 2.4.20-31.9smp #1 SMP Tue Apr 13 17:40:10 EDT 2004 i686 i686 i386 GNU/Linux

gcc --version
gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)








reply via email to

[Prev in Thread] Current Thread [Next in Thread]