On Wednesday 25 March 2015 14:54:41 Leon Alrae wrote: > On 25/03/2015 14:44, Leon Alrae wrote: > > Hi Duarte, > > > > On 25/03/2015 14:20, Duarte Silva wrote: > >> On Wednesday 25 March 2015 13:13:14 James Hogan wrote: > >>> Hi Duarte, > >>> > >>> On 22/03/15 11:13, Duarte Silva wrote: > >>>> Hi guys, > >>>> > >>>> I have been struggling to get some binaries compiled for NetLogic XLP > >>>> processor to run under QEMU. I have tried a bunch of things (most going > >>>> back and forth) and always get the following error message: > >>>> > >>>> qemu: uncaught target signal 4 (Illegal instruction) - core dumped > >>>> Illegal instruction > >>>> > >>>> I tried to debug it using GDB but to no avail. Does anybody have ideas? > >>>> I'm > >>>> running QEMU 2.2.1. > >>> > >>> It sounds like the program had an instruction that QEMU doesn't > >>> recognise, or doesn't think should be allowed on the current CPU which > >>> you've set with -cpu. You might be able to find out what that > >>> > >>> instruction is by putting this on your qemu command line: > >>> -singlestep -d in_asm > >> > >> Hi James, > >> > >> thanks for the help :) I have tried with all the CPU's available. None of > >> them worked, so I just leave it as undefined. It seems the offending > >> instruction is "udi4". > >> > >> (...) > >> IN: > >> 0x765d1fa4: udi4 a0,v0,zero,0x0 > > > > According to this line you are trying to use MIPS32 CPU whereas I > > presume you would like MIPS64R2? Please try 5KEf CPU for example which > > is available in qemu-mips64 and qemu-mips64el QEMU binaries for big and > > little endian respectively. > > I just noticed the QEMU version you are using and it doesn't contain > 5KEf and 5KEc CPUs. Please try MIPS64R2-generic. > > Leon
Hi Leon, have a look at the "binary-info.txt" file in the first e-Mail. It does use the ELF magic for 32 bits ELF, not the 64 bits, that's why I get the following: # chroot rootfs/ /usr/local/bin/qemu-mips64 -cpu MIPS64R2-generic /bin/sh /bin/sh: Invalid ELF image for this architecture Is there a way to force the execution of the binary even if the flag doesn't match? Also, if you have a look at the flags you get: noreorder, cpic, 32bitmode, unknown CPU, o32, mips64r2. So, is it 64 bits or 32 bits ELF file? Cheers, Duarte