On Apr 16, 2017, at 9:48 PM, Zhangwen (Esan) wrote:

On Apr 14, 2017, at 12:00 PM, [email protected] wrote:

Message: 1
Date: Fri, 14 Apr 2017 07:31:49 +0000
From: "Zhangwen (Esan)" <[email protected]>
To: "[email protected]" <[email protected]>
Subject: [Qemu-discuss] signal SIGILL, Illegal instruction for "mtc0
        zero, c0_cause"
Message-ID:
        <F2AD730AE2E0D74BAEE20D4C1C6D02BD61D7FF5F@DGGEML504-
MBS.china.huawei.com>
        
Content-Type: text/plain; charset="us-ascii"

Hi,
  When I run a binary with qemu-2.7.1, I found it report a error:
Program received signal SIGILL, Illegal instruction.
  Then I gdb it, the scene is as follows:
(gdb) si

Program received signal SIGILL, Illegal instruction.
_start () at ../newlib-2.2.0/libgloss/mips/crt0.S:92
92              nop
(gdb) disass
Dump of assembler code for function _start:
=> 0x00000040 <+0>:     mtc0    zero,c0_cause
   0x00000044 <+4>:     nop

The binary is compiled with newlib-2.2.0, but it works with
glibc-2.20.
"mtc0" instruction can not be recognized by qemu-2.7.1 or any others? So I have no idea what happened and could anybody explain the reason?

Which machine are you trying to emulate?

Both SUSE Linux Enterprise Server 11 SP3 and Ubuntu 16.04 LTS. Any suggestion?

Those are operating systems. I meant what QEMU are you using: qemu- system-ppc, qemu-system-i386, qemu-system-arm, . . .


Reply via email to